@pikokr/command.ts 3.2.4-dev.434c22e → 3.2.4-dev.e21af4d
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/command/decorator.d.ts +1 -0
- package/dist/command/decorator.js +2 -1
- package/dist/command/decorator.js.map +1 -1
- package/dist/slashCommand/decorator.d.ts +1 -0
- package/dist/slashCommand/decorator.js +2 -1
- package/dist/slashCommand/decorator.js.map +1 -1
- package/package.json +1 -1
- package/src/command/decorator.ts +2 -1
- package/src/slashCommand/decorator.ts +2 -1
- package/test/modules/test.ts +9 -0
|
@@ -2,6 +2,7 @@ import { Message, PermissionResolvable } from 'discord.js';
|
|
|
2
2
|
declare type CommandOptions = {
|
|
3
3
|
name: string;
|
|
4
4
|
aliases: string[] | ((msg: Message) => string[]);
|
|
5
|
+
optionTypes?: any[];
|
|
5
6
|
};
|
|
6
7
|
export declare const command: (options?: Partial<CommandOptions>) => (target: Object, propertyKey: string) => void;
|
|
7
8
|
export declare const argumentConverter: (type: object, requireParameter?: boolean) => (target: Object, propertyKey: string) => void;
|
|
@@ -10,9 +10,10 @@ const discord_js_1 = require("discord.js");
|
|
|
10
10
|
const error_1 = require("../error");
|
|
11
11
|
const command = (options = {}) => {
|
|
12
12
|
return (target, propertyKey) => {
|
|
13
|
+
var _a;
|
|
13
14
|
utils_1.checkTarget(target);
|
|
14
15
|
let properties = Reflect.getMetadata(constants_1.KCommands, target);
|
|
15
|
-
const params = Reflect.getMetadata('design:paramtypes', target, propertyKey);
|
|
16
|
+
const params = (_a = options.optionTypes) !== null && _a !== void 0 ? _a : Reflect.getMetadata('design:paramtypes', target, propertyKey);
|
|
16
17
|
const optionals = Reflect.getMetadata(constants_1.KOptionals, target, propertyKey) || -1;
|
|
17
18
|
const rest = Reflect.getMetadata(constants_1.KRest, target, propertyKey) || -1;
|
|
18
19
|
const command = new Command_1.Command(Reflect.get(target, propertyKey), params.map((x, i) => ({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decorator.js","sourceRoot":"","sources":["../../src/command/decorator.ts"],"names":[],"mappings":";;;AAAA,4CAA0G;AAC1G,uCAAmC;AACnC,oCAAsC;AACtC,2DAA+E;AAE/E,mCAA8C;AAC9C,2CAAiG;AACjG,oCAA6I;
|
|
1
|
+
{"version":3,"file":"decorator.js","sourceRoot":"","sources":["../../src/command/decorator.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,7 @@ import { Snowflake } from 'discord.js';
|
|
|
2
2
|
import { SlashCommandBuilder } from '@discordjs/builders';
|
|
3
3
|
declare type SlashOptions = {
|
|
4
4
|
guild: Snowflake | Snowflake[];
|
|
5
|
+
optionTypes?: any[];
|
|
5
6
|
};
|
|
6
7
|
export declare const slashCommand: (opt: Partial<SlashOptions> & {
|
|
7
8
|
command: SlashCommandBuilder | Omit<SlashCommandBuilder, 'addSubcommand' | 'addSubcommandGroup'>;
|
|
@@ -7,9 +7,10 @@ const constants_1 = require("../constants");
|
|
|
7
7
|
const SlashCommand_1 = require("./SlashCommand");
|
|
8
8
|
const slashCommand = (opt) => {
|
|
9
9
|
return (target, propertyKey) => {
|
|
10
|
+
var _a;
|
|
10
11
|
utils_1.checkTarget(target);
|
|
11
12
|
let properties = Reflect.getMetadata(constants_1.KSlashCommands, target);
|
|
12
|
-
const params = Reflect.getMetadata('design:paramtypes', target, propertyKey);
|
|
13
|
+
const params = (_a = opt.optionTypes) !== null && _a !== void 0 ? _a : Reflect.getMetadata('design:paramtypes', target, propertyKey);
|
|
13
14
|
const options = Reflect.getMetadata(constants_1.KSlashCommandOptions, target, propertyKey) || new discord_js_1.Collection();
|
|
14
15
|
const command = new SlashCommand_1.SlashCommand(opt.command, Reflect.get(target, propertyKey), target, params.map((x, i) => ({
|
|
15
16
|
type: x,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decorator.js","sourceRoot":"","sources":["../../src/slashCommand/decorator.ts"],"names":[],"mappings":";;;AAAA,2CAAkD;AAClD,oCAAsC;AACtC,4CAAmE;AAEnE,iDAA6C;
|
|
1
|
+
{"version":3,"file":"decorator.js","sourceRoot":"","sources":["../../src/slashCommand/decorator.ts"],"names":[],"mappings":";;;AAAA,2CAAkD;AAClD,oCAAsC;AACtC,4CAAmE;AAEnE,iDAA6C;AAQtC,MAAM,YAAY,GAAG,CAAC,GAAiI,EAAE,EAAE;IAChK,OAAO,CACL,MAAc,EACd,WAAmB,EAEnB,EAAE;;QACF,mBAAW,CAAC,MAAM,CAAC,CAAA;QAEnB,IAAI,UAAU,GAAmB,OAAO,CAAC,WAAW,CAAC,0BAAc,EAAE,MAAM,CAAC,CAAA;QAE5E,MAAM,MAAM,GAAU,MAAA,GAAG,CAAC,WAAW,mCAAI,OAAO,CAAC,WAAW,CAAC,mBAAmB,EAAE,MAAM,EAAE,WAAW,CAAC,CAAA;QAEtG,MAAM,OAAO,GAA+B,OAAO,CAAC,WAAW,CAAC,gCAAoB,EAAE,MAAM,EAAE,WAAW,CAAC,IAAI,IAAI,uBAAU,EAAkB,CAAA;QAE9I,MAAM,OAAO,GAAG,IAAI,2BAAY,CAC9B,GAAG,CAAC,OAAO,EACX,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,EAChC,MAAgB,EAChB,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;YACpB,IAAI,EAAE,CAAC;YACP,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;SACrB,CAAC,CAAC,EACH,GAAG,CAAC,KAAK,EACT,WAAW,CACZ,CAAA;QAED,IAAI,UAAU,EAAE;YACd,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;SACzB;aAAM;YACL,UAAU,GAAG,CAAC,OAAO,CAAC,CAAA;YACtB,OAAO,CAAC,cAAc,CAAC,0BAAc,EAAE,UAAU,EAAE,MAAM,CAAC,CAAA;SAC3D;IACH,CAAC,CAAA;AACH,CAAC,CAAA;AAjCY,QAAA,YAAY,gBAiCxB;AAEM,MAAM,MAAM,GAAG,CAAC,GAAW,EAAsB,EAAE,CAAC,CAAC,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,EAAE;IACjG,mBAAW,CAAC,MAAM,CAAC,CAAA;IAEnB,IAAI,UAAU,GAA+B,OAAO,CAAC,WAAW,CAAC,gCAAoB,EAAE,MAAM,EAAE,WAAW,CAAC,CAAA;IAE3G,IAAI,CAAC,UAAU,EAAE;QACf,UAAU,GAAG,IAAI,uBAAU,EAAkB,CAAA;QAC7C,OAAO,CAAC,cAAc,CAAC,gCAAoB,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,CAAC,CAAA;KAC9E;IAED,UAAU,CAAC,GAAG,CAAC,cAAc,EAAE,GAAG,CAAC,CAAA;AACrC,CAAC,CAAA;AAXY,QAAA,MAAM,UAWlB"}
|
package/package.json
CHANGED
package/src/command/decorator.ts
CHANGED
|
@@ -10,6 +10,7 @@ import { ClientPermissionRequired, DMOnlyCommandError, GuildOnlyCommandError, Ow
|
|
|
10
10
|
type CommandOptions = {
|
|
11
11
|
name: string
|
|
12
12
|
aliases: string[] | ((msg: Message) => string[])
|
|
13
|
+
optionTypes?: any[]
|
|
13
14
|
}
|
|
14
15
|
|
|
15
16
|
export const command = (options: Partial<CommandOptions> = {}) => {
|
|
@@ -22,7 +23,7 @@ export const command = (options: Partial<CommandOptions> = {}) => {
|
|
|
22
23
|
|
|
23
24
|
let properties: Command[] = Reflect.getMetadata(KCommands, target)
|
|
24
25
|
|
|
25
|
-
const params: any[] = Reflect.getMetadata('design:paramtypes', target, propertyKey)
|
|
26
|
+
const params: any[] = options.optionTypes ?? Reflect.getMetadata('design:paramtypes', target, propertyKey)
|
|
26
27
|
|
|
27
28
|
const optionals: number = Reflect.getMetadata(KOptionals, target, propertyKey) || -1
|
|
28
29
|
|
|
@@ -7,6 +7,7 @@ import { SlashCommandBuilder } from '@discordjs/builders'
|
|
|
7
7
|
|
|
8
8
|
type SlashOptions = {
|
|
9
9
|
guild: Snowflake | Snowflake[]
|
|
10
|
+
optionTypes?: any[]
|
|
10
11
|
}
|
|
11
12
|
|
|
12
13
|
export const slashCommand = (opt: Partial<SlashOptions> & { command: SlashCommandBuilder | Omit<SlashCommandBuilder, 'addSubcommand' | 'addSubcommandGroup'> }) => {
|
|
@@ -19,7 +20,7 @@ export const slashCommand = (opt: Partial<SlashOptions> & { command: SlashComman
|
|
|
19
20
|
|
|
20
21
|
let properties: SlashCommand[] = Reflect.getMetadata(KSlashCommands, target)
|
|
21
22
|
|
|
22
|
-
const params: any[] = Reflect.getMetadata('design:paramtypes', target, propertyKey)
|
|
23
|
+
const params: any[] = opt.optionTypes ?? Reflect.getMetadata('design:paramtypes', target, propertyKey)
|
|
23
24
|
|
|
24
25
|
const options: Collection<number, string> = Reflect.getMetadata(KSlashCommandOptions, target, propertyKey) || new Collection<number, string>()
|
|
25
26
|
|
package/test/modules/test.ts
CHANGED
|
@@ -52,6 +52,15 @@ class Test extends Module {
|
|
|
52
52
|
msg.reply(asdf)
|
|
53
53
|
}
|
|
54
54
|
|
|
55
|
+
@slashCommand({
|
|
56
|
+
command: new SlashCommandBuilder()
|
|
57
|
+
.setName('sans')
|
|
58
|
+
.setDescription('test')
|
|
59
|
+
.addStringOption((builder) => builder.setName('asdf').setDescription('sans')),
|
|
60
|
+
})
|
|
61
|
+
@coolDown(CoolDownType.USER, 10)
|
|
62
|
+
coolDownSlash(i: CommandInteraction, @option('asdf') asdf: string = 'wa sans') {}
|
|
63
|
+
|
|
55
64
|
@slashCommand({
|
|
56
65
|
command: new SlashCommandBuilder()
|
|
57
66
|
.setName('test')
|