@sapphire/plugin-subcommands 5.1.1-next.f01b974.0 → 6.0.0-next.37591c8.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 (120) hide show
  1. package/dist/cjs/index.cjs +74 -0
  2. package/dist/cjs/index.cjs.map +1 -0
  3. package/dist/cjs/index.d.ts +395 -0
  4. package/dist/cjs/lib/Subcommand.cjs +421 -0
  5. package/dist/cjs/lib/Subcommand.cjs.map +1 -0
  6. package/dist/cjs/lib/precondition-resolvers/subcommandCooldown.cjs +39 -0
  7. package/dist/cjs/lib/precondition-resolvers/subcommandCooldown.cjs.map +1 -0
  8. package/dist/cjs/lib/types/Enums.cjs +16 -0
  9. package/dist/cjs/lib/types/Enums.cjs.map +1 -0
  10. package/dist/cjs/lib/types/Events.cjs +26 -0
  11. package/dist/cjs/lib/types/Events.cjs.map +1 -0
  12. package/dist/cjs/lib/types/SubcommandMappings.cjs +4 -0
  13. package/dist/cjs/lib/types/SubcommandMappings.cjs.map +1 -0
  14. package/dist/cjs/listeners/PluginChatInputSubcommandError.cjs +22 -0
  15. package/dist/cjs/listeners/PluginChatInputSubcommandError.cjs.map +1 -0
  16. package/dist/cjs/listeners/PluginMessageSubcommandError.cjs +22 -0
  17. package/dist/cjs/listeners/PluginMessageSubcommandError.cjs.map +1 -0
  18. package/dist/cjs/listeners/PluginSubcommandMappingIsMissingChatInputCommandHandler.cjs +22 -0
  19. package/dist/cjs/listeners/PluginSubcommandMappingIsMissingChatInputCommandHandler.cjs.map +1 -0
  20. package/dist/cjs/listeners/PluginSubcommandMappingIsMissingMessageCommandHandler.cjs +22 -0
  21. package/dist/cjs/listeners/PluginSubcommandMappingIsMissingMessageCommandHandler.cjs.map +1 -0
  22. package/dist/cjs/listeners/_load.cjs +30 -0
  23. package/dist/cjs/listeners/_load.cjs.map +1 -0
  24. package/dist/cjs/preconditions/PluginSubcommandCooldown.cjs +96 -0
  25. package/dist/cjs/preconditions/PluginSubcommandCooldown.cjs.map +1 -0
  26. package/dist/cjs/preconditions/_load.cjs +16 -0
  27. package/dist/cjs/preconditions/_load.cjs.map +1 -0
  28. package/dist/cjs/register.cjs +25 -0
  29. package/dist/cjs/register.cjs.map +1 -0
  30. package/dist/{register.d.ts → cjs/register.d.ts} +5 -4
  31. package/dist/esm/chunk-K3DKV2RO.mjs +24 -0
  32. package/dist/esm/chunk-K3DKV2RO.mjs.map +1 -0
  33. package/dist/esm/index.d.mts +395 -0
  34. package/dist/esm/index.mjs +19 -0
  35. package/dist/esm/index.mjs.map +1 -0
  36. package/dist/esm/lib/Subcommand.mjs +400 -0
  37. package/dist/esm/lib/Subcommand.mjs.map +1 -0
  38. package/dist/esm/lib/precondition-resolvers/subcommandCooldown.mjs +36 -0
  39. package/dist/esm/lib/precondition-resolvers/subcommandCooldown.mjs.map +1 -0
  40. package/dist/esm/lib/types/Enums.mjs +15 -0
  41. package/dist/esm/lib/types/Enums.mjs.map +1 -0
  42. package/dist/esm/lib/types/Events.mjs +25 -0
  43. package/dist/esm/lib/types/Events.mjs.map +1 -0
  44. package/dist/esm/lib/types/SubcommandMappings.mjs +3 -0
  45. package/dist/esm/lib/types/SubcommandMappings.mjs.map +1 -0
  46. package/dist/esm/listeners/PluginChatInputSubcommandError.mjs +19 -0
  47. package/dist/esm/listeners/PluginChatInputSubcommandError.mjs.map +1 -0
  48. package/dist/esm/listeners/PluginMessageSubcommandError.mjs +19 -0
  49. package/dist/esm/listeners/PluginMessageSubcommandError.mjs.map +1 -0
  50. package/dist/esm/listeners/PluginSubcommandMappingIsMissingChatInputCommandHandler.mjs +19 -0
  51. package/dist/esm/listeners/PluginSubcommandMappingIsMissingChatInputCommandHandler.mjs.map +1 -0
  52. package/dist/esm/listeners/PluginSubcommandMappingIsMissingMessageCommandHandler.mjs +19 -0
  53. package/dist/esm/listeners/PluginSubcommandMappingIsMissingMessageCommandHandler.mjs.map +1 -0
  54. package/dist/esm/listeners/_load.mjs +27 -0
  55. package/dist/esm/listeners/_load.mjs.map +1 -0
  56. package/dist/esm/preconditions/PluginSubcommandCooldown.mjs +88 -0
  57. package/dist/esm/preconditions/PluginSubcommandCooldown.mjs.map +1 -0
  58. package/dist/esm/preconditions/_load.mjs +13 -0
  59. package/dist/esm/preconditions/_load.mjs.map +1 -0
  60. package/dist/esm/register.d.mts +14 -0
  61. package/dist/esm/register.mjs +22 -0
  62. package/dist/esm/register.mjs.map +1 -0
  63. package/package.json +34 -19
  64. package/dist/index.d.ts +0 -48
  65. package/dist/index.d.ts.map +0 -1
  66. package/dist/index.js +0 -43
  67. package/dist/index.js.map +0 -1
  68. package/dist/index.mjs +0 -10
  69. package/dist/lib/Subcommand.d.ts +0 -81
  70. package/dist/lib/Subcommand.d.ts.map +0 -1
  71. package/dist/lib/Subcommand.js +0 -440
  72. package/dist/lib/Subcommand.js.map +0 -1
  73. package/dist/lib/precondition-resolvers/subcommandCooldown.d.ts +0 -29
  74. package/dist/lib/precondition-resolvers/subcommandCooldown.d.ts.map +0 -1
  75. package/dist/lib/precondition-resolvers/subcommandCooldown.js +0 -31
  76. package/dist/lib/precondition-resolvers/subcommandCooldown.js.map +0 -1
  77. package/dist/lib/types/Enums.d.ts +0 -16
  78. package/dist/lib/types/Enums.d.ts.map +0 -1
  79. package/dist/lib/types/Enums.js +0 -21
  80. package/dist/lib/types/Enums.js.map +0 -1
  81. package/dist/lib/types/Events.d.ts +0 -99
  82. package/dist/lib/types/Events.d.ts.map +0 -1
  83. package/dist/lib/types/Events.js +0 -22
  84. package/dist/lib/types/Events.js.map +0 -1
  85. package/dist/lib/types/SubcommandMappings.d.ts +0 -90
  86. package/dist/lib/types/SubcommandMappings.d.ts.map +0 -1
  87. package/dist/lib/types/SubcommandMappings.js +0 -3
  88. package/dist/lib/types/SubcommandMappings.js.map +0 -1
  89. package/dist/listeners/PluginChatInputSubcommandError.d.ts +0 -7
  90. package/dist/listeners/PluginChatInputSubcommandError.d.ts.map +0 -1
  91. package/dist/listeners/PluginChatInputSubcommandError.js +0 -16
  92. package/dist/listeners/PluginChatInputSubcommandError.js.map +0 -1
  93. package/dist/listeners/PluginMessageSubcommandError.d.ts +0 -7
  94. package/dist/listeners/PluginMessageSubcommandError.d.ts.map +0 -1
  95. package/dist/listeners/PluginMessageSubcommandError.js +0 -16
  96. package/dist/listeners/PluginMessageSubcommandError.js.map +0 -1
  97. package/dist/listeners/PluginSubcommandMappingIsMissingChatInputCommandHandler.d.ts +0 -8
  98. package/dist/listeners/PluginSubcommandMappingIsMissingChatInputCommandHandler.d.ts.map +0 -1
  99. package/dist/listeners/PluginSubcommandMappingIsMissingChatInputCommandHandler.js +0 -16
  100. package/dist/listeners/PluginSubcommandMappingIsMissingChatInputCommandHandler.js.map +0 -1
  101. package/dist/listeners/PluginSubcommandMappingIsMissingMessageCommandHandler.d.ts +0 -9
  102. package/dist/listeners/PluginSubcommandMappingIsMissingMessageCommandHandler.d.ts.map +0 -1
  103. package/dist/listeners/PluginSubcommandMappingIsMissingMessageCommandHandler.js +0 -16
  104. package/dist/listeners/PluginSubcommandMappingIsMissingMessageCommandHandler.js.map +0 -1
  105. package/dist/listeners/_load.d.ts +0 -2
  106. package/dist/listeners/_load.d.ts.map +0 -1
  107. package/dist/listeners/_load.js +0 -25
  108. package/dist/listeners/_load.js.map +0 -1
  109. package/dist/preconditions/PluginSubcommandCooldown.d.ts +0 -31
  110. package/dist/preconditions/PluginSubcommandCooldown.d.ts.map +0 -1
  111. package/dist/preconditions/PluginSubcommandCooldown.js +0 -97
  112. package/dist/preconditions/PluginSubcommandCooldown.js.map +0 -1
  113. package/dist/preconditions/_load.d.ts +0 -2
  114. package/dist/preconditions/_load.d.ts.map +0 -1
  115. package/dist/preconditions/_load.js +0 -11
  116. package/dist/preconditions/_load.js.map +0 -1
  117. package/dist/register.d.ts.map +0 -1
  118. package/dist/register.js +0 -24
  119. package/dist/register.js.map +0 -1
  120. package/dist/register.mjs +0 -4
@@ -1,99 +0,0 @@
1
- import type { ChatInputCommand, MessageCommand, MessageCommandDeniedPayload, UserError } from '@sapphire/framework';
2
- import type { Message } from 'discord.js';
3
- import type { Subcommand } from '../Subcommand';
4
- import type { ChatInputCommandSubcommandMappingMethod, MessageSubcommandMappingMethod, SubcommandMappingMethod } from './SubcommandMappings';
5
- export declare const SubcommandPluginEvents: {
6
- ChatInputSubcommandDenied: "chatInputSubcommandDenied";
7
- ChatInputSubcommandRun: "chatInputSubcommandRun";
8
- ChatInputSubcommandSuccess: "chatInputSubcommandSuccess";
9
- ChatInputSubcommandError: "chatInputSubcommandError";
10
- MessageSubcommandDenied: "messageSubcommandDenied";
11
- MessageSubcommandRun: "messageSubcommandRun";
12
- MessageSubcommandSuccess: "messageSubcommandSuccess";
13
- MessageSubcommandError: "messageSubcommandError";
14
- SubcommandMappingIsMissingMessageCommandHandler: "subcommandMappingIsMissingMessageCommandHandler";
15
- SubcommandMappingIsMissingChatInputCommandHandler: "subcommandMappingIsMissingChatInputCommandHandler";
16
- };
17
- export declare enum SubcommandPluginIdentifiers {
18
- MessageSubcommandNoMatch = "messageSubcommandNoMatch",
19
- ChatInputSubcommandNoMatch = "chatInputSubcommandNoMatch",
20
- SubcommandNotFound = "subcommandNotFound"
21
- }
22
- export interface MessageSubcommandNoMatchContext extends MessageCommand.RunContext {
23
- possibleSubcommandName: string | null;
24
- possibleSubcommandGroupOrName: string | null;
25
- }
26
- export interface IMessageSubcommandPayload {
27
- message: Message;
28
- command: Subcommand;
29
- }
30
- export interface MessageSubcommandDeniedPayload extends Omit<MessageCommandDeniedPayload, 'parameters' | 'command'>, MessageSubcommandAcceptedPayload {
31
- parameters?: string;
32
- }
33
- export interface MessageSubcommandAcceptedPayload extends IMessageSubcommandPayload {
34
- context: MessageCommand.RunContext;
35
- matchedSubcommandMapping: SubcommandMappingMethod;
36
- }
37
- export interface MessageSubcommandRunPayload extends MessageSubcommandAcceptedPayload {
38
- }
39
- export interface MessageSubcommandErrorPayload extends MessageSubcommandRunPayload {
40
- }
41
- export interface MessageSubcommandSuccessPayload extends MessageSubcommandRunPayload {
42
- result: unknown;
43
- }
44
- export interface IChatInputSubcommandPayload {
45
- interaction: ChatInputCommand.Interaction;
46
- command: Subcommand;
47
- }
48
- export interface ChatInputSubcommandAcceptedPayload extends IChatInputSubcommandPayload {
49
- context: ChatInputCommand.RunContext;
50
- matchedSubcommandMapping: SubcommandMappingMethod;
51
- }
52
- export interface ChatInputSubcommandDeniedPayload extends ChatInputSubcommandAcceptedPayload {
53
- }
54
- export interface ChatInputSubcommandRunPayload extends ChatInputSubcommandAcceptedPayload {
55
- }
56
- export interface ChatInputSubcommandErrorPayload extends ChatInputSubcommandRunPayload {
57
- }
58
- export interface ChatInputSubcommandSuccessPayload extends ChatInputSubcommandRunPayload {
59
- result: unknown;
60
- }
61
- declare module 'discord.js' {
62
- interface ClientEvents {
63
- [SubcommandPluginEvents.ChatInputSubcommandDenied]: [error: UserError, payload: ChatInputSubcommandDeniedPayload];
64
- [SubcommandPluginEvents.ChatInputSubcommandRun]: [
65
- interaction: ChatInputCommand.Interaction,
66
- subcommand: ChatInputCommandSubcommandMappingMethod,
67
- payload: ChatInputSubcommandRunPayload
68
- ];
69
- [SubcommandPluginEvents.ChatInputSubcommandSuccess]: [
70
- interaction: ChatInputCommand.Interaction,
71
- subcommand: ChatInputCommandSubcommandMappingMethod,
72
- payload: ChatInputSubcommandSuccessPayload
73
- ];
74
- [SubcommandPluginEvents.ChatInputSubcommandError]: [error: unknown, payload: ChatInputSubcommandErrorPayload];
75
- [SubcommandPluginEvents.MessageSubcommandDenied]: [error: UserError, payload: MessageSubcommandDeniedPayload];
76
- [SubcommandPluginEvents.MessageSubcommandRun]: [
77
- message: Message,
78
- subcommand: MessageSubcommandMappingMethod,
79
- payload: MessageSubcommandRunPayload
80
- ];
81
- [SubcommandPluginEvents.MessageSubcommandSuccess]: [
82
- message: Message,
83
- subcommand: MessageSubcommandMappingMethod,
84
- payload: MessageSubcommandSuccessPayload
85
- ];
86
- [SubcommandPluginEvents.MessageSubcommandError]: [error: unknown, payload: MessageSubcommandErrorPayload];
87
- [SubcommandPluginEvents.SubcommandMappingIsMissingMessageCommandHandler]: [
88
- message: Message,
89
- subcommand: SubcommandMappingMethod,
90
- payload: MessageSubcommandAcceptedPayload
91
- ];
92
- [SubcommandPluginEvents.SubcommandMappingIsMissingChatInputCommandHandler]: [
93
- message: ChatInputCommand.Interaction,
94
- subcommand: SubcommandMappingMethod,
95
- payload: ChatInputSubcommandAcceptedPayload
96
- ];
97
- }
98
- }
99
- //# sourceMappingURL=Events.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Events.d.ts","sourceRoot":"","sources":["../../../src/lib/types/Events.ts"],"names":[],"mappings":"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"}
@@ -1,22 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SubcommandPluginIdentifiers = exports.SubcommandPluginEvents = void 0;
4
- exports.SubcommandPluginEvents = {
5
- ChatInputSubcommandDenied: 'chatInputSubcommandDenied',
6
- ChatInputSubcommandRun: 'chatInputSubcommandRun',
7
- ChatInputSubcommandSuccess: 'chatInputSubcommandSuccess',
8
- ChatInputSubcommandError: 'chatInputSubcommandError',
9
- MessageSubcommandDenied: 'messageSubcommandDenied',
10
- MessageSubcommandRun: 'messageSubcommandRun',
11
- MessageSubcommandSuccess: 'messageSubcommandSuccess',
12
- MessageSubcommandError: 'messageSubcommandError',
13
- SubcommandMappingIsMissingMessageCommandHandler: 'subcommandMappingIsMissingMessageCommandHandler',
14
- SubcommandMappingIsMissingChatInputCommandHandler: 'subcommandMappingIsMissingChatInputCommandHandler'
15
- };
16
- var SubcommandPluginIdentifiers;
17
- (function (SubcommandPluginIdentifiers) {
18
- SubcommandPluginIdentifiers["MessageSubcommandNoMatch"] = "messageSubcommandNoMatch";
19
- SubcommandPluginIdentifiers["ChatInputSubcommandNoMatch"] = "chatInputSubcommandNoMatch";
20
- SubcommandPluginIdentifiers["SubcommandNotFound"] = "subcommandNotFound";
21
- })(SubcommandPluginIdentifiers || (exports.SubcommandPluginIdentifiers = SubcommandPluginIdentifiers = {}));
22
- //# sourceMappingURL=Events.js.map
@@ -1 +0,0 @@
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,wBAAwB,EAAE,0BAAmC;IAE7D,uBAAuB,EAAE,yBAAkC;IAC3D,oBAAoB,EAAE,sBAA+B;IACrD,wBAAwB,EAAE,0BAAmC;IAC7D,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,90 +0,0 @@
1
- import type { Command } from '@sapphire/framework';
2
- export type SubcommandMapping = SubcommandMappingMethod | SubcommandMappingGroup;
3
- export type SubcommandMappingArray = SubcommandMapping[];
4
- /**
5
- * Describes the mapping of all the subcommands to their respective implementations for this command.
6
- */
7
- interface SubcommandMappingBase {
8
- /**
9
- * The name of this subcommand, or subcommand group
10
- */
11
- name: string;
12
- /**
13
- * Whether this subcommand mapping describes a `'method'` or `'group'`
14
- * @default 'method'
15
- */
16
- type?: 'group' | 'method';
17
- }
18
- /**
19
- * Describes how a subcommand method maps to the actual implementation of that subcommand.
20
- */
21
- export interface SubcommandMappingMethod extends SubcommandMappingBase, Pick<Command.Options, 'preconditions' | 'runIn' | 'nsfw' | 'cooldownLimit' | 'cooldownDelay' | 'cooldownScope' | 'cooldownFilteredUsers' | 'requiredClientPermissions' | 'requiredUserPermissions'> {
22
- /**
23
- * This subcommand mapping describes a subcommand method and can therefore only ever be `'method'`
24
- */
25
- type?: 'method';
26
- /**
27
- * Whether this is the default subcommand when none is provided.
28
- *
29
- * Note that this is effectively only used for Message based subcommand
30
- * (those implementing {@link SubcommandMappingMethod.messageRun})
31
- * because the subcommand is always provided for chat input commands.
32
- */
33
- default?: boolean;
34
- /**
35
- * The class method to call when invoking this subcommand through a **message command**,
36
- * or a callback implementation of the subcommand.
37
- *
38
- * Note that when providing a string you have to first define the method that will be called within your function
39
- * before this will allow any values. This is to ensure that the property is strictly typed to the context of the
40
- * class.
41
- *
42
- * @example
43
- * ```typescript
44
- * messageRun: 'runAdminConfig'
45
- * ```
46
- *
47
- * @example
48
- * ```typescript
49
- * messageRun(message: Message) {
50
- * return message.reply(`<@${message.author.id}> has been granted admin`);
51
- * }
52
- * ```
53
- */
54
- messageRun?: string | Command['messageRun'];
55
- /**
56
- * The class method to call when invoking this subcommand through a **chat input command**,
57
- * or a callback implementation of the subcommand.
58
- *
59
- * Note that when providing a string you have to first define the method that will be called within your function
60
- * before this will allow any values. This is to ensure that the property is strictly typed to the context of the
61
- * class.
62
- *
63
- * @example
64
- * ```typescript
65
- * chatInputRun: 'runModeratorConfig'
66
- * ```
67
- *
68
- * @example
69
- * ```typescript
70
- * chatInputRun(interaction: Subcommand.Interaction) {
71
- * return interaction.reply(`<@${interaction.user.id}> has been granted moderator`);
72
- * }
73
- * ```
74
- */
75
- chatInputRun?: string | Command['chatInputRun'];
76
- }
77
- export interface SubcommandMappingGroup extends SubcommandMappingBase {
78
- /**
79
- * This subcommand mapping describes a subcommand group and can therefore only ever be `'group'`
80
- */
81
- type: 'group';
82
- /**
83
- * The {@link SubcommandMappingMethod}s that are contained within this subcommand group.
84
- */
85
- entries: SubcommandMappingMethod[];
86
- }
87
- export type MessageSubcommandMappingMethod = Omit<SubcommandMappingMethod, 'messageRun'> & Required<Pick<SubcommandMappingMethod, 'messageRun'>>;
88
- export type ChatInputCommandSubcommandMappingMethod = Omit<SubcommandMappingMethod, 'chatInputRun'> & Required<Pick<SubcommandMappingMethod, 'chatInputRun'>>;
89
- export {};
90
- //# sourceMappingURL=SubcommandMappings.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SubcommandMappings.d.ts","sourceRoot":"","sources":["../../../src/lib/types/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,uBAChB,SAAQ,qBAAqB,EAC5B,IAAI,CACH,OAAO,CAAC,OAAO,EACb,eAAe,GAEf,OAAO,GACP,MAAM,GACN,eAAe,GACf,eAAe,GACf,eAAe,GACf,uBAAuB,GACvB,2BAA2B,GAC3B,yBAAyB,CAC3B;IACF;;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,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=SubcommandMappings.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SubcommandMappings.js","sourceRoot":"","sources":["../../../src/lib/types/SubcommandMappings.ts"],"names":[],"mappings":""}
@@ -1,7 +0,0 @@
1
- import { Listener } from '@sapphire/framework';
2
- import { SubcommandPluginEvents, type ChatInputSubcommandErrorPayload } from '../lib/types/Events';
3
- export declare class PluginListener extends Listener<typeof SubcommandPluginEvents.ChatInputSubcommandError> {
4
- constructor(context: Listener.LoaderContext);
5
- run(error: unknown, context: ChatInputSubcommandErrorPayload): void;
6
- }
7
- //# sourceMappingURL=PluginChatInputSubcommandError.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PluginChatInputSubcommandError.d.ts","sourceRoot":"","sources":["../../src/listeners/PluginChatInputSubcommandError.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,sBAAsB,EAAE,KAAK,+BAA+B,EAAE,MAAM,qBAAqB,CAAC;AAEnG,qBAAa,cAAe,SAAQ,QAAQ,CAAC,OAAO,sBAAsB,CAAC,wBAAwB,CAAC;gBAChF,OAAO,EAAE,QAAQ,CAAC,aAAa;IAIlC,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,+BAA+B;CAI5E"}
@@ -1,16 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PluginListener = void 0;
4
- const framework_1 = require("@sapphire/framework");
5
- const Events_1 = require("../lib/types/Events");
6
- class PluginListener extends framework_1.Listener {
7
- constructor(context) {
8
- super(context, { event: Events_1.SubcommandPluginEvents.ChatInputSubcommandError });
9
- }
10
- run(error, context) {
11
- const { name, location } = context.command;
12
- this.container.logger.error(`Encountered error on chat input subcommand "${name}" at path "${location.full}"`, error);
13
- }
14
- }
15
- exports.PluginListener = PluginListener;
16
- //# sourceMappingURL=PluginChatInputSubcommandError.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PluginChatInputSubcommandError.js","sourceRoot":"","sources":["../../src/listeners/PluginChatInputSubcommandError.ts"],"names":[],"mappings":";;;AAAA,mDAA+C;AAC/C,gDAAmG;AAEnG,MAAa,cAAe,SAAQ,oBAAgE;IACnG,YAAmB,OAA+B;QACjD,KAAK,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,+BAAsB,CAAC,wBAAwB,EAAE,CAAC,CAAC;IAC5E,CAAC;IAEe,GAAG,CAAC,KAAc,EAAE,OAAwC;QAC3E,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;QAC3C,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,+CAA+C,IAAI,cAAc,QAAQ,CAAC,IAAI,GAAG,EAAE,KAAK,CAAC,CAAC;IACvH,CAAC;CACD;AATD,wCASC"}
@@ -1,7 +0,0 @@
1
- import { Listener } from '@sapphire/framework';
2
- import { SubcommandPluginEvents, type MessageSubcommandErrorPayload } from '../lib/types/Events';
3
- export declare class PluginListener extends Listener<typeof SubcommandPluginEvents.MessageSubcommandError> {
4
- constructor(context: Listener.LoaderContext);
5
- run(error: unknown, context: MessageSubcommandErrorPayload): void;
6
- }
7
- //# sourceMappingURL=PluginMessageSubcommandError.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PluginMessageSubcommandError.d.ts","sourceRoot":"","sources":["../../src/listeners/PluginMessageSubcommandError.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,sBAAsB,EAAE,KAAK,6BAA6B,EAAE,MAAM,qBAAqB,CAAC;AAEjG,qBAAa,cAAe,SAAQ,QAAQ,CAAC,OAAO,sBAAsB,CAAC,sBAAsB,CAAC;gBAC9E,OAAO,EAAE,QAAQ,CAAC,aAAa;IAIlC,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,6BAA6B;CAI1E"}
@@ -1,16 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PluginListener = void 0;
4
- const framework_1 = require("@sapphire/framework");
5
- const Events_1 = require("../lib/types/Events");
6
- class PluginListener extends framework_1.Listener {
7
- constructor(context) {
8
- super(context, { event: Events_1.SubcommandPluginEvents.MessageSubcommandError });
9
- }
10
- run(error, context) {
11
- const { name, location } = context.command;
12
- this.container.logger.error(`Encountered error on message subcommand "${name}" at path "${location.full}"`, error);
13
- }
14
- }
15
- exports.PluginListener = PluginListener;
16
- //# sourceMappingURL=PluginMessageSubcommandError.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PluginMessageSubcommandError.js","sourceRoot":"","sources":["../../src/listeners/PluginMessageSubcommandError.ts"],"names":[],"mappings":";;;AAAA,mDAA+C;AAC/C,gDAAiG;AAEjG,MAAa,cAAe,SAAQ,oBAA8D;IACjG,YAAmB,OAA+B;QACjD,KAAK,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,+BAAsB,CAAC,sBAAsB,EAAE,CAAC,CAAC;IAC1E,CAAC;IAEe,GAAG,CAAC,KAAc,EAAE,OAAsC;QACzE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;QAC3C,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,4CAA4C,IAAI,cAAc,QAAQ,CAAC,IAAI,GAAG,EAAE,KAAK,CAAC,CAAC;IACpH,CAAC;CACD;AATD,wCASC"}
@@ -1,8 +0,0 @@
1
- import { Listener, type ChatInputCommand } from '@sapphire/framework';
2
- import { SubcommandPluginEvents, type ChatInputSubcommandErrorPayload } from '../lib/types/Events';
3
- import type { SubcommandMappingMethod } from '../lib/types/SubcommandMappings';
4
- export declare class PluginListener extends Listener<typeof SubcommandPluginEvents.SubcommandMappingIsMissingChatInputCommandHandler> {
5
- constructor(context: Listener.LoaderContext);
6
- run(_: ChatInputCommand.Interaction, subcommand: SubcommandMappingMethod, context: ChatInputSubcommandErrorPayload): void;
7
- }
8
- //# sourceMappingURL=PluginSubcommandMappingIsMissingChatInputCommandHandler.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PluginSubcommandMappingIsMissingChatInputCommandHandler.d.ts","sourceRoot":"","sources":["../../src/listeners/PluginSubcommandMappingIsMissingChatInputCommandHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,KAAK,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACtE,OAAO,EAAE,sBAAsB,EAAE,KAAK,+BAA+B,EAAE,MAAM,qBAAqB,CAAC;AACnG,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAE/E,qBAAa,cAAe,SAAQ,QAAQ,CAAC,OAAO,sBAAsB,CAAC,iDAAiD,CAAC;gBACzG,OAAO,EAAE,QAAQ,CAAC,aAAa;IAIlC,GAAG,CAAC,CAAC,EAAE,gBAAgB,CAAC,WAAW,EAAE,UAAU,EAAE,uBAAuB,EAAE,OAAO,EAAE,+BAA+B;CAIlI"}
@@ -1,16 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PluginListener = void 0;
4
- const framework_1 = require("@sapphire/framework");
5
- const Events_1 = require("../lib/types/Events");
6
- class PluginListener extends framework_1.Listener {
7
- constructor(context) {
8
- super(context, { event: Events_1.SubcommandPluginEvents.SubcommandMappingIsMissingChatInputCommandHandler });
9
- }
10
- run(_, subcommand, context) {
11
- const { name, location } = context.command;
12
- this.container.logger.error(`Encountered a missing mapping on chat input subcommand "${name}" at "${location.full}"`, subcommand);
13
- }
14
- }
15
- exports.PluginListener = PluginListener;
16
- //# sourceMappingURL=PluginSubcommandMappingIsMissingChatInputCommandHandler.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PluginSubcommandMappingIsMissingChatInputCommandHandler.js","sourceRoot":"","sources":["../../src/listeners/PluginSubcommandMappingIsMissingChatInputCommandHandler.ts"],"names":[],"mappings":";;;AAAA,mDAAsE;AACtE,gDAAmG;AAGnG,MAAa,cAAe,SAAQ,oBAAyF;IAC5H,YAAmB,OAA+B;QACjD,KAAK,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,+BAAsB,CAAC,iDAAiD,EAAE,CAAC,CAAC;IACrG,CAAC;IAEe,GAAG,CAAC,CAA+B,EAAE,UAAmC,EAAE,OAAwC;QACjI,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;QAC3C,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,2DAA2D,IAAI,SAAS,QAAQ,CAAC,IAAI,GAAG,EAAE,UAAU,CAAC,CAAC;IACnI,CAAC;CACD;AATD,wCASC"}
@@ -1,9 +0,0 @@
1
- import { Listener } from '@sapphire/framework';
2
- import type { Message } from 'discord.js';
3
- import { SubcommandPluginEvents, type MessageSubcommandErrorPayload } from '../lib/types/Events';
4
- import type { SubcommandMappingMethod } from '../lib/types/SubcommandMappings';
5
- export declare class PluginListener extends Listener<typeof SubcommandPluginEvents.SubcommandMappingIsMissingMessageCommandHandler> {
6
- constructor(context: Listener.LoaderContext);
7
- run(_: Message, subcommand: SubcommandMappingMethod, context: MessageSubcommandErrorPayload): void;
8
- }
9
- //# sourceMappingURL=PluginSubcommandMappingIsMissingMessageCommandHandler.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PluginSubcommandMappingIsMissingMessageCommandHandler.d.ts","sourceRoot":"","sources":["../../src/listeners/PluginSubcommandMappingIsMissingMessageCommandHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,sBAAsB,EAAE,KAAK,6BAA6B,EAAE,MAAM,qBAAqB,CAAC;AACjG,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAE/E,qBAAa,cAAe,SAAQ,QAAQ,CAAC,OAAO,sBAAsB,CAAC,+CAA+C,CAAC;gBACvG,OAAO,EAAE,QAAQ,CAAC,aAAa;IAIlC,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,uBAAuB,EAAE,OAAO,EAAE,6BAA6B;CAI3G"}
@@ -1,16 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PluginListener = void 0;
4
- const framework_1 = require("@sapphire/framework");
5
- const Events_1 = require("../lib/types/Events");
6
- class PluginListener extends framework_1.Listener {
7
- constructor(context) {
8
- super(context, { event: Events_1.SubcommandPluginEvents.SubcommandMappingIsMissingMessageCommandHandler });
9
- }
10
- run(_, subcommand, context) {
11
- const { name, location } = context.command;
12
- this.container.logger.error(`Encountered a missing mapping on message subcommand "${name}" at "${location.full}"`, subcommand);
13
- }
14
- }
15
- exports.PluginListener = PluginListener;
16
- //# sourceMappingURL=PluginSubcommandMappingIsMissingMessageCommandHandler.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PluginSubcommandMappingIsMissingMessageCommandHandler.js","sourceRoot":"","sources":["../../src/listeners/PluginSubcommandMappingIsMissingMessageCommandHandler.ts"],"names":[],"mappings":";;;AAAA,mDAA+C;AAE/C,gDAAiG;AAGjG,MAAa,cAAe,SAAQ,oBAAuF;IAC1H,YAAmB,OAA+B;QACjD,KAAK,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,+BAAsB,CAAC,+CAA+C,EAAE,CAAC,CAAC;IACnG,CAAC;IAEe,GAAG,CAAC,CAAU,EAAE,UAAmC,EAAE,OAAsC;QAC1G,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;QAC3C,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,wDAAwD,IAAI,SAAS,QAAQ,CAAC,IAAI,GAAG,EAAE,UAAU,CAAC,CAAC;IAChI,CAAC;CACD;AATD,wCASC"}
@@ -1,2 +0,0 @@
1
- export declare function loadListeners(): void;
2
- //# sourceMappingURL=_load.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"_load.d.ts","sourceRoot":"","sources":["../../src/listeners/_load.ts"],"names":[],"mappings":"AAMA,wBAAgB,aAAa,SAc5B"}
@@ -1,25 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.loadListeners = void 0;
4
- const pieces_1 = require("@sapphire/pieces");
5
- const PluginChatInputSubcommandError_1 = require("./PluginChatInputSubcommandError");
6
- const PluginMessageSubcommandError_1 = require("./PluginMessageSubcommandError");
7
- const PluginSubcommandMappingIsMissingChatInputCommandHandler_1 = require("./PluginSubcommandMappingIsMissingChatInputCommandHandler");
8
- const PluginSubcommandMappingIsMissingMessageCommandHandler_1 = require("./PluginSubcommandMappingIsMissingMessageCommandHandler");
9
- function loadListeners() {
10
- const store = 'listeners';
11
- void pieces_1.container.stores.loadPiece({ name: 'PluginChatInputSubcommandError', piece: PluginChatInputSubcommandError_1.PluginListener, store });
12
- void pieces_1.container.stores.loadPiece({ name: 'PluginMessageSubcommandError', piece: PluginMessageSubcommandError_1.PluginListener, store });
13
- void pieces_1.container.stores.loadPiece({
14
- name: 'PluginSubcommandMappingIsMissingChatInputCommandHandler',
15
- piece: PluginSubcommandMappingIsMissingChatInputCommandHandler_1.PluginListener,
16
- store
17
- });
18
- void pieces_1.container.stores.loadPiece({
19
- name: 'PluginSubcommandMappingIsMissingMessageCommandHandler',
20
- piece: PluginSubcommandMappingIsMissingMessageCommandHandler_1.PluginListener,
21
- store
22
- });
23
- }
24
- exports.loadListeners = loadListeners;
25
- //# sourceMappingURL=_load.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"_load.js","sourceRoot":"","sources":["../../src/listeners/_load.ts"],"names":[],"mappings":";;;AAAA,6CAA6C;AAC7C,qFAAoG;AACpG,iFAAgG;AAChG,uIAAsJ;AACtJ,mIAAkJ;AAElJ,SAAgB,aAAa;IAC5B,MAAM,KAAK,GAAG,WAAoB,CAAC;IACnC,KAAK,kBAAS,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,gCAAgC,EAAE,KAAK,EAAE,+CAA8B,EAAE,KAAK,EAAE,CAAC,CAAC;IAC1H,KAAK,kBAAS,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,8BAA8B,EAAE,KAAK,EAAE,6CAA4B,EAAE,KAAK,EAAE,CAAC,CAAC;IACtH,KAAK,kBAAS,CAAC,MAAM,CAAC,SAAS,CAAC;QAC/B,IAAI,EAAE,yDAAyD;QAC/D,KAAK,EAAE,wEAAuD;QAC9D,KAAK;KACL,CAAC,CAAC;IACH,KAAK,kBAAS,CAAC,MAAM,CAAC,SAAS,CAAC;QAC/B,IAAI,EAAE,uDAAuD;QAC7D,KAAK,EAAE,sEAAqD;QAC5D,KAAK;KACL,CAAC,CAAC;AACJ,CAAC;AAdD,sCAcC"}
@@ -1,31 +0,0 @@
1
- import { AllFlowsPrecondition, Command, CorePreconditions } from '@sapphire/framework';
2
- import { RateLimitManager } from '@sapphire/ratelimits';
3
- import { type ChatInputCommandInteraction, type ContextMenuCommandInteraction, type Message } from 'discord.js';
4
- import { Subcommand } from '../lib/Subcommand';
5
- /**
6
- * The context for the subcommand cooldown precondition
7
- * @since 5.1.0
8
- */
9
- export interface SubcommandCooldownPreconditionContext extends CorePreconditions.CooldownContext {
10
- /** The name of the subcommand */
11
- subcommandMethodName: string;
12
- /** The name of the subcommand group, if any */
13
- subcommandGroupName?: string;
14
- }
15
- /**
16
- * The subcommand cooldown precondition. This differs from the cooldown precondition in framework by using a separate
17
- * bucket as well as resolving the id differently to ensure it is specific to a subcommand.
18
- * @since 5.1.0
19
- */
20
- export declare class PluginPrecondition extends AllFlowsPrecondition {
21
- subcommandBuckets: WeakMap<Subcommand<import("@sapphire/framework").Args, import("../lib/Subcommand").SubcommandOptions>, RateLimitManager<string>>;
22
- messageRun(message: Message, subcommand: Subcommand, context: SubcommandCooldownPreconditionContext): AllFlowsPrecondition.Result;
23
- chatInputRun(interaction: ChatInputCommandInteraction, subcommand: Subcommand, context: SubcommandCooldownPreconditionContext): AllFlowsPrecondition.Result;
24
- contextMenuRun(interaction: ContextMenuCommandInteraction, subcommand: Command, context: SubcommandCooldownPreconditionContext): AllFlowsPrecondition.Result;
25
- private sharedRun;
26
- private getIdFromMessage;
27
- private getIdFromInteraction;
28
- private getSubcommandMappingName;
29
- private getManager;
30
- }
31
- //# sourceMappingURL=PluginSubcommandCooldown.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PluginSubcommandCooldown.d.ts","sourceRoot":"","sources":["../../src/preconditions/PluginSubcommandCooldown.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAe,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACpG,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAGN,KAAK,2BAA2B,EAEhC,KAAK,6BAA6B,EAClC,KAAK,OAAO,EACZ,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAG/C;;;GAGG;AACH,MAAM,WAAW,qCAAsC,SAAQ,iBAAiB,CAAC,eAAe;IAC/F,iCAAiC;IACjC,oBAAoB,EAAE,MAAM,CAAC;IAC7B,+CAA+C;IAC/C,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;;;GAIG;AACH,qBAAa,kBAAmB,SAAQ,oBAAoB;IACpD,iBAAiB,mIAAuD;IAE/D,UAAU,CACzB,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,UAAU,EACtB,OAAO,EAAE,qCAAqC,GAC5C,oBAAoB,CAAC,MAAM;IAMd,YAAY,CAC3B,WAAW,EAAE,2BAA2B,EACxC,UAAU,EAAE,UAAU,EACtB,OAAO,EAAE,qCAAqC,GAC5C,oBAAoB,CAAC,MAAM;IAMd,cAAc,CAC7B,WAAW,EAAE,6BAA6B,EAC1C,UAAU,EAAE,OAAO,EACnB,OAAO,EAAE,qCAAqC,GAC5C,oBAAoB,CAAC,MAAM;IAM9B,OAAO,CAAC,SAAS;IAiCjB,OAAO,CAAC,gBAAgB;IAcxB,OAAO,CAAC,oBAAoB;IAc5B,OAAO,CAAC,wBAAwB;IAIhC,OAAO,CAAC,UAAU;CAQlB"}
@@ -1,97 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PluginPrecondition = void 0;
4
- const framework_1 = require("@sapphire/framework");
5
- const ratelimits_1 = require("@sapphire/ratelimits");
6
- const discord_js_1 = require("discord.js");
7
- const Enums_1 = require("../lib/types/Enums");
8
- /**
9
- * The subcommand cooldown precondition. This differs from the cooldown precondition in framework by using a separate
10
- * bucket as well as resolving the id differently to ensure it is specific to a subcommand.
11
- * @since 5.1.0
12
- */
13
- class PluginPrecondition extends framework_1.AllFlowsPrecondition {
14
- constructor() {
15
- super(...arguments);
16
- Object.defineProperty(this, "subcommandBuckets", {
17
- enumerable: true,
18
- configurable: true,
19
- writable: true,
20
- value: new WeakMap()
21
- });
22
- }
23
- messageRun(message, subcommand, context) {
24
- const cooldownId = this.getIdFromMessage(message, context);
25
- return this.sharedRun(message.author.id, subcommand, context, cooldownId, 'message');
26
- }
27
- chatInputRun(interaction, subcommand, context) {
28
- const cooldownId = this.getIdFromInteraction(interaction, context);
29
- return this.sharedRun(interaction.user.id, subcommand, context, cooldownId, 'chat input');
30
- }
31
- contextMenuRun(interaction, subcommand, context) {
32
- const cooldownId = this.getIdFromInteraction(interaction, context);
33
- return this.sharedRun(interaction.user.id, subcommand, context, cooldownId, 'context menu');
34
- }
35
- sharedRun(authorId, subcommand, context, cooldownId, commandType) {
36
- // If the subcommand it is testing for is not this one, return ok:
37
- if (context.external)
38
- return this.ok();
39
- // If there is no delay (undefined, null, 0), return ok:
40
- if (!context.delay)
41
- return this.ok();
42
- // If the user has provided any filtered users and the authorId is in that array, return ok:
43
- if (context.filteredUsers?.includes(authorId))
44
- return this.ok();
45
- const rateLimit = this.getManager(subcommand, context).acquire(cooldownId);
46
- if (rateLimit.limited) {
47
- const remaining = rateLimit.remainingTime;
48
- const nextAvailable = (0, discord_js_1.time)(Math.floor(rateLimit.expires / 1000), discord_js_1.TimestampStyles.RelativeTime);
49
- return this.error({
50
- identifier: Enums_1.SubcommandIdentifiers.SubcommandPreconditionCooldown,
51
- message: `There is a cooldown in effect for this ${commandType} subcommand. It'll be available ${nextAvailable}.`,
52
- context: { remaining }
53
- });
54
- }
55
- rateLimit.consume();
56
- return this.ok();
57
- }
58
- getIdFromMessage(message, context) {
59
- const subcommandIdentifier = this.getSubcommandMappingName(context);
60
- switch (context.scope) {
61
- case framework_1.BucketScope.Global:
62
- return `global.${subcommandIdentifier}`;
63
- case framework_1.BucketScope.Channel:
64
- return `${message.channelId}.${subcommandIdentifier}`;
65
- case framework_1.BucketScope.Guild:
66
- return `${message.guildId}.${subcommandIdentifier}` ?? `${message.channelId}.${subcommandIdentifier}`;
67
- default:
68
- return `${message.author.id}.${subcommandIdentifier}`;
69
- }
70
- }
71
- getIdFromInteraction(interaction, context) {
72
- const subcommandIdentifier = this.getSubcommandMappingName(context);
73
- switch (context.scope) {
74
- case framework_1.BucketScope.Global:
75
- return `global.${subcommandIdentifier}`;
76
- case framework_1.BucketScope.Channel:
77
- return `${interaction.channelId}.${subcommandIdentifier}`;
78
- case framework_1.BucketScope.Guild:
79
- return `${interaction.guildId}.${subcommandIdentifier}` ?? `${interaction.channelId}.${subcommandIdentifier}`;
80
- default:
81
- return `${interaction.user.id}.${subcommandIdentifier}`;
82
- }
83
- }
84
- getSubcommandMappingName(context) {
85
- return context.subcommandGroupName ? `${context.subcommandGroupName}.${context.subcommandMethodName}` : context.subcommandMethodName;
86
- }
87
- getManager(subcommand, context) {
88
- let manager = this.subcommandBuckets.get(subcommand);
89
- if (!manager) {
90
- manager = new ratelimits_1.RateLimitManager(context.delay, context.limit);
91
- this.subcommandBuckets.set(subcommand, manager);
92
- }
93
- return manager;
94
- }
95
- }
96
- exports.PluginPrecondition = PluginPrecondition;
97
- //# sourceMappingURL=PluginSubcommandCooldown.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PluginSubcommandCooldown.js","sourceRoot":"","sources":["../../src/preconditions/PluginSubcommandCooldown.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export declare function loadPreconditions(): void;
2
- //# sourceMappingURL=_load.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"_load.d.ts","sourceRoot":"","sources":["../../src/preconditions/_load.ts"],"names":[],"mappings":"AAGA,wBAAgB,iBAAiB,SAGhC"}
@@ -1,11 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.loadPreconditions = void 0;
4
- const pieces_1 = require("@sapphire/pieces");
5
- const PluginSubcommandCooldown_1 = require("./PluginSubcommandCooldown");
6
- function loadPreconditions() {
7
- const store = 'preconditions';
8
- void pieces_1.container.stores.loadPiece({ name: 'PluginSubcommandCooldown', piece: PluginSubcommandCooldown_1.PluginPrecondition, store });
9
- }
10
- exports.loadPreconditions = loadPreconditions;
11
- //# sourceMappingURL=_load.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"_load.js","sourceRoot":"","sources":["../../src/preconditions/_load.ts"],"names":[],"mappings":";;;AAAA,6CAA6C;AAC7C,yEAA4F;AAE5F,SAAgB,iBAAiB;IAChC,MAAM,KAAK,GAAG,eAAwB,CAAC;IACvC,KAAK,kBAAS,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,0BAA0B,EAAE,KAAK,EAAE,6CAAwB,EAAE,KAAK,EAAE,CAAC,CAAC;AAC/G,CAAC;AAHD,8CAGC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../src/register.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,CAAC;AAEjB,OAAO,EAAE,MAAM,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACjF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAIhD;;GAEG;AACH,qBAAa,iBAAkB,SAAQ,MAAM;IAC5C;;OAEG;WACW,CAAC,kBAAkB,CAAC,CAAC,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,aAAa,GAAG,IAAI;CAOtF"}
package/dist/register.js DELETED
@@ -1,24 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SubcommandsPlugin = void 0;
4
- require("./index");
5
- const framework_1 = require("@sapphire/framework");
6
- const _load_1 = require("./listeners/_load");
7
- const _load_2 = require("./preconditions/_load");
8
- /**
9
- * @since 3.1.2
10
- */
11
- class SubcommandsPlugin extends framework_1.Plugin {
12
- /**
13
- * @since 3.1.2
14
- */
15
- static [framework_1.postInitialization](options) {
16
- (0, _load_2.loadPreconditions)();
17
- if (options.loadSubcommandErrorListeners !== false) {
18
- (0, _load_1.loadListeners)();
19
- }
20
- }
21
- }
22
- exports.SubcommandsPlugin = SubcommandsPlugin;
23
- framework_1.SapphireClient.plugins.registerPostInitializationHook(SubcommandsPlugin[framework_1.postInitialization], 'Subcommand-PostInitialization');
24
- //# sourceMappingURL=register.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"register.js","sourceRoot":"","sources":["../src/register.ts"],"names":[],"mappings":";;;AAAA,mBAAiB;AAEjB,mDAAiF;AAEjF,6CAAkD;AAClD,iDAA0D;AAE1D;;GAEG;AACH,MAAa,iBAAkB,SAAQ,kBAAM;IAC5C;;OAEG;IACI,MAAM,CAAC,CAAC,8BAAkB,CAAC,CAAuB,OAAsB;QAC9E,IAAA,yBAAiB,GAAE,CAAC;QAEpB,IAAI,OAAO,CAAC,4BAA4B,KAAK,KAAK,EAAE,CAAC;YACpD,IAAA,qBAAa,GAAE,CAAC;QACjB,CAAC;IACF,CAAC;CACD;AAXD,8CAWC;AAED,0BAAc,CAAC,OAAO,CAAC,8BAA8B,CAAC,iBAAiB,CAAC,8BAAkB,CAAC,EAAE,+BAA+B,CAAC,CAAC"}