@pikokr/command.ts 3.2.4 → 4.0.0

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.
Files changed (101) hide show
  1. package/dist/applicationCommand/AppCommand.d.ts +18 -0
  2. package/dist/applicationCommand/AppCommand.js +22 -0
  3. package/dist/applicationCommand/AppCommand.js.map +1 -0
  4. package/dist/applicationCommand/decorator.d.ts +10 -0
  5. package/dist/applicationCommand/decorator.js +39 -0
  6. package/dist/applicationCommand/decorator.js.map +1 -0
  7. package/dist/applicationCommand/index.d.ts +2 -0
  8. package/dist/applicationCommand/index.js +15 -0
  9. package/dist/applicationCommand/index.js.map +1 -0
  10. package/dist/builtinModules/BuiltinApplicationCommandConverters.d.ts +8 -0
  11. package/dist/builtinModules/BuiltinApplicationCommandConverters.js +13 -0
  12. package/dist/builtinModules/BuiltinApplicationCommandConverters.js.map +1 -0
  13. package/dist/builtinModules/BuiltinCommandConverters.d.ts +1 -1
  14. package/dist/builtinModules/BuiltinSlashCommandConverters.d.ts +1 -1
  15. package/dist/builtinModules/BuiltinSlashCommandConverters.js.map +1 -1
  16. package/dist/builtinModules/CommandHandler.d.ts +4 -1
  17. package/dist/builtinModules/CommandHandler.js +146 -19
  18. package/dist/builtinModules/CommandHandler.js.map +1 -1
  19. package/dist/builtinModules/index.d.ts +1 -1
  20. package/dist/builtinModules/index.js +1 -1
  21. package/dist/builtinModules/index.js.map +1 -1
  22. package/dist/command/ArgumentConverter.d.ts +3 -3
  23. package/dist/command/ArgumentConverter.js +3 -3
  24. package/dist/command/ArgumentConverter.js.map +1 -1
  25. package/dist/command/Command.d.ts +2 -2
  26. package/dist/command/decorator.d.ts +2 -1
  27. package/dist/command/decorator.js +6 -5
  28. package/dist/command/decorator.js.map +1 -1
  29. package/dist/command/utils.d.ts +2 -2
  30. package/dist/command/utils.js +6 -6
  31. package/dist/command/utils.js.map +1 -1
  32. package/dist/constants.d.ts +3 -2
  33. package/dist/constants.js +4 -3
  34. package/dist/constants.js.map +1 -1
  35. package/dist/error/ArgumentConverterNotFound.d.ts +6 -6
  36. package/dist/error/ArgumentConverterNotFound.js +3 -3
  37. package/dist/error/ArgumentConverterNotFound.js.map +1 -1
  38. package/dist/error/CommandCheckFailed.d.ts +6 -6
  39. package/dist/error/CommandCheckFailed.js +3 -3
  40. package/dist/error/CommandCheckFailed.js.map +1 -1
  41. package/dist/error/checks/SlashCommandGlobalCheckError.d.ts +5 -0
  42. package/dist/error/checks/SlashCommandGlobalCheckError.js +11 -0
  43. package/dist/error/checks/SlashCommandGlobalCheckError.js.map +1 -0
  44. package/dist/index.d.ts +2 -1
  45. package/dist/index.js +2 -1
  46. package/dist/index.js.map +1 -1
  47. package/dist/messageComponents/base.d.ts +10 -0
  48. package/dist/messageComponents/base.js +15 -0
  49. package/dist/messageComponents/base.js.map +1 -0
  50. package/dist/messageComponents/button.d.ts +5 -0
  51. package/dist/messageComponents/button.js +28 -0
  52. package/dist/messageComponents/button.js.map +1 -0
  53. package/dist/messageComponents/index.d.ts +2 -0
  54. package/dist/messageComponents/index.js +15 -0
  55. package/dist/messageComponents/index.js.map +1 -0
  56. package/dist/messageComponents/selectMenu.d.ts +5 -0
  57. package/dist/messageComponents/selectMenu.js +28 -0
  58. package/dist/messageComponents/selectMenu.js.map +1 -0
  59. package/dist/slashCommand/decorator.d.ts +1 -0
  60. package/dist/slashCommand/decorator.js +2 -1
  61. package/dist/slashCommand/decorator.js.map +1 -1
  62. package/dist/structures/CommandClient.d.ts +8 -3
  63. package/dist/structures/CommandClient.js +8 -8
  64. package/dist/structures/CommandClient.js.map +1 -1
  65. package/dist/structures/Module.d.ts +6 -4
  66. package/dist/structures/Module.js +6 -3
  67. package/dist/structures/Module.js.map +1 -1
  68. package/dist/structures/Registry.d.ts +6 -4
  69. package/dist/structures/Registry.js +18 -15
  70. package/dist/structures/Registry.js.map +1 -1
  71. package/dist/typings.d.ts +14 -2
  72. package/package.json +2 -4
  73. package/src/applicationCommand/AppCommand.ts +28 -0
  74. package/src/{slashCommand → applicationCommand}/decorator.ts +10 -10
  75. package/src/applicationCommand/index.ts +2 -0
  76. package/src/builtinModules/BuiltinApplicationCommandConverters.ts +12 -0
  77. package/src/builtinModules/CommandHandler.ts +174 -22
  78. package/src/builtinModules/index.ts +1 -1
  79. package/src/command/ArgumentConverter.ts +3 -3
  80. package/src/command/Command.ts +2 -2
  81. package/src/command/decorator.ts +6 -5
  82. package/src/command/utils.ts +9 -9
  83. package/src/constants.ts +4 -2
  84. package/src/error/ArgumentConverterNotFound.ts +4 -4
  85. package/src/error/CommandCheckFailed.ts +4 -4
  86. package/src/error/checks/SlashCommandGlobalCheckError.ts +7 -0
  87. package/src/index.ts +2 -1
  88. package/src/messageComponents/base.ts +12 -0
  89. package/src/messageComponents/button.ts +26 -0
  90. package/src/messageComponents/index.ts +2 -0
  91. package/src/messageComponents/selectMenu.ts +26 -0
  92. package/src/structures/CommandClient.ts +18 -10
  93. package/src/structures/Module.ts +11 -6
  94. package/src/structures/Registry.ts +25 -19
  95. package/src/typings.ts +14 -2
  96. package/test/index.ts +2 -2
  97. package/test/modules/dev.ts +9 -5
  98. package/test/modules/test.ts +88 -15
  99. package/src/builtinModules/BuiltinSlashCommandConverters.ts +0 -23
  100. package/src/slashCommand/SlashCommand.ts +0 -29
  101. package/src/slashCommand/index.ts +0 -2
@@ -0,0 +1,18 @@
1
+ import { Module } from '../structures';
2
+ import { ApplicationCommandDataResolvable, Snowflake } from 'discord.js';
3
+ import { ApplicationCommandCheckFunction } from '../command';
4
+ export declare type AppCommandArgument = {
5
+ type: any;
6
+ name?: string;
7
+ };
8
+ export declare class AppCommand {
9
+ command: ApplicationCommandDataResolvable;
10
+ private run;
11
+ module: Module;
12
+ params: AppCommandArgument[];
13
+ guild: Snowflake | Snowflake[] | undefined;
14
+ private key;
15
+ get checks(): ApplicationCommandCheckFunction[];
16
+ execute(module: Module, args: any[]): any;
17
+ constructor(command: ApplicationCommandDataResolvable, run: Function, module: Module, params: AppCommandArgument[], guild: Snowflake | Snowflake[] | undefined, key: string | symbol);
18
+ }
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AppCommand = void 0;
4
+ const constants_1 = require("../constants");
5
+ class AppCommand {
6
+ constructor(command, run, module, params, guild, key) {
7
+ this.command = command;
8
+ this.run = run;
9
+ this.module = module;
10
+ this.params = params;
11
+ this.guild = guild;
12
+ this.key = key;
13
+ }
14
+ get checks() {
15
+ return Reflect.getMetadata(constants_1.KApplicationCommandChecks, this.module, this.key) || [];
16
+ }
17
+ execute(module, args) {
18
+ return this.run.apply(module, args);
19
+ }
20
+ }
21
+ exports.AppCommand = AppCommand;
22
+ //# sourceMappingURL=AppCommand.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AppCommand.js","sourceRoot":"","sources":["../../src/applicationCommand/AppCommand.ts"],"names":[],"mappings":";;;AAEA,4CAAwD;AAQxD,MAAa,UAAU;IASrB,YACS,OAAyC,EACxC,GAAa,EACd,MAAc,EACd,MAA4B,EAC5B,KAA0C,EACzC,GAAoB;QALrB,YAAO,GAAP,OAAO,CAAkC;QACxC,QAAG,GAAH,GAAG,CAAU;QACd,WAAM,GAAN,MAAM,CAAQ;QACd,WAAM,GAAN,MAAM,CAAsB;QAC5B,UAAK,GAAL,KAAK,CAAqC;QACzC,QAAG,GAAH,GAAG,CAAiB;IAC3B,CAAC;IAfJ,IAAI,MAAM;QACR,OAAO,OAAO,CAAC,WAAW,CAAC,qCAAyB,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAA;IACpF,CAAC;IAED,OAAO,CAAC,MAAc,EAAE,IAAW;QACjC,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IACrC,CAAC;CAUF;AAjBD,gCAiBC"}
@@ -0,0 +1,10 @@
1
+ import { ApplicationCommandDataResolvable, Snowflake } from 'discord.js';
2
+ declare type ApplicationCommandOptions = {
3
+ guild: Snowflake | Snowflake[];
4
+ optionTypes?: any[];
5
+ };
6
+ export declare const applicationCommand: (opt: Partial<ApplicationCommandOptions> & {
7
+ command: ApplicationCommandDataResolvable;
8
+ }) => (target: Object, propertyKey: string) => void;
9
+ export declare const option: (key: string) => ParameterDecorator;
10
+ export {};
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.option = exports.applicationCommand = void 0;
4
+ const discord_js_1 = require("discord.js");
5
+ const utils_1 = require("../utils");
6
+ const constants_1 = require("../constants");
7
+ const AppCommand_1 = require("./AppCommand");
8
+ const applicationCommand = (opt) => {
9
+ return (target, propertyKey) => {
10
+ var _a;
11
+ utils_1.checkTarget(target);
12
+ let properties = Reflect.getMetadata(constants_1.KApplicationCommands, target);
13
+ const params = (_a = opt.optionTypes) !== null && _a !== void 0 ? _a : Reflect.getMetadata('design:paramtypes', target, propertyKey);
14
+ const options = Reflect.getMetadata(constants_1.KSlashCommandOptions, target, propertyKey) || new discord_js_1.Collection();
15
+ const command = new AppCommand_1.AppCommand(opt.command, Reflect.get(target, propertyKey), target, params.map((x, i) => ({
16
+ type: x,
17
+ name: options.get(i),
18
+ })), opt.guild, propertyKey);
19
+ if (properties) {
20
+ properties.push(command);
21
+ }
22
+ else {
23
+ properties = [command];
24
+ Reflect.defineMetadata(constants_1.KApplicationCommands, properties, target);
25
+ }
26
+ };
27
+ };
28
+ exports.applicationCommand = applicationCommand;
29
+ const option = (key) => (target, propertyKey, parameterIndex) => {
30
+ utils_1.checkTarget(target);
31
+ let properties = Reflect.getMetadata(constants_1.KSlashCommandOptions, target, propertyKey);
32
+ if (!properties) {
33
+ properties = new discord_js_1.Collection();
34
+ Reflect.defineMetadata(constants_1.KSlashCommandOptions, properties, target, propertyKey);
35
+ }
36
+ properties.set(parameterIndex, key);
37
+ };
38
+ exports.option = option;
39
+ //# sourceMappingURL=decorator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"decorator.js","sourceRoot":"","sources":["../../src/applicationCommand/decorator.ts"],"names":[],"mappings":";;;AAAA,2CAAoF;AACpF,oCAAsC;AACtC,4CAAyE;AAEzE,6CAAyC;AAOlC,MAAM,kBAAkB,GAAG,CAAC,GAAuF,EAAE,EAAE;IAC5H,OAAO,CACL,MAAc,EACd,WAAmB,EAEnB,EAAE;;QACF,mBAAW,CAAC,MAAM,CAAC,CAAA;QAEnB,IAAI,UAAU,GAAiB,OAAO,CAAC,WAAW,CAAC,gCAAoB,EAAE,MAAM,CAAC,CAAA;QAEhF,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,uBAAU,CAC5B,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,gCAAoB,EAAE,UAAU,EAAE,MAAM,CAAC,CAAA;SACjE;IACH,CAAC,CAAA;AACH,CAAC,CAAA;AAjCY,QAAA,kBAAkB,sBAiC9B;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"}
@@ -0,0 +1,2 @@
1
+ export * from './decorator';
2
+ export * from './AppCommand';
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
+ };
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ __exportStar(require("./decorator"), exports);
14
+ __exportStar(require("./AppCommand"), exports);
15
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/applicationCommand/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,8CAA2B;AAC3B,+CAA4B"}
@@ -0,0 +1,8 @@
1
+ import { BuiltInModule } from './BuiltInModule';
2
+ import { Client } from 'discord.js';
3
+ import { CommandClient } from '../structures';
4
+ export declare class BuiltinApplicationCommandConverters extends BuiltInModule {
5
+ private cts;
6
+ client: Client;
7
+ constructor(cts: CommandClient);
8
+ }
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BuiltinApplicationCommandConverters = void 0;
4
+ const BuiltInModule_1 = require("./BuiltInModule");
5
+ class BuiltinApplicationCommandConverters extends BuiltInModule_1.BuiltInModule {
6
+ constructor(cts) {
7
+ super();
8
+ this.cts = cts;
9
+ this.client = cts.client;
10
+ }
11
+ }
12
+ exports.BuiltinApplicationCommandConverters = BuiltinApplicationCommandConverters;
13
+ //# sourceMappingURL=BuiltinApplicationCommandConverters.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BuiltinApplicationCommandConverters.js","sourceRoot":"","sources":["../../src/builtinModules/BuiltinApplicationCommandConverters.ts"],"names":[],"mappings":";;;AAAA,mDAA+C;AAI/C,MAAa,mCAAoC,SAAQ,6BAAa;IAGpE,YAAoB,GAAkB;QACpC,KAAK,EAAE,CAAA;QADW,QAAG,GAAH,GAAG,CAAe;QAEpC,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAAA;IAC1B,CAAC;CACF;AAPD,kFAOC"}
@@ -5,7 +5,7 @@ export declare class BuiltinCommandConverters extends BuiltInModule {
5
5
  private cts;
6
6
  client: Client;
7
7
  constructor(cts: CommandClient);
8
- message(msg: Message): Message;
8
+ message(msg: Message): Message<boolean>;
9
9
  string(msg: Message, arg: string): string;
10
10
  getUserIDByMention(mention: string): `${bigint}` | undefined;
11
11
  user(msg: Message, value: string): User | null;
@@ -5,6 +5,6 @@ export declare class BuiltinSlashCommandConverters extends BuiltInModule {
5
5
  private cts;
6
6
  client: Client;
7
7
  constructor(cts: CommandClient);
8
- message(interaction: CommandInteraction): CommandInteraction;
8
+ message(interaction: CommandInteraction): CommandInteraction<import("discord.js").CacheType>;
9
9
  optionResolver(interaction: CommandInteraction): CommandInteractionOptionResolver;
10
10
  }
@@ -1 +1 @@
1
- {"version":3,"file":"BuiltinSlashCommandConverters.js","sourceRoot":"","sources":["../../src/builtinModules/BuiltinSlashCommandConverters.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,mDAA+C;AAC/C,wCAAmD;AACnD,2CAAyF;AAGzF,MAAa,6BAA8B,SAAQ,6BAAa;IAG9D,YAAoB,GAAkB;QACpC,KAAK,EAAE,CAAA;QADW,QAAG,GAAH,GAAG,CAAe;QAEpC,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAAA;IAC1B,CAAC;IAGD,OAAO,CAAC,WAA+B;QACrC,OAAO,WAAW,CAAA;IACpB,CAAC;IAGD,cAAc,CAAC,WAA+B;QAC5C,OAAO,WAAW,CAAC,OAAO,CAAA;IAC5B,CAAC;CACF;AARC;IADC,gCAAsB,CAAC,+BAAkB,CAAC;;qCACtB,+BAAkB;;4DAEtC;AAGD;IADC,gCAAsB,CAAC,6CAAgC,CAAC;;qCAC7B,+BAAkB;oCAAG,6CAAgC;mEAEhF;AAhBH,sEAiBC"}
1
+ {"version":3,"file":"BuiltinSlashCommandConverters.js","sourceRoot":"","sources":["../../src/builtinModules/BuiltinSlashCommandConverters.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,mDAA+C;AAC/C,wCAAmD;AACnD,2CAAyF;AAGzF,MAAa,6BAA8B,SAAQ,6BAAa;IAG9D,YAAoB,GAAkB;QACpC,KAAK,EAAE,CAAA;QADW,QAAG,GAAH,GAAG,CAAe;QAEpC,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAAA;IAC1B,CAAC;IAGD,OAAO,CAAC,WAA+B;QACrC,OAAO,WAAW,CAAA;IACpB,CAAC;IAGD,cAAc,CAAC,WAA+B;QAC5C,OAAO,WAAW,CAAC,OAA2C,CAAA;IAChE,CAAC;CACF;AARC;IADC,gCAAsB,CAAC,+BAAkB,CAAC;;qCACtB,+BAAkB;;4DAEtC;AAGD;IADC,gCAAsB,CAAC,6CAAgC,CAAC;;qCAC7B,+BAAkB;oCAAG,6CAAgC;mEAEhF;AAhBH,sEAiBC"}
@@ -7,5 +7,8 @@ export declare class CommandHandler extends BuiltInModule {
7
7
  constructor(registry: Registry);
8
8
  message(msg: Message): Promise<boolean | undefined>;
9
9
  private command;
10
- interaction(i: Interaction): Promise<void>;
10
+ private messageComponent;
11
+ private userContextMenu;
12
+ private messageContextMenu;
13
+ interaction(i: Interaction): Promise<boolean | undefined>;
11
14
  }
@@ -24,12 +24,14 @@ const listener_1 = require("../listener");
24
24
  const discord_js_1 = require("discord.js");
25
25
  const error_1 = require("../error");
26
26
  const CommandNotFound_1 = require("../error/CommandNotFound");
27
+ const SlashCommandGlobalCheckError_1 = require("../error/checks/SlashCommandGlobalCheckError");
27
28
  class CommandHandler extends BuiltInModule_1.BuiltInModule {
28
29
  constructor(registry) {
29
30
  super();
30
31
  this.registry = registry;
31
32
  this.client = registry.client;
32
33
  }
34
+ // region message command handler
33
35
  message(msg) {
34
36
  return __awaiter(this, void 0, void 0, function* () {
35
37
  const error = (error) => this.client.client.emit('commandError', error, msg);
@@ -58,12 +60,15 @@ class CommandHandler extends BuiltInModule_1.BuiltInModule {
58
60
  if (!command)
59
61
  return;
60
62
  let cmd = null;
63
+ const globalAliases = yield this.client.options.command.globalAliases(command, msg);
61
64
  for (const c of this.registry.commands) {
62
- if (c.name === command) {
65
+ const globalAliases2 = yield this.client.options.command.globalAliases(c.name, msg);
66
+ const aliases = typeof c.aliases === 'function' ? yield c.aliases(msg) : c.aliases;
67
+ if ([...aliases, c.name].some((x) => x === command)) {
63
68
  cmd = c;
64
69
  break;
65
70
  }
66
- if ((typeof c.aliases === 'function' ? yield c.aliases(msg) : c.aliases).includes(command)) {
71
+ if (globalAliases.every((x, i) => globalAliases2[i] === x)) {
67
72
  cmd = c;
68
73
  break;
69
74
  }
@@ -130,32 +135,42 @@ class CommandHandler extends BuiltInModule_1.BuiltInModule {
130
135
  }
131
136
  });
132
137
  }
138
+ // endregion
139
+ // region slash command handler
133
140
  command(i) {
134
141
  var _a, _b;
135
142
  return __awaiter(this, void 0, void 0, function* () {
136
- const error = (error) => this.client.client.emit('slashCommandError', error, i);
143
+ const error = (error) => this.client.client.emit('applicationCommandError', error, i);
137
144
  try {
138
- const cmd = this.registry.slashCommands.find((x) => x.commandBuilder.name === i.commandName);
139
- const module = this.registry.modules.find((x) => x.slashCommands.includes(cmd));
145
+ const cmd = this.registry.applicationCommands.find((x) => x.command.type === 'CHAT_INPUT' && x.command.name === i.commandName);
146
+ if (!cmd)
147
+ return;
148
+ const module = this.registry.modules.find((x) => x.applicationCommands.includes(cmd));
140
149
  if (!module)
141
150
  return;
142
151
  const argList = [];
143
- if (!cmd)
144
- return i.reply({
145
- content: 'Unknown command.',
146
- ephemeral: true,
147
- });
148
152
  i.data = {
149
153
  cts: this.client,
150
154
  command: cmd,
151
155
  };
156
+ if (!(yield this.client.options.slashCommands.check(i))) {
157
+ return error(new SlashCommandGlobalCheckError_1.SlashCommandGlobalCheckError(i));
158
+ }
152
159
  for (const check of cmd.checks) {
153
160
  if (!(yield check(i)))
154
- return error(new error_1.SlashCommandCheckFailed(i, cmd));
161
+ return error(new error_1.ApplicationCommandCheckFailed(i, cmd));
155
162
  }
156
163
  for (let j = 0; j < cmd.params.length; j++) {
157
164
  const argType = cmd.params[j];
158
- const converter = this.registry.slashArgumentConverters.find((x) => x.type === argType.type);
165
+ const converter = this.registry.applicationCommandArgumentConverters.find((x) => x.type === argType.type);
166
+ if (argType.type === discord_js_1.CommandInteraction) {
167
+ argList.push(i);
168
+ continue;
169
+ }
170
+ if (argType.type === discord_js_1.CommandInteractionOptionResolver) {
171
+ argList.push(i.options);
172
+ continue;
173
+ }
159
174
  if (argType.name) {
160
175
  switch (argType.type) {
161
176
  case String:
@@ -191,15 +206,107 @@ class CommandHandler extends BuiltInModule_1.BuiltInModule {
191
206
  continue;
192
207
  }
193
208
  if (!converter)
194
- return error(new error_1.SlashArgumentConverterNotFound(argType, i));
209
+ return error(new error_1.ApplicationCommandArgumentConverterNotFound(argType, i));
195
210
  argList.push(yield converter.execute(module, i));
196
211
  }
197
- try {
198
- yield cmd.execute(module, argList);
212
+ yield cmd.execute(module, argList);
213
+ }
214
+ catch (e) {
215
+ return error(e);
216
+ }
217
+ });
218
+ }
219
+ // endregion
220
+ messageComponent(i) {
221
+ return __awaiter(this, void 0, void 0, function* () {
222
+ const error = (e) => this.client.client.emit('messageComponentError', e);
223
+ try {
224
+ const handlers = [];
225
+ for (const handler of this.registry.messageComponentHandlers) {
226
+ if (handler.componentId === handler.componentId && handler.componentType === i.componentType) {
227
+ handlers.push(handler);
228
+ }
199
229
  }
200
- catch (e) {
201
- return error(e);
230
+ for (const handler of handlers) {
231
+ const module = this.registry.modules.find((x) => x.messageComponentHandlers.includes(handler));
232
+ if (!module)
233
+ continue;
234
+ yield handler.run(module, i);
235
+ }
236
+ }
237
+ catch (e) {
238
+ error(e);
239
+ }
240
+ });
241
+ }
242
+ userContextMenu(i) {
243
+ return __awaiter(this, void 0, void 0, function* () {
244
+ const error = (error) => this.client.client.emit('applicationCommandError', error, i);
245
+ try {
246
+ const cmd = this.registry.applicationCommands.find((x) => x.command.type === 'USER' && x.command.name === i.commandName);
247
+ if (!cmd)
248
+ return;
249
+ const module = this.registry.modules.find((x) => x.applicationCommands.includes(cmd));
250
+ if (!module)
251
+ return;
252
+ i.data = {
253
+ cts: this.client,
254
+ command: cmd,
255
+ };
256
+ for (const check of cmd.checks) {
257
+ if (!(yield check(i)))
258
+ return error(new error_1.ApplicationCommandCheckFailed(i, cmd));
259
+ }
260
+ let argList = [];
261
+ for (let j = 0; j < cmd.params.length; j++) {
262
+ const argType = cmd.params[j];
263
+ const converter = this.registry.applicationCommandArgumentConverters.find((x) => x.type === argType.type);
264
+ if (argType.type === discord_js_1.UserContextMenuInteraction) {
265
+ argList.push(i);
266
+ continue;
267
+ }
268
+ if (!converter)
269
+ return error(new error_1.ApplicationCommandArgumentConverterNotFound(argType, i));
270
+ argList.push(yield converter.execute(module, i));
271
+ }
272
+ yield cmd.execute(module, argList);
273
+ }
274
+ catch (e) {
275
+ return error(e);
276
+ }
277
+ });
278
+ }
279
+ messageContextMenu(i) {
280
+ return __awaiter(this, void 0, void 0, function* () {
281
+ const error = (error) => this.client.client.emit('applicationCommandError', error, i);
282
+ try {
283
+ const cmd = this.registry.applicationCommands.find((x) => x.command.type === 'MESSAGE' && x.command.name === i.commandName);
284
+ if (!cmd)
285
+ return;
286
+ const module = this.registry.modules.find((x) => x.applicationCommands.includes(cmd));
287
+ if (!module)
288
+ return;
289
+ i.data = {
290
+ cts: this.client,
291
+ command: cmd,
292
+ };
293
+ for (const check of cmd.checks) {
294
+ if (!(yield check(i)))
295
+ return error(new error_1.ApplicationCommandCheckFailed(i, cmd));
202
296
  }
297
+ let argList = [];
298
+ for (let j = 0; j < cmd.params.length; j++) {
299
+ const argType = cmd.params[j];
300
+ const converter = this.registry.applicationCommandArgumentConverters.find((x) => x.type === argType.type);
301
+ if (argType.type === discord_js_1.MessageContextMenuInteraction) {
302
+ argList.push(i);
303
+ continue;
304
+ }
305
+ if (!converter)
306
+ return error(new error_1.ApplicationCommandArgumentConverterNotFound(argType, i));
307
+ argList.push(yield converter.execute(module, i));
308
+ }
309
+ yield cmd.execute(module, argList);
203
310
  }
204
311
  catch (e) {
205
312
  return error(e);
@@ -208,8 +315,28 @@ class CommandHandler extends BuiltInModule_1.BuiltInModule {
208
315
  }
209
316
  interaction(i) {
210
317
  return __awaiter(this, void 0, void 0, function* () {
211
- if (i.isCommand()) {
212
- yield this.command(i);
318
+ const error = (e) => this.client.client.emit('interactionError', e, i);
319
+ try {
320
+ yield this.client.options.applicationCommands.beforeRunCheck(i);
321
+ if (i.isCommand()) {
322
+ yield this.command(i);
323
+ return;
324
+ }
325
+ if (i.isMessageComponent()) {
326
+ yield this.messageComponent(i);
327
+ return;
328
+ }
329
+ if (i.isMessageContextMenu()) {
330
+ yield this.messageContextMenu(i);
331
+ return;
332
+ }
333
+ if (i.isUserContextMenu()) {
334
+ yield this.userContextMenu(i);
335
+ return;
336
+ }
337
+ }
338
+ catch (e) {
339
+ return error(e);
213
340
  }
214
341
  });
215
342
  }
@@ -1 +1 @@
1
- {"version":3,"file":"CommandHandler.js","sourceRoot":"","sources":["../../src/builtinModules/CommandHandler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CommandHandler.js","sourceRoot":"","sources":["../../src/builtinModules/CommandHandler.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
1
  export * from './CommandHandler';
2
2
  export * from './BuiltinCommandConverters';
3
- export * from './BuiltinSlashCommandConverters';
3
+ export * from './BuiltinApplicationCommandConverters';
@@ -12,5 +12,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
12
12
  Object.defineProperty(exports, "__esModule", { value: true });
13
13
  __exportStar(require("./CommandHandler"), exports);
14
14
  __exportStar(require("./BuiltinCommandConverters"), exports);
15
- __exportStar(require("./BuiltinSlashCommandConverters"), exports);
15
+ __exportStar(require("./BuiltinApplicationCommandConverters"), exports);
16
16
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/builtinModules/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,mDAAgC;AAChC,6DAA0C;AAC1C,kEAA+C"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/builtinModules/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,mDAAgC;AAChC,6DAA0C;AAC1C,wEAAqD"}
@@ -1,5 +1,5 @@
1
1
  import { Module } from '../structures';
2
- import { CommandInteraction, Message } from 'discord.js';
2
+ import { CommandInteraction, ContextMenuInteraction, Message } from 'discord.js';
3
3
  export declare class ArgumentConverter {
4
4
  type: object;
5
5
  private run;
@@ -7,9 +7,9 @@ export declare class ArgumentConverter {
7
7
  execute(module: Module, msg: Message, arg?: string): any;
8
8
  constructor(type: object, run: Function, withoutParameter: boolean);
9
9
  }
10
- export declare class SlashArgumentConverter {
10
+ export declare class ApplicationCommandArgumentConverter {
11
11
  type: object;
12
12
  private run;
13
- execute(module: Module, interaction: CommandInteraction): any;
13
+ execute(module: Module, interaction: CommandInteraction | ContextMenuInteraction): any;
14
14
  constructor(type: object, run: Function);
15
15
  }
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SlashArgumentConverter = exports.ArgumentConverter = void 0;
3
+ exports.ApplicationCommandArgumentConverter = exports.ArgumentConverter = void 0;
4
4
  class ArgumentConverter {
5
5
  constructor(type, run, withoutParameter) {
6
6
  this.type = type;
@@ -12,7 +12,7 @@ class ArgumentConverter {
12
12
  }
13
13
  }
14
14
  exports.ArgumentConverter = ArgumentConverter;
15
- class SlashArgumentConverter {
15
+ class ApplicationCommandArgumentConverter {
16
16
  constructor(type, run) {
17
17
  this.type = type;
18
18
  this.run = run;
@@ -21,5 +21,5 @@ class SlashArgumentConverter {
21
21
  return this.run.apply(module, [interaction]);
22
22
  }
23
23
  }
24
- exports.SlashArgumentConverter = SlashArgumentConverter;
24
+ exports.ApplicationCommandArgumentConverter = ApplicationCommandArgumentConverter;
25
25
  //# sourceMappingURL=ArgumentConverter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ArgumentConverter.js","sourceRoot":"","sources":["../../src/command/ArgumentConverter.ts"],"names":[],"mappings":";;;AAGA,MAAa,iBAAiB;IAK5B,YAAmB,IAAY,EAAU,GAAa,EAAS,gBAAyB;QAArE,SAAI,GAAJ,IAAI,CAAQ;QAAU,QAAG,GAAH,GAAG,CAAU;QAAS,qBAAgB,GAAhB,gBAAgB,CAAS;IAAG,CAAC;IAJ5F,OAAO,CAAC,MAAc,EAAE,GAAY,EAAE,GAAY;QAChD,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAA;IAC3C,CAAC;CAGF;AAND,8CAMC;AAED,MAAa,sBAAsB;IAKjC,YAAmB,IAAY,EAAU,GAAa;QAAnC,SAAI,GAAJ,IAAI,CAAQ;QAAU,QAAG,GAAH,GAAG,CAAU;IAAG,CAAC;IAJ1D,OAAO,CAAC,MAAc,EAAE,WAA+B;QACrD,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,WAAW,CAAC,CAAC,CAAA;IAC9C,CAAC;CAGF;AAND,wDAMC"}
1
+ {"version":3,"file":"ArgumentConverter.js","sourceRoot":"","sources":["../../src/command/ArgumentConverter.ts"],"names":[],"mappings":";;;AAGA,MAAa,iBAAiB;IAK5B,YAAmB,IAAY,EAAU,GAAa,EAAS,gBAAyB;QAArE,SAAI,GAAJ,IAAI,CAAQ;QAAU,QAAG,GAAH,GAAG,CAAU;QAAS,qBAAgB,GAAhB,gBAAgB,CAAS;IAAG,CAAC;IAJ5F,OAAO,CAAC,MAAc,EAAE,GAAY,EAAE,GAAY;QAChD,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAA;IAC3C,CAAC;CAGF;AAND,8CAMC;AAED,MAAa,mCAAmC;IAK9C,YAAmB,IAAY,EAAU,GAAa;QAAnC,SAAI,GAAJ,IAAI,CAAQ;QAAU,QAAG,GAAH,GAAG,CAAU;IAAG,CAAC;IAJ1D,OAAO,CAAC,MAAc,EAAE,WAAwD;QAC9E,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,WAAW,CAAC,CAAC,CAAA;IAC9C,CAAC;CAGF;AAND,kFAMC"}
@@ -1,12 +1,12 @@
1
1
  import { Module } from '../structures';
2
- import { CommandInteraction, Message } from 'discord.js';
2
+ import { CommandInteraction, ContextMenuInteraction, Message, MessageComponentInteraction } from 'discord.js';
3
3
  export declare type Argument = {
4
4
  optional: boolean;
5
5
  type: any;
6
6
  rest: boolean;
7
7
  };
8
8
  export declare type CheckFunction = (msg: Message) => boolean | Promise<boolean>;
9
- export declare type SlashCheckFunction = (i: CommandInteraction) => boolean | Promise<boolean>;
9
+ export declare type ApplicationCommandCheckFunction = (i: CommandInteraction | MessageComponentInteraction | ContextMenuInteraction) => boolean | Promise<boolean>;
10
10
  export declare class Command {
11
11
  private run;
12
12
  argTypes: Argument[];
@@ -2,10 +2,11 @@ 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;
8
- export declare const slashArgumentConverter: (type: object) => (target: Object, propertyKey: string) => void;
9
+ export declare const applicationCommandArgumentConverter: (type: object) => (target: Object, propertyKey: string) => void;
9
10
  export declare const optional: ParameterDecorator;
10
11
  export declare const rest: ParameterDecorator;
11
12
  export declare const ownerOnly: MethodDecorator;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.requireClientPermissions = exports.requireUserPermissions = exports.dmOnly = exports.guildOnly = exports.ownerOnly = exports.rest = exports.optional = exports.slashArgumentConverter = exports.argumentConverter = exports.command = void 0;
3
+ exports.requireClientPermissions = exports.requireUserPermissions = exports.dmOnly = exports.guildOnly = exports.ownerOnly = exports.rest = exports.optional = exports.applicationCommandArgumentConverter = exports.argumentConverter = exports.command = void 0;
4
4
  const constants_1 = require("../constants");
5
5
  const Command_1 = require("./Command");
6
6
  const utils_1 = require("../utils");
@@ -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) => ({
@@ -45,11 +46,11 @@ const argumentConverter = (type, requireParameter = true) => {
45
46
  };
46
47
  };
47
48
  exports.argumentConverter = argumentConverter;
48
- const slashArgumentConverter = (type) => {
49
+ const applicationCommandArgumentConverter = (type) => {
49
50
  return (target, propertyKey) => {
50
51
  utils_1.checkTarget(target);
51
52
  let properties = Reflect.getMetadata(constants_1.KSlashArgumentConverters, target);
52
- const converter = new ArgumentConverter_1.SlashArgumentConverter(type, Reflect.get(target, propertyKey));
53
+ const converter = new ArgumentConverter_1.ApplicationCommandArgumentConverter(type, Reflect.get(target, propertyKey));
53
54
  if (properties) {
54
55
  properties.push(converter);
55
56
  }
@@ -59,7 +60,7 @@ const slashArgumentConverter = (type) => {
59
60
  }
60
61
  };
61
62
  };
62
- exports.slashArgumentConverter = slashArgumentConverter;
63
+ exports.applicationCommandArgumentConverter = applicationCommandArgumentConverter;
63
64
  const optional = (target, propertyKey, parameterIndex) => {
64
65
  utils_1.checkTarget(target);
65
66
  Reflect.defineMetadata(constants_1.KOptionals, parameterIndex, target, propertyKey);