@sapphire/plugin-subcommands 4.0.3-next.fde2ae5.0 → 4.1.0-next.4473a53.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.
@@ -1,15 +1,55 @@
1
- import { Command, type Args, type ChatInputCommand, type MessageCommand, type PieceContext } from '@sapphire/framework';
1
+ import { Command, PreconditionContainerArray, type Args, type ChatInputCommand, type MessageCommand, type PieceContext } from '@sapphire/framework';
2
2
  import type { CacheType, Message } from 'discord.js';
3
3
  import type { SubcommandMappingArray } from './SubcommandMappings';
4
+ /**
5
+ * The class to extends for commands that have subcommands.
6
+ * Specify the subcommands through the {@link Subcommand.Options.subcommands} option.
7
+ *
8
+ * Note that you should not make **all** your commands extend this class, _only_ the ones that have subcommands.
9
+ * The reason for this is that this class implements {@link Command.messageRun} and {@link Command.chatInputRun}
10
+ * which you wouldn't necessarily want to do for commands that don't have subcommands.
11
+ * Furthermore, it also just adds general unnecessary memory overhead.
12
+ */
4
13
  export declare class Subcommand<PreParseReturn extends Args = Args, O extends Subcommand.Options = Subcommand.Options> extends Command<PreParseReturn, O> {
5
14
  #private;
15
+ /**
16
+ * The preconditions to be run for each specified subcommand.
17
+ * @since 4.1.0
18
+ */
19
+ readonly subcommandPreconditions: Map<string, PreconditionContainerArray>;
20
+ /**
21
+ * The parsed subcommand mappings that were provided with the {@link Subcommand.Options.subcommands} option.
22
+ * This is built at construction time and is used to determine which subcommand to run.
23
+ */
6
24
  parsedSubcommandMappings: SubcommandMappingArray;
25
+ /**
26
+ * Whether to use case insensitive subcommands. This is only relevant for message-command styled commands as
27
+ * chat input commands are always lowercase. This can be enabled through `clientOptions.caseInsensitiveCommands`.
28
+ */
7
29
  caseInsensitiveSubcommands: boolean;
8
30
  constructor(context: PieceContext, options: O);
9
31
  onLoad(): void;
32
+ /**
33
+ * Whether this command has message-based subcommands or not
34
+ * @returns `true` if this command has message-based subcommands, otherwise `false`
35
+ */
10
36
  supportsMessageCommands(): boolean;
37
+ /**
38
+ * Whether this command has chat input subcommands or not
39
+ * @returns `true` if this command has chat input subcommands, otherwise `false`
40
+ */
11
41
  supportsChatInputCommands(): this is ChatInputCommand;
42
+ /**
43
+ * The method that is ran when a message-based subcommand is ran.
44
+ *
45
+ * **DO NOT** override this in your implementation of a subcommand!
46
+ */
12
47
  messageRun(message: Message, args: PreParseReturn, context: MessageCommand.RunContext): Promise<void>;
48
+ /**
49
+ * The method that is ran when a chat input based subcommand is ran.
50
+ *
51
+ * **DO NOT** override this in your implementation of a subcommand!
52
+ */
13
53
  chatInputRun(interaction: ChatInputCommand.Interaction, context: ChatInputCommand.RunContext): Promise<void>;
14
54
  }
15
55
  export interface SubcommandOptions extends Command.Options {
@@ -1 +1 @@
1
- {"version":3,"file":"Subcommand.d.ts","sourceRoot":"","sources":["../../src/lib/Subcommand.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAqB,KAAK,IAAI,EAAE,KAAK,gBAAgB,EAAE,KAAK,cAAc,EAAE,KAAK,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAE3I,OAAO,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,KAAK,EAGX,sBAAsB,EAEtB,MAAM,sBAAsB,CAAC;AAQ9B,qBAAa,UAAU,CAAC,cAAc,SAAS,IAAI,GAAG,IAAI,EAAE,CAAC,SAAS,UAAU,CAAC,OAAO,GAAG,UAAU,CAAC,OAAO,CAAE,SAAQ,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC;;IACzI,wBAAwB,EAAE,sBAAsB,CAAC;IACjD,0BAA0B,UAAS;gBAEvB,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC;IAuF7C,MAAM;IAWG,uBAAuB,IAAI,OAAO;IAIlC,yBAAyB,IAAI,IAAI,IAAI,gBAAgB;IAIxD,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,cAAc,CAAC,UAAU;IAwFrF,YAAY,CAAC,WAAW,EAAE,gBAAgB,CAAC,WAAW,EAAE,OAAO,EAAE,gBAAgB,CAAC,UAAU;CAsJzG;AAED,MAAM,WAAW,iBAAkB,SAAQ,OAAO,CAAC,OAAO;IACzD,WAAW,CAAC,EAAE,sBAAsB,CAAC;IACrC;;;;;;;;;OASG;IACH,uBAAuB,CAAC,EAAE,OAAO,CAAC;CAClC;AAED,yBAAiB,UAAU,CAAC;IAC3B,KAAY,OAAO,GAAG,iBAAiB,CAAC;IACxC,KAAY,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAChC,KAAY,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IACtC,KAAY,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IAC5C,KAAY,2BAA2B,CAAC,MAAM,SAAS,SAAS,GAAG,SAAS,IAAI,OAAO,CAAC,2BAA2B,CAAC,MAAM,CAAC,CAAC;IAC5H,KAAY,6BAA6B,CAAC,MAAM,SAAS,SAAS,GAAG,SAAS,IAAI,OAAO,CAAC,6BAA6B,CAAC,MAAM,CAAC,CAAC;IAChI,KAAY,uBAAuB,CAAC,MAAM,SAAS,SAAS,GAAG,SAAS,IAAI,OAAO,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC;IACpH,KAAY,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;CACxC"}
1
+ {"version":3,"file":"Subcommand.d.ts","sourceRoot":"","sources":["../../src/lib/Subcommand.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,OAAO,EACP,0BAA0B,EAG1B,KAAK,IAAI,EACT,KAAK,gBAAgB,EACrB,KAAK,cAAc,EAEnB,KAAK,YAAY,EACjB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,KAAK,EAGX,sBAAsB,EAEtB,MAAM,sBAAsB,CAAC;AAQ9B;;;;;;;;GAQG;AACH,qBAAa,UAAU,CAAC,cAAc,SAAS,IAAI,GAAG,IAAI,EAAE,CAAC,SAAS,UAAU,CAAC,OAAO,GAAG,UAAU,CAAC,OAAO,CAAE,SAAQ,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC;;IAChJ;;;OAGG;IACH,SAAgB,uBAAuB,0CAAiD;IAExF;;;OAGG;IACI,wBAAwB,EAAE,sBAAsB,CAAC;IAExD;;;OAGG;IACI,0BAA0B,UAAS;gBAEvB,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC;IAwGpC,MAAM;IAWtB;;;OAGG;IACa,uBAAuB,IAAI,OAAO;IAIlD;;;OAGG;IACa,yBAAyB,IAAI,IAAI,IAAI,gBAAgB;IAIrE;;;;OAIG;IACmB,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,cAAc,CAAC,UAAU;IA4F3G;;;;OAIG;IACmB,YAAY,CAAC,WAAW,EAAE,gBAAgB,CAAC,WAAW,EAAE,OAAO,EAAE,gBAAgB,CAAC,UAAU;CA8MlH;AAED,MAAM,WAAW,iBAAkB,SAAQ,OAAO,CAAC,OAAO;IACzD,WAAW,CAAC,EAAE,sBAAsB,CAAC;IACrC;;;;;;;;;OASG;IACH,uBAAuB,CAAC,EAAE,OAAO,CAAC;CAClC;AAED,yBAAiB,UAAU,CAAC;IAC3B,KAAY,OAAO,GAAG,iBAAiB,CAAC;IACxC,KAAY,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAChC,KAAY,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IACtC,KAAY,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IAC5C,KAAY,2BAA2B,CAAC,MAAM,SAAS,SAAS,GAAG,SAAS,IAAI,OAAO,CAAC,2BAA2B,CAAC,MAAM,CAAC,CAAC;IAC5H,KAAY,6BAA6B,CAAC,MAAM,SAAS,SAAS,GAAG,SAAS,IAAI,OAAO,CAAC,6BAA6B,CAAC,MAAM,CAAC,CAAC;IAChI,KAAY,uBAAuB,CAAC,MAAM,SAAS,SAAS,GAAG,SAAS,IAAI,OAAO,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC;IACpH,KAAY,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;CACxC"}
@@ -1,21 +1,48 @@
1
1
  "use strict";
2
- var _Subcommand_instances, _Subcommand_handleMessageRun, _Subcommand_handleChatInputInteractionRun, _Subcommand_findSubcommand, _Subcommand_supportsCommandType;
2
+ var _Subcommand_instances, _Subcommand_getMessageParametersAsString, _Subcommand_handleMessageRun, _Subcommand_handleChatInputInteractionRun, _Subcommand_findSubcommand, _Subcommand_supportsCommandType;
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  exports.Subcommand = void 0;
5
5
  const tslib_1 = require("tslib");
6
6
  const framework_1 = require("@sapphire/framework");
7
7
  const utilities_1 = require("@sapphire/utilities");
8
8
  const Events_1 = require("./types/Events");
9
+ /**
10
+ * The class to extends for commands that have subcommands.
11
+ * Specify the subcommands through the {@link Subcommand.Options.subcommands} option.
12
+ *
13
+ * Note that you should not make **all** your commands extend this class, _only_ the ones that have subcommands.
14
+ * The reason for this is that this class implements {@link Command.messageRun} and {@link Command.chatInputRun}
15
+ * which you wouldn't necessarily want to do for commands that don't have subcommands.
16
+ * Furthermore, it also just adds general unnecessary memory overhead.
17
+ */
9
18
  class Subcommand extends framework_1.Command {
10
19
  constructor(context, options) {
11
20
  super(context, options);
12
21
  _Subcommand_instances.add(this);
22
+ /**
23
+ * The preconditions to be run for each specified subcommand.
24
+ * @since 4.1.0
25
+ */
26
+ Object.defineProperty(this, "subcommandPreconditions", {
27
+ enumerable: true,
28
+ configurable: true,
29
+ writable: true,
30
+ value: new Map()
31
+ });
32
+ /**
33
+ * The parsed subcommand mappings that were provided with the {@link Subcommand.Options.subcommands} option.
34
+ * This is built at construction time and is used to determine which subcommand to run.
35
+ */
13
36
  Object.defineProperty(this, "parsedSubcommandMappings", {
14
37
  enumerable: true,
15
38
  configurable: true,
16
39
  writable: true,
17
40
  value: void 0
18
41
  });
42
+ /**
43
+ * Whether to use case insensitive subcommands. This is only relevant for message-command styled commands as
44
+ * chat input commands are always lowercase. This can be enabled through `clientOptions.caseInsensitiveCommands`.
45
+ */
19
46
  Object.defineProperty(this, "caseInsensitiveSubcommands", {
20
47
  enumerable: true,
21
48
  configurable: true,
@@ -94,6 +121,18 @@ class Subcommand extends framework_1.Command {
94
121
  }
95
122
  }
96
123
  }
124
+ for (const subcommand of this.parsedSubcommandMappings) {
125
+ if (subcommand.type === 'method' && subcommand.preconditions?.length) {
126
+ this.subcommandPreconditions.set(subcommand.name, new framework_1.PreconditionContainerArray(subcommand.preconditions));
127
+ }
128
+ if (subcommand.type === 'group') {
129
+ for (const groupedSubcommand of subcommand.entries) {
130
+ if (groupedSubcommand.preconditions?.length) {
131
+ this.subcommandPreconditions.set(`${subcommand.name}.${groupedSubcommand.name}`, new framework_1.PreconditionContainerArray(groupedSubcommand.preconditions));
132
+ }
133
+ }
134
+ }
135
+ }
97
136
  }
98
137
  onLoad() {
99
138
  super.onLoad();
@@ -104,12 +143,25 @@ class Subcommand extends framework_1.Command {
104
143
  this.options.subcommands = subcommands;
105
144
  }
106
145
  }
146
+ /**
147
+ * Whether this command has message-based subcommands or not
148
+ * @returns `true` if this command has message-based subcommands, otherwise `false`
149
+ */
107
150
  supportsMessageCommands() {
108
151
  return tslib_1.__classPrivateFieldGet(this, _Subcommand_instances, "m", _Subcommand_supportsCommandType).call(this, 'messageRun');
109
152
  }
153
+ /**
154
+ * Whether this command has chat input subcommands or not
155
+ * @returns `true` if this command has chat input subcommands, otherwise `false`
156
+ */
110
157
  supportsChatInputCommands() {
111
158
  return tslib_1.__classPrivateFieldGet(this, _Subcommand_instances, "m", _Subcommand_supportsCommandType).call(this, 'chatInputRun');
112
159
  }
160
+ /**
161
+ * The method that is ran when a message-based subcommand is ran.
162
+ *
163
+ * **DO NOT** override this in your implementation of a subcommand!
164
+ */
113
165
  async messageRun(message, args, context) {
114
166
  args.save();
115
167
  const subcommandOrGroup = args.nextMaybe();
@@ -158,18 +210,22 @@ class Subcommand extends framework_1.Command {
158
210
  // Skip over the subcommandOrGroup
159
211
  args.next();
160
212
  // If we matched with a subcommand in a group we need to skip 1 more arg
213
+ let subcommandGroupName = undefined;
161
214
  if (matchedWithGroupedSubcommand) {
215
+ subcommandGroupName = subcommandOrGroup.unwrap();
162
216
  args.next();
163
217
  }
164
- return tslib_1.__classPrivateFieldGet(this, _Subcommand_instances, "m", _Subcommand_handleMessageRun).call(this, message, args, context, actualSubcommandToRun);
218
+ return tslib_1.__classPrivateFieldGet(this, _Subcommand_instances, "m", _Subcommand_handleMessageRun).call(this, message, args, context, actualSubcommandToRun, subcommandGroupName);
165
219
  }
166
220
  // No subcommand matched, let's try to run default, if any:
167
221
  if (defaultCommand) {
168
222
  // If we matched with a subcommand in a group we need to skip 1 the group name
223
+ let subcommandGroupName = undefined;
169
224
  if (matchedWithGroupedSubcommand) {
225
+ subcommandGroupName = subcommandOrGroup.unwrap();
170
226
  args.next();
171
227
  }
172
- return tslib_1.__classPrivateFieldGet(this, _Subcommand_instances, "m", _Subcommand_handleMessageRun).call(this, message, args, context, defaultCommand);
228
+ return tslib_1.__classPrivateFieldGet(this, _Subcommand_instances, "m", _Subcommand_handleMessageRun).call(this, message, args, context, defaultCommand, subcommandGroupName);
173
229
  }
174
230
  // No match and no subcommand, return an err:
175
231
  throw new framework_1.UserError({
@@ -182,6 +238,11 @@ class Subcommand extends framework_1.Command {
182
238
  }
183
239
  });
184
240
  }
241
+ /**
242
+ * The method that is ran when a chat input based subcommand is ran.
243
+ *
244
+ * **DO NOT** override this in your implementation of a subcommand!
245
+ */
185
246
  async chatInputRun(interaction, context) {
186
247
  const subcommandName = interaction.options.getSubcommand(false);
187
248
  const subcommandGroupName = interaction.options.getSubcommandGroup(false);
@@ -196,14 +257,14 @@ class Subcommand extends framework_1.Command {
196
257
  const foundSubcommand = tslib_1.__classPrivateFieldGet(this, _Subcommand_instances, "m", _Subcommand_findSubcommand).call(this, mapping.entries, subcommandName);
197
258
  // Only run if its not the "default" found command mapping, as interactions don't have that
198
259
  if (!foundSubcommand.defaultMatch) {
199
- return tslib_1.__classPrivateFieldGet(this, _Subcommand_instances, "m", _Subcommand_handleChatInputInteractionRun).call(this, interaction, context, foundSubcommand.mapping);
260
+ return tslib_1.__classPrivateFieldGet(this, _Subcommand_instances, "m", _Subcommand_handleChatInputInteractionRun).call(this, interaction, context, foundSubcommand.mapping, subcommandGroupName);
200
261
  }
201
262
  // Skip to the next entry
202
263
  continue;
203
264
  }
204
265
  // If we have a direct subcommand, and no group, then run the mapping
205
266
  if (mapping.type === 'method' && mapping.name === subcommandName) {
206
- return tslib_1.__classPrivateFieldGet(this, _Subcommand_instances, "m", _Subcommand_handleChatInputInteractionRun).call(this, interaction, context, mapping);
267
+ return tslib_1.__classPrivateFieldGet(this, _Subcommand_instances, "m", _Subcommand_handleChatInputInteractionRun).call(this, interaction, context, mapping, undefined);
207
268
  }
208
269
  }
209
270
  // No match and no subcommand, return an err:
@@ -215,13 +276,37 @@ class Subcommand extends framework_1.Command {
215
276
  }
216
277
  }
217
278
  exports.Subcommand = Subcommand;
218
- _Subcommand_instances = new WeakSet(), _Subcommand_handleMessageRun = async function _Subcommand_handleMessageRun(message, args, context, subcommand) {
279
+ _Subcommand_instances = new WeakSet(), _Subcommand_getMessageParametersAsString = async function _Subcommand_getMessageParametersAsString(args) {
280
+ args.save();
281
+ const parameters = await args.restResult('string');
282
+ args.restore();
283
+ const params = {};
284
+ if (parameters.isOk()) {
285
+ params.parameters = parameters.unwrap();
286
+ }
287
+ return params;
288
+ }, _Subcommand_handleMessageRun = async function _Subcommand_handleMessageRun(message, args, context, subcommand, subcommandGroupName) {
219
289
  const payload = {
220
290
  message,
221
291
  command: this,
222
292
  context,
223
293
  matchedSubcommandMapping: subcommand
224
294
  };
295
+ // Check if any subcommand preconditions were defined for thus subcommand:
296
+ const preconditionsForSubcommand = this.subcommandPreconditions.get(subcommandGroupName ? `${subcommandGroupName}.${subcommand.name}` : subcommand.name);
297
+ if (preconditionsForSubcommand) {
298
+ // Attempt to get the remaining parameters as string:
299
+ const messageParametersAsString = await tslib_1.__classPrivateFieldGet(this, _Subcommand_instances, "m", _Subcommand_getMessageParametersAsString).call(this, args);
300
+ // Build the precondition payload:
301
+ const preconditionPayload = { ...messageParametersAsString, ...payload };
302
+ // Run the subcommand specific preconditions:
303
+ const localSubcommandResult = await preconditionsForSubcommand.messageRun(message, this, preconditionPayload);
304
+ if (localSubcommandResult.isErr()) {
305
+ this.container.client.emit(Events_1.SubcommandPluginEvents.MessageSubCommandDenied, localSubcommandResult.unwrapErr(), preconditionPayload);
306
+ return;
307
+ }
308
+ }
309
+ // If subcommand preconditions have passed then we run the actual subcommand:
225
310
  const result = await framework_1.Result.fromAsync(async () => {
226
311
  if (subcommand.messageRun) {
227
312
  const casted = subcommand;
@@ -248,13 +333,23 @@ _Subcommand_instances = new WeakSet(), _Subcommand_handleMessageRun = async func
248
333
  }
249
334
  });
250
335
  result.inspectErr((error) => this.container.client.emit(Events_1.SubcommandPluginEvents.MessageSubcommandError, error, payload));
251
- }, _Subcommand_handleChatInputInteractionRun = async function _Subcommand_handleChatInputInteractionRun(interaction, context, subcommand) {
336
+ }, _Subcommand_handleChatInputInteractionRun = async function _Subcommand_handleChatInputInteractionRun(interaction, context, subcommand, subcommandGroupName) {
252
337
  const payload = {
253
338
  command: this,
254
339
  context,
255
340
  interaction,
256
341
  matchedSubcommandMapping: subcommand
257
342
  };
343
+ // Check if any subcommand preconditions were defined for thus subcommand:
344
+ const preconditionsForSubcommand = this.subcommandPreconditions.get(subcommandGroupName ? `${subcommandGroupName}.${subcommand.name}` : subcommand.name);
345
+ if (preconditionsForSubcommand) {
346
+ // Run the subcommand specific preconditions:
347
+ const localSubcommandResult = await preconditionsForSubcommand.chatInputRun(interaction, this, payload);
348
+ if (localSubcommandResult.isErr()) {
349
+ this.container.client.emit(Events_1.SubcommandPluginEvents.ChatInputSubCommandDenied, localSubcommandResult.unwrapErr(), payload);
350
+ return;
351
+ }
352
+ }
258
353
  const result = await framework_1.Result.fromAsync(async () => {
259
354
  if (subcommand.chatInputRun) {
260
355
  const casted = subcommand;
@@ -1 +1 @@
1
- {"version":3,"file":"Subcommand.js","sourceRoot":"","sources":["../../src/lib/Subcommand.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Subcommand.js","sourceRoot":"","sources":["../../src/lib/Subcommand.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { Command } from '@sapphire/framework';
1
+ import type { Command, PreconditionEntryResolvable } from '@sapphire/framework';
2
2
  export type SubcommandMapping = SubcommandMappingMethod | SubcommandMappingGroup;
3
3
  export type SubcommandMappingArray = SubcommandMapping[];
4
4
  /**
@@ -73,6 +73,13 @@ export interface SubcommandMappingMethod extends SubcommandMappingBase {
73
73
  * ```
74
74
  */
75
75
  chatInputRun?: string | Command['chatInputRun'];
76
+ /**
77
+ * The {@link Precondition}s to be run, accepts an array of their names.
78
+ * @seealso {@link PreconditionContainerArray}
79
+ * @since 4.1.0
80
+ * @default []
81
+ */
82
+ preconditions?: readonly PreconditionEntryResolvable[];
76
83
  }
77
84
  export interface SubcommandMappingGroup extends SubcommandMappingBase {
78
85
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"SubcommandMappings.d.ts","sourceRoot":"","sources":["../../src/lib/SubcommandMappings.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAEnD,MAAM,MAAM,iBAAiB,GAAG,uBAAuB,GAAG,sBAAsB,CAAC;AAEjF,MAAM,MAAM,sBAAsB,GAAG,iBAAiB,EAAE,CAAC;AAEzD;;GAEG;AACH,UAAU,qBAAqB;IAC9B;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;;OAGG;IACH,IAAI,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,uBAAwB,SAAQ,qBAAqB;IACrE;;OAEG;IACH,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;;;;;;;;;;;;;;;;OAmBG;IACH,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IAC5C;;;;;;;;;;;;;;;;;;;OAmBG;IACH,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;CAChD;AAED,MAAM,WAAW,sBAAuB,SAAQ,qBAAqB;IACpE;;OAEG;IACH,IAAI,EAAE,OAAO,CAAC;IACd;;OAEG;IACH,OAAO,EAAE,uBAAuB,EAAE,CAAC;CACnC;AAGD,MAAM,MAAM,8BAA8B,GAAG,IAAI,CAAC,uBAAuB,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,uBAAuB,EAAE,YAAY,CAAC,CAAC,CAAC;AAEjJ,MAAM,MAAM,uCAAuC,GAAG,IAAI,CAAC,uBAAuB,EAAE,cAAc,CAAC,GAClG,QAAQ,CAAC,IAAI,CAAC,uBAAuB,EAAE,cAAc,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"SubcommandMappings.d.ts","sourceRoot":"","sources":["../../src/lib/SubcommandMappings.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,2BAA2B,EAAE,MAAM,qBAAqB,CAAC;AAEhF,MAAM,MAAM,iBAAiB,GAAG,uBAAuB,GAAG,sBAAsB,CAAC;AAEjF,MAAM,MAAM,sBAAsB,GAAG,iBAAiB,EAAE,CAAC;AAEzD;;GAEG;AACH,UAAU,qBAAqB;IAC9B;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;;OAGG;IACH,IAAI,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,uBAAwB,SAAQ,qBAAqB;IACrE;;OAEG;IACH,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;;;;;;;;;;;;;;;;OAmBG;IACH,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IAC5C;;;;;;;;;;;;;;;;;;;OAmBG;IACH,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;IAEhD;;;;;OAKG;IACH,aAAa,CAAC,EAAE,SAAS,2BAA2B,EAAE,CAAC;CACvD;AAED,MAAM,WAAW,sBAAuB,SAAQ,qBAAqB;IACpE;;OAEG;IACH,IAAI,EAAE,OAAO,CAAC;IACd;;OAEG;IACH,OAAO,EAAE,uBAAuB,EAAE,CAAC;CACnC;AAGD,MAAM,MAAM,8BAA8B,GAAG,IAAI,CAAC,uBAAuB,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,uBAAuB,EAAE,YAAY,CAAC,CAAC,CAAC;AAEjJ,MAAM,MAAM,uCAAuC,GAAG,IAAI,CAAC,uBAAuB,EAAE,cAAc,CAAC,GAClG,QAAQ,CAAC,IAAI,CAAC,uBAAuB,EAAE,cAAc,CAAC,CAAC,CAAC"}
@@ -1,12 +1,14 @@
1
- import type { ChatInputCommand, MessageCommand } from '@sapphire/framework';
1
+ import type { ChatInputCommand, MessageCommand, MessageCommandDeniedPayload, UserError } from '@sapphire/framework';
2
2
  import type { Message } from 'discord.js';
3
3
  import type { Subcommand } from '../Subcommand';
4
4
  import type { ChatInputCommandSubcommandMappingMethod, MessageSubcommandMappingMethod, SubcommandMappingMethod } from '../SubcommandMappings';
5
5
  export declare const SubcommandPluginEvents: {
6
+ ChatInputSubCommandDenied: "chatInputSubCommandDenied";
6
7
  ChatInputSubcommandRun: "chatInputSubcommandRun";
7
8
  ChatInputSubcommandSuccess: "chatInputSubcommandSuccess";
8
9
  ChatInputSubcommandNotFound: "chatInputSubcommandNotFound";
9
10
  ChatInputSubcommandError: "chatInputSubcommandError";
11
+ MessageSubCommandDenied: "messageSubCommandDenied";
10
12
  MessageSubcommandRun: "messageSubcommandRun";
11
13
  MessageSubcommandSuccess: "messageSubcommandSuccess";
12
14
  MessageSubcommandNotFound: "messageSubcommandNotFound";
@@ -27,6 +29,9 @@ export interface IMessageSubcommandPayload {
27
29
  message: Message;
28
30
  command: Subcommand;
29
31
  }
32
+ export interface MessageSubcommandDeniedPayload extends Omit<MessageCommandDeniedPayload, 'parameters' | 'command'>, MessageSubcommandAcceptedPayload {
33
+ parameters?: string;
34
+ }
30
35
  export interface MessageSubcommandAcceptedPayload extends IMessageSubcommandPayload {
31
36
  context: MessageCommand.RunContext;
32
37
  matchedSubcommandMapping: SubcommandMappingMethod;
@@ -46,6 +51,8 @@ export interface ChatInputSubcommandAcceptedPayload extends IChatInputSubcommand
46
51
  context: ChatInputCommand.RunContext;
47
52
  matchedSubcommandMapping: SubcommandMappingMethod;
48
53
  }
54
+ export interface ChatInputSubcommandDeniedPayload extends ChatInputSubcommandAcceptedPayload {
55
+ }
49
56
  export interface ChatInputSubcommandRunPayload extends ChatInputSubcommandAcceptedPayload {
50
57
  }
51
58
  export interface ChatInputSubcommandErrorPayload extends ChatInputSubcommandRunPayload {
@@ -55,6 +62,7 @@ export interface ChatInputSubcommandSuccessPayload extends ChatInputSubcommandRu
55
62
  }
56
63
  declare module 'discord.js' {
57
64
  interface ClientEvents {
65
+ [SubcommandPluginEvents.ChatInputSubCommandDenied]: [error: UserError, payload: ChatInputSubcommandDeniedPayload];
58
66
  [SubcommandPluginEvents.ChatInputSubcommandRun]: [
59
67
  interaction: ChatInputCommand.Interaction,
60
68
  subcommand: ChatInputCommandSubcommandMappingMethod,
@@ -71,6 +79,7 @@ declare module 'discord.js' {
71
79
  context: ChatInputCommand.Context
72
80
  ];
73
81
  [SubcommandPluginEvents.ChatInputSubcommandError]: [error: unknown, payload: ChatInputSubcommandErrorPayload];
82
+ [SubcommandPluginEvents.MessageSubCommandDenied]: [error: UserError, payload: MessageSubcommandDeniedPayload];
74
83
  [SubcommandPluginEvents.MessageSubcommandRun]: [
75
84
  message: Message,
76
85
  subcommand: MessageSubcommandMappingMethod,
@@ -1 +1 @@
1
- {"version":3,"file":"Events.d.ts","sourceRoot":"","sources":["../../../src/lib/types/Events.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Events.d.ts","sourceRoot":"","sources":["../../../src/lib/types/Events.ts"],"names":[],"mappings":"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"}
@@ -2,10 +2,12 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.SubcommandPluginIdentifiers = exports.SubcommandPluginEvents = void 0;
4
4
  exports.SubcommandPluginEvents = {
5
+ ChatInputSubCommandDenied: 'chatInputSubCommandDenied',
5
6
  ChatInputSubcommandRun: 'chatInputSubcommandRun',
6
7
  ChatInputSubcommandSuccess: 'chatInputSubcommandSuccess',
7
8
  ChatInputSubcommandNotFound: 'chatInputSubcommandNotFound',
8
9
  ChatInputSubcommandError: 'chatInputSubcommandError',
10
+ MessageSubCommandDenied: 'messageSubCommandDenied',
9
11
  MessageSubcommandRun: 'messageSubcommandRun',
10
12
  MessageSubcommandSuccess: 'messageSubcommandSuccess',
11
13
  MessageSubcommandNotFound: 'messageSubcommandNotFound',
@@ -1 +1 @@
1
- {"version":3,"file":"Events.js","sourceRoot":"","sources":["../../../src/lib/types/Events.ts"],"names":[],"mappings":";;;AAKa,QAAA,sBAAsB,GAAG;IACrC,sBAAsB,EAAE,wBAAiC;IACzD,0BAA0B,EAAE,4BAAqC;IACjE,2BAA2B,EAAE,6BAAsC;IACnE,wBAAwB,EAAE,0BAAmC;IAE7D,oBAAoB,EAAE,sBAA+B;IACrD,wBAAwB,EAAE,0BAAmC;IAC7D,yBAAyB,EAAE,2BAAoC;IAC/D,sBAAsB,EAAE,wBAAiC;IAEzD,+CAA+C,EAAE,iDAA0D;IAC3G,iDAAiD,EAAE,mDAA4D;CAC/G,CAAC;AAEF,IAAY,2BAIX;AAJD,WAAY,2BAA2B;IACtC,oFAAqD,CAAA;IACrD,wFAAyD,CAAA;IACzD,wEAAyC,CAAA;AAC1C,CAAC,EAJW,2BAA2B,2CAA3B,2BAA2B,QAItC"}
1
+ {"version":3,"file":"Events.js","sourceRoot":"","sources":["../../../src/lib/types/Events.ts"],"names":[],"mappings":";;;AAKa,QAAA,sBAAsB,GAAG;IACrC,yBAAyB,EAAE,2BAAoC;IAC/D,sBAAsB,EAAE,wBAAiC;IACzD,0BAA0B,EAAE,4BAAqC;IACjE,2BAA2B,EAAE,6BAAsC;IACnE,wBAAwB,EAAE,0BAAmC;IAE7D,uBAAuB,EAAE,yBAAkC;IAC3D,oBAAoB,EAAE,sBAA+B;IACrD,wBAAwB,EAAE,0BAAmC;IAC7D,yBAAyB,EAAE,2BAAoC;IAC/D,sBAAsB,EAAE,wBAAiC;IAEzD,+CAA+C,EAAE,iDAA0D;IAC3G,iDAAiD,EAAE,mDAA4D;CAC/G,CAAC;AAEF,IAAY,2BAIX;AAJD,WAAY,2BAA2B;IACtC,oFAAqD,CAAA;IACrD,wFAAyD,CAAA;IACzD,wEAAyC,CAAA;AAC1C,CAAC,EAJW,2BAA2B,2CAA3B,2BAA2B,QAItC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sapphire/plugin-subcommands",
3
- "version": "4.0.3-next.fde2ae5.0",
3
+ "version": "4.1.0-next.4473a53.0",
4
4
  "description": "Plugin for @sapphire/framework that adds support for subcommands.",
5
5
  "author": "@sapphire",
6
6
  "license": "MIT",
@@ -37,7 +37,7 @@
37
37
  },
38
38
  "dependencies": {
39
39
  "@sapphire/utilities": "^3.13.0",
40
- "tslib": "^2.6.1"
40
+ "tslib": "^2.6.2"
41
41
  },
42
42
  "repository": {
43
43
  "type": "git",