@mephisto5558/command 0.7.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 (77) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +20 -0
  3. package/dist/classes/command/index.d.ts +99 -0
  4. package/dist/classes/command/index.d.ts.map +1 -0
  5. package/dist/classes/command/index.js +378 -0
  6. package/dist/classes/command/index.js.map +1 -0
  7. package/dist/classes/command/utils.d.ts +29 -0
  8. package/dist/classes/command/utils.d.ts.map +1 -0
  9. package/dist/classes/command/utils.js +2 -0
  10. package/dist/classes/command/utils.js.map +1 -0
  11. package/dist/classes/commandManager/index.d.ts +43 -0
  12. package/dist/classes/commandManager/index.d.ts.map +1 -0
  13. package/dist/classes/commandManager/index.js +186 -0
  14. package/dist/classes/commandManager/index.js.map +1 -0
  15. package/dist/classes/commandOption/index.d.ts +124 -0
  16. package/dist/classes/commandOption/index.d.ts.map +1 -0
  17. package/dist/classes/commandOption/index.js +378 -0
  18. package/dist/classes/commandOption/index.js.map +1 -0
  19. package/dist/classes/commandOption/utils.d.ts +145 -0
  20. package/dist/classes/commandOption/utils.d.ts.map +1 -0
  21. package/dist/classes/commandOption/utils.js +3 -0
  22. package/dist/classes/commandOption/utils.js.map +1 -0
  23. package/dist/classes/utils.d.ts +42 -0
  24. package/dist/classes/utils.d.ts.map +1 -0
  25. package/dist/classes/utils.js +81 -0
  26. package/dist/classes/utils.js.map +1 -0
  27. package/dist/db.d.ts +22 -0
  28. package/dist/db.d.ts.map +1 -0
  29. package/dist/db.js +2 -0
  30. package/dist/db.js.map +1 -0
  31. package/dist/discord.js.d.ts +172 -0
  32. package/dist/discord.js.d.ts.map +1 -0
  33. package/dist/discord.js.js +2 -0
  34. package/dist/discord.js.js.map +1 -0
  35. package/dist/index.d.ts +71 -0
  36. package/dist/index.d.ts.map +1 -0
  37. package/dist/index.js +22 -0
  38. package/dist/index.js.map +1 -0
  39. package/dist/tsconfig.tsbuildinfo +1 -0
  40. package/dist/utils/CooldownsManager.d.ts +8 -0
  41. package/dist/utils/CooldownsManager.d.ts.map +1 -0
  42. package/dist/utils/CooldownsManager.js +39 -0
  43. package/dist/utils/CooldownsManager.js.map +1 -0
  44. package/dist/utils/capitalize.d.ts +2 -0
  45. package/dist/utils/capitalize.d.ts.map +1 -0
  46. package/dist/utils/capitalize.js +4 -0
  47. package/dist/utils/capitalize.js.map +1 -0
  48. package/dist/utils/constants.d.ts +2 -0
  49. package/dist/utils/constants.d.ts.map +1 -0
  50. package/dist/utils/constants.js +2 -0
  51. package/dist/utils/constants.js.map +1 -0
  52. package/dist/utils/getCommands.d.ts +18 -0
  53. package/dist/utils/getCommands.d.ts.map +1 -0
  54. package/dist/utils/getCommands.js +36 -0
  55. package/dist/utils/getCommands.js.map +1 -0
  56. package/dist/utils/getDirectories.d.ts +2 -0
  57. package/dist/utils/getDirectories.d.ts.map +1 -0
  58. package/dist/utils/getDirectories.js +5 -0
  59. package/dist/utils/getDirectories.js.map +1 -0
  60. package/dist/utils/getFilename.d.ts +5 -0
  61. package/dist/utils/getFilename.d.ts.map +1 -0
  62. package/dist/utils/getFilename.js +5 -0
  63. package/dist/utils/getFilename.js.map +1 -0
  64. package/dist/utils/index.d.ts +9 -0
  65. package/dist/utils/index.d.ts.map +1 -0
  66. package/dist/utils/index.js +9 -0
  67. package/dist/utils/index.js.map +1 -0
  68. package/dist/utils/isSnowflake.d.ts +2 -0
  69. package/dist/utils/isSnowflake.d.ts.map +1 -0
  70. package/dist/utils/isSnowflake.js +4 -0
  71. package/dist/utils/isSnowflake.js.map +1 -0
  72. package/dist/utils/loadFile.d.ts +2 -0
  73. package/dist/utils/loadFile.d.ts.map +1 -0
  74. package/dist/utils/loadFile.js +32 -0
  75. package/dist/utils/loadFile.js.map +1 -0
  76. package/package.json +58 -0
  77. package/translationSchema.jsonc +114 -0
@@ -0,0 +1,81 @@
1
+ import * as Discord from 'discord.js';
2
+ import { toMS } from 'type-better-ms';
3
+ export function equal(a, b) {
4
+ if (a === b)
5
+ return true;
6
+ if (!a?.toString() && !b?.toString())
7
+ return true;
8
+ if (typeof a == 'string' || typeof b == 'string')
9
+ return a == b;
10
+ if (a == undefined && !Object.keys(b ?? {}).length || b == undefined && !Object.keys(a ?? {}).length)
11
+ return true;
12
+ if (typeof a !== 'object' || a === null || typeof b !== 'object' || b === null)
13
+ return false;
14
+ const objA = a, objB = b, keysA = Object.entries(objA).filter(([, v]) => v !== undefined).map(e => e[0]), keysB = Object.entries(objB).filter(([, v]) => v !== undefined).map(e => e[0]);
15
+ if (keysA.length !== keysB.length)
16
+ return false;
17
+ for (const key of keysA)
18
+ if (!equal(objA[key], objB[key]))
19
+ return false;
20
+ return true;
21
+ }
22
+ export function cooldownConverter(cooldown, k, v) {
23
+ if (!cooldown[k])
24
+ return [k, v];
25
+ const ms = toMS(cooldown[k]);
26
+ if (typeof ms != 'number')
27
+ throw new TypeError(`Could not convert time string cooldowns.${k} "${cooldown[k]}" to milliseconds.`);
28
+ return [k, ms];
29
+ }
30
+ export class CommandExecutionError extends Error {
31
+ name = 'CommandExecutionError';
32
+ interaction;
33
+ translator;
34
+ constructor(message, interaction, translator, options) {
35
+ super(message, options);
36
+ this.interaction = interaction;
37
+ this.translator = translator;
38
+ }
39
+ }
40
+ export class CommandValidationError extends Error {
41
+ name = 'CommandValidationError';
42
+ command;
43
+ commandOption;
44
+ constructor(message, command, commandOption, options) {
45
+ super(message, options);
46
+ if (command)
47
+ this.command = command;
48
+ if (commandOption)
49
+ this.commandOption = commandOption;
50
+ }
51
+ }
52
+ export var CommandType;
53
+ (function (CommandType) {
54
+ CommandType["Slash"] = "slash";
55
+ CommandType["Prefix"] = "prefix";
56
+ CommandType["Component"] = "component";
57
+ })(CommandType || (CommandType = {}));
58
+ export function resolveCommandType(interaction) {
59
+ if (interaction instanceof Discord.ChatInputCommandInteraction)
60
+ return CommandType.Slash;
61
+ if (interaction instanceof Discord.Message)
62
+ return CommandType.Prefix;
63
+ if (interaction instanceof Discord.MessageComponentInteraction)
64
+ return CommandType.Component;
65
+ return undefined;
66
+ }
67
+ export function isMessage(interaction) {
68
+ return resolveCommandType(interaction) == CommandType.Prefix
69
+ && interaction instanceof Discord.Message;
70
+ }
71
+ export function isInteraction(interaction, commandType = [CommandType.Slash, CommandType.Component]) {
72
+ return (Array.isArray(commandType) ? commandType : [commandType]).includes(resolveCommandType(interaction))
73
+ && interaction instanceof Discord.BaseInteraction;
74
+ }
75
+ export function isSlash(interaction) {
76
+ return isInteraction(interaction, CommandType.Slash) && interaction.isChatInputCommand();
77
+ }
78
+ export function isComponent(interaction) {
79
+ return isInteraction(interaction, CommandType.Component) && interaction.isMessageComponent();
80
+ }
81
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/classes/utils.ts"],"names":[],"mappings":"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"}
package/dist/db.d.ts ADDED
@@ -0,0 +1,22 @@
1
+ import type * as Discord from 'discord.js';
2
+ import type { CommandType } from './classes/utils.ts';
3
+ import type { CommandInitialized as Command } from './index.ts';
4
+ export type Database = {
5
+ botSettings: {
6
+ cmdStats: Record<Command['name'], {
7
+ createdAt: Date;
8
+ } & Partial<Record<CommandType, number>>>;
9
+ };
10
+ guildSettings: Record<Discord.Guild['id'], {
11
+ config: {
12
+ commands?: Record<Command['name'], {
13
+ disabled?: {
14
+ users: (Discord.User['id'] | '*')[];
15
+ channels: (Discord.Channel['id'] | '*')[];
16
+ roles: (Discord.Role['id'] | '*')[];
17
+ };
18
+ }>;
19
+ };
20
+ }>;
21
+ };
22
+ //# sourceMappingURL=db.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../src/db.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,OAAO,MAAM,YAAY,CAAC;AAC3C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,KAAK,EAAE,kBAAkB,IAAI,OAAO,EAAE,MAAM,YAAY,CAAC;AAEhE,MAAM,MAAM,QAAQ,GAAG;IACrB,WAAW,EAAE;QACX,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;YAChC,SAAS,EAAE,IAAI,CAAC;SACjB,GAAG,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;KAC3C,CAAC;IACF,aAAa,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;QACzC,MAAM,EAAE;YACN,QAAQ,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;gBACjC,QAAQ,CAAC,EAAE;oBACT,KAAK,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC;oBACpC,QAAQ,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC;oBAC1C,KAAK,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC;iBACrC,CAAC;aACH,CAAC,CAAC;SACJ,CAAC;KACH,CAAC,CAAC;CACJ,CAAC"}
package/dist/db.js ADDED
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=db.js.map
package/dist/db.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"db.js","sourceRoot":"","sources":["../src/db.ts"],"names":[],"mappings":""}
@@ -0,0 +1,172 @@
1
+ import type * as Discord from 'discord.js';
2
+ import type { MapChannelTypes, autocompleteOption } from './classes/commandOption/utils.ts';
3
+ import type { AllContexts, ContextToCaching, ContextToInGuild, ContextType, HasDM, HasGuild } from './index.ts';
4
+ export { PermissionFlagsBits as Permission, ApplicationCommandOptionType as OptionType, InteractionContextType as ContextType } from 'discord.js';
5
+ type IsRequired<Options extends readonly unknown[], Name extends string, Type extends Discord.ApplicationCommandOptionType> = Not<ExtendsNever<Extract<Options[number], {
6
+ name: Name;
7
+ type: Type;
8
+ required: true;
9
+ }>>>;
10
+ type ResolvedValue<Options extends readonly unknown[], Name extends string, Type extends Discord.ApplicationCommandOptionType, BaseType> = IfExtendsNever<GetOption<Options, Name, Type>, {
11
+ ifTrue: BaseType;
12
+ ifFalse: ResolveValue<GetOption<Options, Name, Type>, BaseType>;
13
+ }>;
14
+ type ResolveValue<Option, BaseType> = Match<[
15
+ [
16
+ Extends<Option, {
17
+ choices: readonly unknown[];
18
+ }>,
19
+ ResolveChoiceValue<Extract<Option, {
20
+ choices: readonly unknown[];
21
+ }>['choices'][number]>
22
+ ],
23
+ [
24
+ Extends<Option, {
25
+ strictAutocomplete: true;
26
+ autocompleteOptions: readonly autocompleteOption[];
27
+ }>,
28
+ ResolveChoiceValue<Extract<Option, {
29
+ strictAutocomplete: true;
30
+ autocompleteOptions: readonly autocompleteOption[];
31
+ }>['autocompleteOptions'][number]>
32
+ ]
33
+ ], BaseType>;
34
+ type ResolvedSubcommand<Options extends readonly unknown[]> = IfExtendsNever<OptionName<Options, Discord.ApplicationCommandOptionType.Subcommand>, {
35
+ ifTrue: string;
36
+ ifFalse: OptionName<Options, Discord.ApplicationCommandOptionType.Subcommand>;
37
+ }>;
38
+ type ResolvedSubcommandGroup<Options extends readonly unknown[]> = IfExtendsNever<OptionName<Options, Discord.ApplicationCommandOptionType.SubcommandGroup>, {
39
+ ifTrue: string;
40
+ ifFalse: OptionName<Options, Discord.ApplicationCommandOptionType.SubcommandGroup>;
41
+ }>;
42
+ type ResolveChoiceValue<T> = T extends {
43
+ value: infer V;
44
+ } ? V : T;
45
+ type ResolvedChannel<Options extends readonly unknown[], Name extends string> = [GetOption<Options, Name, Discord.ApplicationCommandOptionType.Channel>] extends [never] ? ResolvedDefaultChannel : GetOption<Options, Name, Discord.ApplicationCommandOptionType.Channel> extends {
46
+ channelTypes: infer CT extends readonly Discord.ChannelType[];
47
+ } ? [CT[number]] extends [never] ? ResolvedDefaultChannel : MapChannelTypes<CT> : ResolvedDefaultChannel;
48
+ type ResolvedDefaultChannel = Discord.GuildBasedChannel | Discord.APIInteractionDataResolvedChannel;
49
+ type GetNamesAtLevel<Opts extends readonly unknown[], TargetType extends Discord.ApplicationCommandOptionType> = ExtractOptionName<Opts[number], TargetType>;
50
+ type OptionName<Options extends readonly unknown[], Type extends Discord.ApplicationCommandOptionType> = ExtractOptionName<Options[number], Type> | ExtractOptionName<GetSubOpts<Options[number]>, Type> | ExtractOptionName<GetSubOpts<GetSubOpts<Options[number]>>, Type>;
51
+ type GetOption<Options extends readonly unknown[], Name extends string, Type extends Discord.ApplicationCommandOptionType> = ExtractGetOption<Options[number], Name, Type> | ExtractGetOption<GetSubOpts<Options[number]>, Name, Type> | ExtractGetOption<GetSubOpts<GetSubOpts<Options[number]>>, Name, Type>;
52
+ type GetSubOpts<O> = O extends {
53
+ options?: infer Sub extends readonly unknown[];
54
+ } ? Sub[number] : never;
55
+ type ExtractOptionName<O, Type extends Discord.ApplicationCommandOptionType> = O extends {
56
+ name: infer N extends string;
57
+ type: Type;
58
+ } ? N : never;
59
+ type ExtractGetOption<O, Name extends string, Type extends Discord.ApplicationCommandOptionType> = O extends {
60
+ name: infer ON;
61
+ type: infer T;
62
+ } ? IfExtendsStrict<Type, T, {
63
+ ifTrue: IfExtends<string, ON, {
64
+ ifTrue: O;
65
+ ifFalse: IfExtends<ON, Name, {
66
+ ifTrue: O;
67
+ }>;
68
+ }>;
69
+ }> : never;
70
+ type Member<CTX extends AllContexts, T extends Discord.Message | Discord.ChatInputCommandInteraction> = If<HasGuild<CTX>, {
71
+ ifTrue: If<HasDM<CTX>, {
72
+ ifTrue: NonNullable<Exclude<T['member'], Discord.APIInteractionGuildMember>> | null;
73
+ ifFalse: NonNullable<Exclude<T['member'], Discord.APIInteractionGuildMember>>;
74
+ }>;
75
+ ifFalse: null;
76
+ }>;
77
+ type InteractionChannel<CTX extends AllContexts, T1 extends Discord.Message | Discord.ChatInputCommandInteraction, T2 extends Discord.Message | Discord.ChatInputCommandInteraction> = Exclude<NonNullable<If<HasGuild<CTX>, {
78
+ ifTrue: If<HasDM<CTX>, {
79
+ ifTrue: T1['channel'] | T2['channel'];
80
+ ifFalse: T1['channel'];
81
+ }>;
82
+ ifFalse: T2['channel'];
83
+ }>>, Discord.PartialDMChannel | Discord.PartialGroupDMChannel>;
84
+ export type ChatInputCommandInteraction<CTX extends AllContexts = AllContexts, Options extends readonly unknown[] = []> = StrictOmit<Discord.ChatInputCommandInteraction<ContextToCaching<CTX>>, 'member' | 'channel' | 'options' | 'inGuild'> & {
85
+ readonly member: Member<CTX, Discord.ChatInputCommandInteraction<ContextToCaching<[Discord.InteractionContextType.Guild]>>>;
86
+ readonly channel: InteractionChannel<CTX, Discord.ChatInputCommandInteraction<ContextToCaching<[Discord.InteractionContextType.Guild]>>, Discord.ChatInputCommandInteraction<ContextToCaching<[Discord.InteractionContextType.BotDM]>>>;
87
+ readonly options: TypeSafeOptionResolver<ContextToCaching<CTX>, Options>;
88
+ inGuild(): this is ChatInputCommandInteraction<readonly [ContextType.Guild], Options>;
89
+ };
90
+ export type Message<CTX extends AllContexts = AllContexts> = StrictOmit<Discord.Message<ContextToInGuild<CTX>>, 'member' | 'channel' | 'inGuild'> & {
91
+ readonly member: Member<CTX, Discord.Message>;
92
+ readonly channel: InteractionChannel<CTX, Discord.Message<ContextToInGuild<[Discord.InteractionContextType.Guild]>>, Discord.Message<ContextToInGuild<[Discord.InteractionContextType.BotDM]>>>;
93
+ inGuild(): this is Message<readonly [ContextType.Guild]> | Discord.Message<ContextToInGuild<readonly [ContextType.Guild]>>;
94
+ };
95
+ export type AutocompleteInteraction<CTX extends AllContexts = AllContexts> = StrictOmit<Discord.AutocompleteInteraction<ContextToCaching<CTX>>, 'inGuild'> & {
96
+ inGuild(): this is AutocompleteInteraction<readonly [ContextType.Guild]>;
97
+ };
98
+ export type MessageComponentInteraction<CTX extends AllContexts = AllContexts> = StrictOmit<Discord.MessageComponentInteraction<ContextToCaching<CTX>>, 'inGuild'> & {
99
+ inGuild(): this is MessageComponentInteraction<readonly [ContextType.Guild]>;
100
+ };
101
+ type DefaultReturnType<T extends Extract<keyof Discord.CommandInteractionOptionResolver, `get${string}${string}`>> = NonNullable<ReturnType<Discord.CommandInteractionOptionResolver[T]>>;
102
+ export type TypeSafeOptionResolver<Cached extends Discord.CacheType = Discord.CacheType, Options extends readonly unknown[] = unknown[]> = LooseOmit<Discord.CommandInteractionOptionResolver<Cached>, `get${string}${string}`> & {
103
+ getString<N extends OptionName<Options, Discord.ApplicationCommandOptionType.String>>(name: N, required: true): ResolvedValue<Options, N, Discord.ApplicationCommandOptionType.String, DefaultReturnType<'getString'>>;
104
+ getString<N extends OptionName<Options, Discord.ApplicationCommandOptionType.String>>(name: N, required?: boolean): ResolvedValue<Options, N, Discord.ApplicationCommandOptionType.String, DefaultReturnType<'getString'>> | IfExtendsStrict<IsRequired<Options, N, Discord.ApplicationCommandOptionType.String>, false, {
105
+ ifTrue: null;
106
+ }>;
107
+ getString(name: string, required: true): DefaultReturnType<'getString'>;
108
+ getString(name: string, required?: boolean): DefaultReturnType<'getString'> | null;
109
+ getInteger<N extends OptionName<Options, Discord.ApplicationCommandOptionType.Integer>>(name: N, required: true): ResolvedValue<Options, N, Discord.ApplicationCommandOptionType.Integer, DefaultReturnType<'getInteger'>>;
110
+ getInteger<N extends OptionName<Options, Discord.ApplicationCommandOptionType.Integer>>(name: N, required?: boolean): ResolvedValue<Options, N, Discord.ApplicationCommandOptionType.Integer, DefaultReturnType<'getInteger'>> | IfExtendsStrict<IsRequired<Options, N, Discord.ApplicationCommandOptionType.Integer>, false, {
111
+ ifTrue: null;
112
+ }>;
113
+ getInteger(name: string, required: true): DefaultReturnType<'getInteger'>;
114
+ getInteger(name: string, required?: boolean): DefaultReturnType<'getInteger'> | null;
115
+ getNumber<N extends OptionName<Options, Discord.ApplicationCommandOptionType.Number>>(name: N, required: true): ResolvedValue<Options, N, Discord.ApplicationCommandOptionType.Number, DefaultReturnType<'getNumber'>>;
116
+ getNumber<N extends OptionName<Options, Discord.ApplicationCommandOptionType.Number>>(name: N, required?: boolean): ResolvedValue<Options, N, Discord.ApplicationCommandOptionType.Number, DefaultReturnType<'getNumber'>> | IfExtendsStrict<IsRequired<Options, N, Discord.ApplicationCommandOptionType.Number>, false, {
117
+ ifTrue: null;
118
+ }>;
119
+ getNumber(name: string, required: true): DefaultReturnType<'getNumber'>;
120
+ getNumber(name: string, required?: boolean): DefaultReturnType<'getNumber'> | null;
121
+ getBoolean<N extends OptionName<Options, Discord.ApplicationCommandOptionType.Boolean>>(name: N, required: true): DefaultReturnType<'getBoolean'>;
122
+ getBoolean<N extends OptionName<Options, Discord.ApplicationCommandOptionType.Boolean>>(name: N, required?: boolean): DefaultReturnType<'getBoolean'> | IfExtendsStrict<IsRequired<Options, N, Discord.ApplicationCommandOptionType.Boolean>, false, {
123
+ ifTrue: null;
124
+ }>;
125
+ getBoolean(name: string, required: true): DefaultReturnType<'getBoolean'>;
126
+ getBoolean(name: string, required?: boolean): DefaultReturnType<'getBoolean'> | null;
127
+ getUser<N extends OptionName<Options, Discord.ApplicationCommandOptionType.User>>(name: N, required: true): DefaultReturnType<'getUser'>;
128
+ getUser<N extends OptionName<Options, Discord.ApplicationCommandOptionType.User>>(name: N, required?: boolean): DefaultReturnType<'getUser'> | IfExtendsStrict<IsRequired<Options, N, Discord.ApplicationCommandOptionType.User>, false, {
129
+ ifTrue: null;
130
+ }>;
131
+ getUser(name: string, required: true): DefaultReturnType<'getUser'>;
132
+ getUser(name: string, required?: boolean): DefaultReturnType<'getUser'> | null;
133
+ getMember(name: OptionName<Options, Discord.ApplicationCommandOptionType.User> | string): DefaultReturnType<'getMember'> | null;
134
+ getChannel<N extends OptionName<Options, Discord.ApplicationCommandOptionType.Channel>>(name: N, required: true, channelTypes?: readonly Discord.ChannelType[]): ResolvedChannel<Options, N>;
135
+ getChannel<N extends OptionName<Options, Discord.ApplicationCommandOptionType.Channel>>(name: N, required?: boolean, channelTypes?: readonly Discord.ChannelType[]): ResolvedChannel<Options, N> | IfExtendsStrict<IsRequired<Options, N, Discord.ApplicationCommandOptionType.Channel>, true, {
136
+ ifFalse: null;
137
+ }>;
138
+ getChannel(name: string, required: true, channelTypes?: readonly Discord.ChannelType[]): DefaultReturnType<'getChannel'>;
139
+ getChannel(name: string, required?: boolean, channelTypes?: readonly Discord.ChannelType[]): DefaultReturnType<'getChannel'> | null;
140
+ getRole<N extends OptionName<Options, Discord.ApplicationCommandOptionType.Role>>(name: N, required: true): DefaultReturnType<'getRole'>;
141
+ getRole<N extends OptionName<Options, Discord.ApplicationCommandOptionType.Role>>(name: N, required?: boolean): DefaultReturnType<'getRole'> | IfExtendsStrict<IsRequired<Options, N, Discord.ApplicationCommandOptionType.Role>, true, {
142
+ ifFalse: null;
143
+ }>;
144
+ getRole(name: string, required: true): DefaultReturnType<'getRole'>;
145
+ getRole(name: string, required?: boolean): DefaultReturnType<'getRole'> | null;
146
+ getAttachment<N extends OptionName<Options, Discord.ApplicationCommandOptionType.Attachment>>(name: N, required: true): DefaultReturnType<'getAttachment'>;
147
+ getAttachment<N extends OptionName<Options, Discord.ApplicationCommandOptionType.Attachment>>(name: N, required?: boolean): DefaultReturnType<'getAttachment'> | IfExtendsStrict<IsRequired<Options, N, Discord.ApplicationCommandOptionType.Attachment>, true, {
148
+ ifFalse: null;
149
+ }>;
150
+ getAttachment(name: string, required: true): DefaultReturnType<'getAttachment'>;
151
+ getAttachment(name: string, required?: boolean): DefaultReturnType<'getAttachment'> | null;
152
+ getMentionable<N extends OptionName<Options, Discord.ApplicationCommandOptionType.Mentionable>>(name: N, required: true): DefaultReturnType<'getMentionable'>;
153
+ getMentionable<N extends OptionName<Options, Discord.ApplicationCommandOptionType.Mentionable>>(name: N, required?: boolean): DefaultReturnType<'getMentionable'> | IfExtendsStrict<IsRequired<Options, N, Discord.ApplicationCommandOptionType.Mentionable>, true, {
154
+ ifFalse: null;
155
+ }>;
156
+ getMentionable(name: string, required: true): DefaultReturnType<'getMentionable'>;
157
+ getMentionable(name: string, required?: boolean): DefaultReturnType<'getMentionable'> | null;
158
+ getSubcommand(required?: true): ResolvedSubcommand<Options>;
159
+ getSubcommand(required: boolean): ResolvedSubcommand<Options> | null;
160
+ getSubcommandGroup(required?: true): ResolvedSubcommandGroup<Options>;
161
+ getSubcommandGroup(required: boolean): ResolvedSubcommandGroup<Options> | null;
162
+ readonly subcommand: {
163
+ [K in GetNamesAtLevel<Options, Discord.ApplicationCommandOptionType.Subcommand>]: TypeSafeOptionResolver<Cached, [
164
+ Extract<Options[number], {
165
+ name: K;
166
+ }>
167
+ ] extends [{
168
+ options: infer O extends readonly unknown[];
169
+ }] ? O : []>;
170
+ };
171
+ };
172
+ //# sourceMappingURL=discord.js.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"discord.js.d.ts","sourceRoot":"","sources":["../src/discord.js.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,OAAO,MAAM,YAAY,CAAC;AAC3C,OAAO,KAAK,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AAC5F,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,WAAW,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEhH,OAAO,EACL,mBAAmB,IAAI,UAAU,EACjC,4BAA4B,IAAI,UAAU,EAC1C,sBAAsB,IAAI,WAAW,EACtC,MAAM,YAAY,CAAC;AAEpB,KAAK,UAAU,CAAC,OAAO,SAAS,SAAS,OAAO,EAAE,EAAE,IAAI,SAAS,MAAM,EAAE,IAAI,SAAS,OAAO,CAAC,4BAA4B,IACtH,GAAG,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,IAAI,CAAC;IAAC,QAAQ,EAAE,IAAI,CAAA;CAAE,CAAC,CAAC,CAAC,CAAC;AAE5F,KAAK,aAAa,CAChB,OAAO,SAAS,SAAS,OAAO,EAAE,EAAE,IAAI,SAAS,MAAM,EAAE,IAAI,SAAS,OAAO,CAAC,4BAA4B,EAAE,QAAQ,IAClH,cAAc,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE;IACjD,MAAM,EAAE,QAAQ,CAAC;IACjB,OAAO,EAAE,YAAY,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,QAAQ,CAAC,CAAC;CACjE,CAAC,CAAC;AAEH,KAAK,YAAY,CAAC,MAAM,EAAE,QAAQ,IAAI,KAAK,CAAC;IAC1C;QACE,OAAO,CAAC,MAAM,EAAE;YAAE,OAAO,EAAE,SAAS,OAAO,EAAE,CAAA;SAAE,CAAC;QAChD,kBAAkB,CAAC,OAAO,CAAC,MAAM,EAAE;YAAE,OAAO,EAAE,SAAS,OAAO,EAAE,CAAA;SAAE,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC;KACxF;IACD;QACE,OAAO,CAAC,MAAM,EAAE;YAAE,kBAAkB,EAAE,IAAI,CAAC;YAAC,mBAAmB,EAAE,SAAS,kBAAkB,EAAE,CAAA;SAAE,CAAC;QACjG,kBAAkB,CAChB,OAAO,CAAC,MAAM,EAAE;YAAE,kBAAkB,EAAE,IAAI,CAAC;YAAC,mBAAmB,EAAE,SAAS,kBAAkB,EAAE,CAAA;SAAE,CAAC,CAAC,qBAAqB,CAAC,CAAC,MAAM,CAAC,CACjI;KACF;CACF,EAAE,QAAQ,CAAC,CAAC;AAEb,KAAK,kBAAkB,CAAC,OAAO,SAAS,SAAS,OAAO,EAAE,IAAI,cAAc,CAC1E,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,4BAA4B,CAAC,UAAU,CAAC,EACpE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,4BAA4B,CAAC,UAAU,CAAC,CAAA;CAAE,CAClG,CAAC;AAEF,KAAK,uBAAuB,CAAC,OAAO,SAAS,SAAS,OAAO,EAAE,IAAI,cAAc,CAC/E,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,4BAA4B,CAAC,eAAe,CAAC,EACzE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,4BAA4B,CAAC,eAAe,CAAC,CAAA;CAAE,CACvG,CAAC;AAEF,KAAK,kBAAkB,CAAC,CAAC,IAAI,CAAC,SAAS;IAAE,KAAK,EAAE,MAAM,CAAC,CAAA;CAAE,GAAG,CAAC,GAAG,CAAC,CAAC;AAClE,KAAK,eAAe,CAAC,OAAO,SAAS,SAAS,OAAO,EAAE,EAAE,IAAI,SAAS,MAAM,IACxE,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,4BAA4B,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GACtF,sBAAsB,GACtB,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,4BAA4B,CAAC,OAAO,CAAC,SAAS;IAAE,YAAY,EAAE,MAAM,EAAE,SAAS,SAAS,OAAO,CAAC,WAAW,EAAE,CAAA;CAAE,GAC9I,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GACxB,sBAAsB,GACtB,eAAe,CAAC,EAAE,CAAC,GACvB,sBAAsB,CAAC;AAG/B,KAAK,sBAAsB,GAAG,OAAO,CAAC,iBAAiB,GAAG,OAAO,CAAC,iCAAiC,CAAC;AAEpG,KAAK,eAAe,CAAC,IAAI,SAAS,SAAS,OAAO,EAAE,EAAE,UAAU,SAAS,OAAO,CAAC,4BAA4B,IACzG,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,UAAU,CAAC,CAAC;AAEhD,KAAK,UAAU,CAAC,OAAO,SAAS,SAAS,OAAO,EAAE,EAAE,IAAI,SAAS,OAAO,CAAC,4BAA4B,IAC/F,iBAAiB,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,GACxC,iBAAiB,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,GACpD,iBAAiB,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;AAEvE,KAAK,SAAS,CAAC,OAAO,SAAS,SAAS,OAAO,EAAE,EAAE,IAAI,SAAS,MAAM,EAAE,IAAI,SAAS,OAAO,CAAC,4BAA4B,IACnH,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,GAC7C,gBAAgB,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,GACzD,gBAAgB,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAE5E,KAAK,UAAU,CAAC,CAAC,IACb,CAAC,SAAS;IAAE,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,SAAS,OAAO,EAAE,CAAA;CAAE,GAC1D,GAAG,CAAC,MAAM,CAAC,GACX,KAAK,CAAC;AAEZ,KAAK,iBAAiB,CAAC,CAAC,EAAE,IAAI,SAAS,OAAO,CAAC,4BAA4B,IACvE,CAAC,SAAS;IAAE,IAAI,EAAE,MAAM,CAAC,SAAS,MAAM,CAAC;IAAC,IAAI,EAAE,IAAI,CAAA;CAAE,GACpD,CAAC,GACD,KAAK,CAAC;AAEZ,KAAK,gBAAgB,CAAC,CAAC,EAAE,IAAI,SAAS,MAAM,EAAE,IAAI,SAAS,OAAO,CAAC,4BAA4B,IAC3F,CAAC,SAAS;IAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC,CAAA;CAAE,GACzC,eAAe,CAAC,IAAI,EAAE,CAAC,EAAE;IACzB,MAAM,EAAE,SAAS,CAAC,MAAM,EAAE,EAAE,EAAE;QAC5B,MAAM,EAAE,CAAC,CAAC;QACV,OAAO,EAAE,SAAS,CAAC,EAAE,EAAE,IAAI,EAAE;YAAE,MAAM,EAAE,CAAC,CAAA;SAAE,CAAC,CAAC;KAC7C,CAAC,CAAC;CACJ,CAAC,GACA,KAAK,CAAC;AAGZ,KAAK,MAAM,CACT,GAAG,SAAS,WAAW,EACvB,CAAC,SAAS,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,2BAA2B,IAC7D,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;IACpB,MAAM,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;QACrB,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,yBAAyB,CAAC,CAAC,GAAG,IAAI,CAAC;QACpF,OAAO,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,yBAAyB,CAAC,CAAC,CAAC;KAC/E,CAAC,CAAC;IACH,OAAO,EAAE,IAAI,CAAC;CACf,CAAC,CAAC;AAGH,KAAK,kBAAkB,CACrB,GAAG,SAAS,WAAW,EACvB,EAAE,SAAS,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,2BAA2B,EAChE,EAAE,SAAS,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,2BAA2B,IAC9D,OAAO,CACT,WAAW,CAAC,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;IAC5B,MAAM,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;QACrB,MAAM,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QACtC,OAAO,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC;KACxB,CAAC,CAAC;IACH,OAAO,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC;CACxB,CAAC,CAAC,EACH,OAAO,CAAC,gBAAgB,GAAG,OAAO,CAAC,qBAAqB,CACzD,CAAC;AAEF,MAAM,MAAM,2BAA2B,CACrC,GAAG,SAAS,WAAW,GAAG,WAAW,EACrC,OAAO,SAAS,SAAS,OAAO,EAAE,GAAG,EAAE,IACrC,UAAU,CAAC,OAAO,CAAC,2BAA2B,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC,GAAG;IACzH,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,2BAA2B,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAE5H,QAAQ,CAAC,OAAO,EAAE,kBAAkB,CAClC,GAAG,EACH,OAAO,CAAC,2BAA2B,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC,CAAC,EAC7F,OAAO,CAAC,2BAA2B,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC,CAAC,CAC9F,CAAC;IAEF,QAAQ,CAAC,OAAO,EAAE,sBAAsB,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC;IAEzE,OAAO,IAAI,IAAI,IAAI,2BAA2B,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC;CACvF,CAAC;AAEF,MAAM,MAAM,OAAO,CACjB,GAAG,SAAS,WAAW,GAAG,WAAW,IACnC,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAC,GAAG;IACzF,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IAE9C,QAAQ,CAAC,OAAO,EAAE,kBAAkB,CAClC,GAAG,EACH,OAAO,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC,CAAC,EACzE,OAAO,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC,CAAC,CAC1E,CAAC;IAEF,OAAO,IAAI,IAAI,IAAI,OAAO,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,gBAAgB,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;CAC5H,CAAC;AAEF,MAAM,MAAM,uBAAuB,CACjC,GAAG,SAAS,WAAW,GAAG,WAAW,IACnC,UAAU,CAAC,OAAO,CAAC,uBAAuB,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC,GAAG;IAClF,OAAO,IAAI,IAAI,IAAI,uBAAuB,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;CAC1E,CAAC;AAEF,MAAM,MAAM,2BAA2B,CACrC,GAAG,SAAS,WAAW,GAAG,WAAW,IACnC,UAAU,CAAC,OAAO,CAAC,2BAA2B,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC,GAAG;IACtF,OAAO,IAAI,IAAI,IAAI,2BAA2B,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;CAC9E,CAAC;AAEF,KAAK,iBAAiB,CAAC,CAAC,SAAS,OAAO,CAAC,MAAM,OAAO,CAAC,gCAAgC,EAAE,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,IAC7G,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC,gCAAgC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAEzE,MAAM,MAAM,sBAAsB,CAChC,MAAM,SAAS,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,EACpD,OAAO,SAAS,SAAS,OAAO,EAAE,GAAG,OAAO,EAAE,IAC5C,SAAS,CAAC,OAAO,CAAC,gCAAgC,CAAC,MAAM,CAAC,EAAE,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,GAAG;IAIzF,SAAS,CAAC,CAAC,SAAS,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,4BAA4B,CAAC,MAAM,CAAC,EAClF,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,GACtB,aAAa,CAAC,OAAO,EAAE,CAAC,EAAE,OAAO,CAAC,4BAA4B,CAAC,MAAM,EAAE,iBAAiB,CAAC,WAAW,CAAC,CAAC,CAAC;IAC1G,SAAS,CAAC,CAAC,SAAS,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,4BAA4B,CAAC,MAAM,CAAC,EAClF,IAAI,EAAE,CAAC,EAAE,QAAQ,CAAC,EAAE,OAAO,GAC1B,aAAa,CAAC,OAAO,EAAE,CAAC,EAAE,OAAO,CAAC,4BAA4B,CAAC,MAAM,EAAE,iBAAiB,CAAC,WAAW,CAAC,CAAC,GACrG,eAAe,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,EAAE,OAAO,CAAC,4BAA4B,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE;QAAE,MAAM,EAAE,IAAI,CAAA;KAAE,CAAC,CAAC;IAClH,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,GAAG,iBAAiB,CAAC,WAAW,CAAC,CAAC;IACxE,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,iBAAiB,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC;IAGnF,UAAU,CAAC,CAAC,SAAS,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,4BAA4B,CAAC,OAAO,CAAC,EACpF,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,GACtB,aAAa,CAAC,OAAO,EAAE,CAAC,EAAE,OAAO,CAAC,4BAA4B,CAAC,OAAO,EAAE,iBAAiB,CAAC,YAAY,CAAC,CAAC,CAAC;IAC5G,UAAU,CAAC,CAAC,SAAS,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,4BAA4B,CAAC,OAAO,CAAC,EACpF,IAAI,EAAE,CAAC,EAAE,QAAQ,CAAC,EAAE,OAAO,GAC1B,aAAa,CAAC,OAAO,EAAE,CAAC,EAAE,OAAO,CAAC,4BAA4B,CAAC,OAAO,EAAE,iBAAiB,CAAC,YAAY,CAAC,CAAC,GACvG,eAAe,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,EAAE,OAAO,CAAC,4BAA4B,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE;QAAE,MAAM,EAAE,IAAI,CAAA;KAAE,CAAC,CAAC;IACnH,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,GAAG,iBAAiB,CAAC,YAAY,CAAC,CAAC;IAC1E,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,iBAAiB,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC;IAGrF,SAAS,CAAC,CAAC,SAAS,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,4BAA4B,CAAC,MAAM,CAAC,EAClF,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,GACtB,aAAa,CAAC,OAAO,EAAE,CAAC,EAAE,OAAO,CAAC,4BAA4B,CAAC,MAAM,EAAE,iBAAiB,CAAC,WAAW,CAAC,CAAC,CAAC;IAC1G,SAAS,CAAC,CAAC,SAAS,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,4BAA4B,CAAC,MAAM,CAAC,EAClF,IAAI,EAAE,CAAC,EAAE,QAAQ,CAAC,EAAE,OAAO,GAC1B,aAAa,CAAC,OAAO,EAAE,CAAC,EAAE,OAAO,CAAC,4BAA4B,CAAC,MAAM,EAAE,iBAAiB,CAAC,WAAW,CAAC,CAAC,GACrG,eAAe,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,EAAE,OAAO,CAAC,4BAA4B,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE;QAAE,MAAM,EAAE,IAAI,CAAA;KAAE,CAAC,CAAC;IAClH,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,GAAG,iBAAiB,CAAC,WAAW,CAAC,CAAC;IACxE,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,iBAAiB,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC;IAGnF,UAAU,CAAC,CAAC,SAAS,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,4BAA4B,CAAC,OAAO,CAAC,EACpF,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,GACtB,iBAAiB,CAAC,YAAY,CAAC,CAAC;IACnC,UAAU,CAAC,CAAC,SAAS,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,4BAA4B,CAAC,OAAO,CAAC,EACpF,IAAI,EAAE,CAAC,EAAE,QAAQ,CAAC,EAAE,OAAO,GAC1B,iBAAiB,CAAC,YAAY,CAAC,GAAG,eAAe,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,EAAE,OAAO,CAAC,4BAA4B,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE;QAAE,MAAM,EAAE,IAAI,CAAA;KAAE,CAAC,CAAC;IACpJ,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,GAAG,iBAAiB,CAAC,YAAY,CAAC,CAAC;IAC1E,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,iBAAiB,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC;IAGrF,OAAO,CAAC,CAAC,SAAS,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,4BAA4B,CAAC,IAAI,CAAC,EAC9E,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,GACtB,iBAAiB,CAAC,SAAS,CAAC,CAAC;IAChC,OAAO,CAAC,CAAC,SAAS,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,4BAA4B,CAAC,IAAI,CAAC,EAC9E,IAAI,EAAE,CAAC,EAAE,QAAQ,CAAC,EAAE,OAAO,GAC1B,iBAAiB,CAAC,SAAS,CAAC,GAAG,eAAe,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,EAAE,OAAO,CAAC,4BAA4B,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE;QAAE,MAAM,EAAE,IAAI,CAAA;KAAE,CAAC,CAAC;IAC9I,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,GAAG,iBAAiB,CAAC,SAAS,CAAC,CAAC;IACpE,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,iBAAiB,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC;IAE/E,SAAS,CAAC,IAAI,EAAE,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,4BAA4B,CAAC,IAAI,CAAC,GAAG,MAAM,GAAG,iBAAiB,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC;IAGhI,UAAU,CAAC,CAAC,SAAS,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,4BAA4B,CAAC,OAAO,CAAC,EACpF,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,CAAC,EAAE,SAAS,OAAO,CAAC,WAAW,EAAE,GACrE,eAAe,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IAC/B,UAAU,CAAC,CAAC,SAAS,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,4BAA4B,CAAC,OAAO,CAAC,EACpF,IAAI,EAAE,CAAC,EAAE,QAAQ,CAAC,EAAE,OAAO,EAAE,YAAY,CAAC,EAAE,SAAS,OAAO,CAAC,WAAW,EAAE,GACzE,eAAe,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,eAAe,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,EAAE,OAAO,CAAC,4BAA4B,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE;QAAE,OAAO,EAAE,IAAI,CAAA;KAAE,CAAC,CAAC;IAChJ,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,CAAC,EAAE,SAAS,OAAO,CAAC,WAAW,EAAE,GAAG,iBAAiB,CAAC,YAAY,CAAC,CAAC;IACzH,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,EAAE,YAAY,CAAC,EAAE,SAAS,OAAO,CAAC,WAAW,EAAE,GAAG,iBAAiB,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC;IAGpI,OAAO,CAAC,CAAC,SAAS,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,4BAA4B,CAAC,IAAI,CAAC,EAC9E,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,GACtB,iBAAiB,CAAC,SAAS,CAAC,CAAC;IAChC,OAAO,CAAC,CAAC,SAAS,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,4BAA4B,CAAC,IAAI,CAAC,EAC9E,IAAI,EAAE,CAAC,EAAE,QAAQ,CAAC,EAAE,OAAO,GAC1B,iBAAiB,CAAC,SAAS,CAAC,GAAG,eAAe,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,EAAE,OAAO,CAAC,4BAA4B,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE;QAAE,OAAO,EAAE,IAAI,CAAA;KAAE,CAAC,CAAC;IAC9I,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,GAAG,iBAAiB,CAAC,SAAS,CAAC,CAAC;IACpE,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,iBAAiB,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC;IAG/E,aAAa,CAAC,CAAC,SAAS,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,4BAA4B,CAAC,UAAU,CAAC,EAC1F,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,GACtB,iBAAiB,CAAC,eAAe,CAAC,CAAC;IACtC,aAAa,CAAC,CAAC,SAAS,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,4BAA4B,CAAC,UAAU,CAAC,EAC1F,IAAI,EAAE,CAAC,EAAE,QAAQ,CAAC,EAAE,OAAO,GAC1B,iBAAiB,CAAC,eAAe,CAAC,GACjC,eAAe,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,EAAE,OAAO,CAAC,4BAA4B,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE;QAAE,OAAO,EAAE,IAAI,CAAA;KAAE,CAAC,CAAC;IACtH,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,GAAG,iBAAiB,CAAC,eAAe,CAAC,CAAC;IAChF,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,iBAAiB,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC;IAG3F,cAAc,CAAC,CAAC,SAAS,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,4BAA4B,CAAC,WAAW,CAAC,EAC5F,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,GACtB,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;IACvC,cAAc,CAAC,CAAC,SAAS,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,4BAA4B,CAAC,WAAW,CAAC,EAC5F,IAAI,EAAE,CAAC,EAAE,QAAQ,CAAC,EAAE,OAAO,GAC1B,iBAAiB,CAAC,gBAAgB,CAAC,GAClC,eAAe,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,EAAE,OAAO,CAAC,4BAA4B,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE;QAAE,OAAO,EAAE,IAAI,CAAA;KAAE,CAAC,CAAC;IACvH,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,GAAG,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;IAClF,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,iBAAiB,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC;IAG7F,aAAa,CAAC,QAAQ,CAAC,EAAE,IAAI,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAC5D,aAAa,CAAC,QAAQ,EAAE,OAAO,GAAG,kBAAkB,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;IAErE,kBAAkB,CAAC,QAAQ,CAAC,EAAE,IAAI,GAAG,uBAAuB,CAAC,OAAO,CAAC,CAAC;IACtE,kBAAkB,CAAC,QAAQ,EAAE,OAAO,GAAG,uBAAuB,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;IAE/E,QAAQ,CAAC,UAAU,EAAE;SAClB,CAAC,IAAI,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC,4BAA4B,CAAC,UAAU,CAAC,GAAG,sBAAsB,CAAC,MAAM,EAC7G;YAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;gBAAE,IAAI,EAAE,CAAC,CAAA;aAAE,CAAC;SAAC,SAAS,CAAC;YAAE,OAAO,EAAE,MAAM,CAAC,SAAS,SAAS,OAAO,EAAE,CAAA;SAAE,CAAC,GAAG,CAAC,GAAG,EAAE,CAC3G;KACF,CAAC;CAGH,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { PermissionFlagsBits as Permission, ApplicationCommandOptionType as OptionType, InteractionContextType as ContextType } from 'discord.js';
2
+ //# sourceMappingURL=discord.js.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"discord.js.js","sourceRoot":"","sources":["../src/discord.js.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,mBAAmB,IAAI,UAAU,EACjC,4BAA4B,IAAI,UAAU,EAC1C,sBAAsB,IAAI,WAAW,EACtC,MAAM,YAAY,CAAC"}
@@ -0,0 +1,71 @@
1
+ import * as Discord from 'discord.js';
2
+ import type { Locale, Translator } from '@mephisto5558/i18n';
3
+ import type { Command } from './classes/command/index.ts';
4
+ import type { CommandOption } from './classes/commandOption/index.ts';
5
+ import type { CommandOptionConfig } from './classes/commandOption/utils.ts';
6
+ import type { CommandType } from './classes/utils.ts';
7
+ export * from './utils/index.ts';
8
+ export * from './discord.js.ts';
9
+ export type * from './db.ts';
10
+ export { CommandUninitialized as Command } from './classes/command/index.ts';
11
+ export type { Command as CommandInitialized } from './classes/command/index.ts';
12
+ export { CommandOptionUninitialized as CommandOption } from './classes/commandOption/index.ts';
13
+ export type { CommandOption as CommandOptionInitialized } from './classes/commandOption/index.ts';
14
+ export { CommandManager } from './classes/commandManager/index.ts';
15
+ export type { CollectionMember as CommandManagerMember } from './classes/commandManager/index.ts';
16
+ export { CommandExecutionError, CommandType, isComponent, isInteraction, isMessage, isSlash, resolveCommandType } from './classes/utils.ts';
17
+ export declare enum PermissionType {
18
+ Client = 0,
19
+ Role = 1,
20
+ User = 2,
21
+ Channel = 3
22
+ }
23
+ export type CommandInteraction = Discord.CommandInteraction | Discord.Message | Discord.MessageComponentInteraction;
24
+ export declare const AllContexts: readonly [Discord.InteractionContextType.Guild, Discord.InteractionContextType.BotDM];
25
+ export type AllContexts = readonly typeof AllContexts[number][];
26
+ export type HasGuild<CTX extends AllContexts> = Extends<Discord.InteractionContextType.Guild, CTX[number]>;
27
+ export type HasDM<CTX extends AllContexts> = Not<ExtendsNever<CTX[number] & (Discord.InteractionContextType.BotDM | Discord.InteractionContextType.PrivateChannel)>>;
28
+ export type ContextToInGuild<CTX extends AllContexts> = If<HasGuild<CTX>, {
29
+ ifTrue: If<HasDM<CTX>, {
30
+ ifTrue: boolean;
31
+ ifFalse: true;
32
+ }>;
33
+ ifFalse: false;
34
+ }>;
35
+ export type ContextToCaching<CTX extends AllContexts> = If<HasGuild<CTX>, {
36
+ ifTrue: If<HasDM<CTX>, {
37
+ ifTrue: 'cached' | undefined;
38
+ ifFalse: 'cached';
39
+ }>;
40
+ ifFalse: undefined;
41
+ }>;
42
+ type BuildOrderedCooldown<T extends readonly string[]> = T extends [infer Head extends string, ...infer Tail extends string[]] ? `${number}${Head}` | `${number}${Head}${BuildOrderedCooldown<Tail>}` | BuildOrderedCooldown<Tail> : never;
43
+ type TimeUnits = ['d', 'h', 'min', 's', 'ms'];
44
+ export type validTimeString = BuildOrderedCooldown<TimeUnits>;
45
+ export type Logger = {
46
+ debug: typeof console.debug;
47
+ log: typeof console.log;
48
+ warn: typeof console.warn;
49
+ error: typeof console.error;
50
+ };
51
+ export type OptionsG<CT extends readonly CommandType[], CTX extends AllContexts, AO = undefined> = readonly (CommandOptionConfig<CT, CTX, AO> | CommandOption<CT, CTX, AO>)[];
52
+ export declare enum CooldownType {
53
+ Guild = "guild",
54
+ Channel = "channel",
55
+ User = "user"
56
+ }
57
+ type Cooldowns = Record<CooldownType, validTimeString>;
58
+ export interface SharedConfig<CTX extends AllContexts> {
59
+ cooldowns?: Partial<Cooldowns>;
60
+ contexts?: CTX;
61
+ disabled?: boolean;
62
+ disabledReason?: string;
63
+ }
64
+ export type commandDoneFn<CMD extends Command<readonly CommandType[], AllContexts> = Command<readonly CommandType[], AllContexts>> = (this: ThisParameterType<CMD['run']>, command: CMD, lang: Translator<false, Locale>) => Promise<never>;
65
+ type customPermissionCheckFnParams<CT extends readonly CommandType[], CTX extends AllContexts> = [
66
+ interaction: ThisParameterType<Command<NoInfer<CT>, NoInfer<CTX>>['run']>,
67
+ author: Discord.User,
68
+ translator: Translator<false, Locale>
69
+ ];
70
+ export type customPermissionChecksFn<CT extends readonly CommandType[] = readonly CommandType[], CTX extends AllContexts = AllContexts, RetMsgs extends Parameters<Translator> = Parameters<Translator>> = ((this: Command<NoInfer<CT>, NoInfer<CTX>>, ...args: customPermissionCheckFnParams<NoInfer<CT>, NoInfer<CTX>>) => RetMsgs | boolean) | ((this: Command<NoInfer<CT>, NoInfer<CTX>>, ...args: customPermissionCheckFnParams<NoInfer<CT>, NoInfer<CTX>>) => Promise<RetMsgs | boolean>);
71
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js ADDED
@@ -0,0 +1,22 @@
1
+ import * as Discord from 'discord.js';
2
+ export * from "./utils/index.js";
3
+ export * from "./discord.js.js";
4
+ export { CommandUninitialized as Command } from "./classes/command/index.js";
5
+ export { CommandOptionUninitialized as CommandOption } from "./classes/commandOption/index.js";
6
+ export { CommandManager } from "./classes/commandManager/index.js";
7
+ export { CommandExecutionError, CommandType, isComponent, isInteraction, isMessage, isSlash, resolveCommandType } from "./classes/utils.js";
8
+ export var PermissionType;
9
+ (function (PermissionType) {
10
+ PermissionType[PermissionType["Client"] = 0] = "Client";
11
+ PermissionType[PermissionType["Role"] = 1] = "Role";
12
+ PermissionType[PermissionType["User"] = 2] = "User";
13
+ PermissionType[PermissionType["Channel"] = 3] = "Channel";
14
+ })(PermissionType || (PermissionType = {}));
15
+ export const AllContexts = [Discord.InteractionContextType.Guild, Discord.InteractionContextType.BotDM];
16
+ export var CooldownType;
17
+ (function (CooldownType) {
18
+ CooldownType["Guild"] = "guild";
19
+ CooldownType["Channel"] = "channel";
20
+ CooldownType["User"] = "user";
21
+ })(CooldownType || (CooldownType = {}));
22
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,OAAO,MAAM,YAAY,CAAC;AAQtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAGhC,OAAO,EAAE,oBAAoB,IAAI,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAG7E,OAAO,EAAE,0BAA0B,IAAI,aAAa,EAAE,MAAM,kCAAkC,CAAC;AAG/F,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AAEnE,OAAO,EAAE,qBAAqB,EAAE,WAAW,EAAE,WAAW,EAAE,aAAa,EAAE,SAAS,EAAE,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAE5I,MAAM,CAAN,IAAY,cAKX;AALD,WAAY,cAAc;IACxB,uDAAU,CAAA;IACV,mDAAQ,CAAA;IACR,mDAAQ,CAAA;IACR,yDAAW,CAAA;AACb,CAAC,EALW,cAAc,KAAd,cAAc,QAKzB;AAID,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,OAAO,CAAC,sBAAsB,CAAC,KAAK,EAAE,OAAO,CAAC,sBAAsB,CAAC,KAAK,CAAU,CAAC;AAwCjH,MAAM,CAAN,IAAY,YAIX;AAJD,WAAY,YAAY;IACtB,+BAAe,CAAA;IACf,mCAAmB,CAAA;IACnB,6BAAa,CAAA;AACf,CAAC,EAJW,YAAY,KAAZ,YAAY,QAIvB"}