@pikokr/command.ts 4.0.7 → 5.0.0-dev.6057824
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/workflows/codeql-analysis.yml +70 -0
- package/.github/workflows/docs.yml +1 -1
- package/.github/workflows/publish.stable.yml +1 -1
- package/.github/workflows/publish.yml +1 -1
- package/.vscode/settings.json +10 -0
- package/.vscode/templates/ts.lict +5 -0
- package/README.md +2 -0
- package/dist/index.d.ts +76 -299
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/docs/index.yml +1 -1
- package/package.json +18 -11
- package/publish-version.js +10 -0
- package/scripts/docs.ts +5 -1
- package/src/applicationCommand/ApplicationCommand.ts +8 -0
- package/src/applicationCommand/ApplicationCommandOption.ts +9 -0
- package/src/applicationCommand/index.ts +2 -6
- package/src/core/components/BaseComponent.ts +29 -0
- package/src/core/components/ComponentArgument.ts +7 -0
- package/src/core/components/ComponentArgumentDecorator.ts +17 -0
- package/src/core/components/decoratorCreator.ts +67 -0
- package/src/core/components/index.ts +3 -0
- package/src/core/extensions/ApplicationCommand.ts +80 -0
- package/src/core/extensions/Extension.ts +20 -0
- package/src/core/extensions/index.ts +1 -0
- package/src/core/hooks/index.ts +1 -0
- package/src/core/hooks/moduleHook.ts +31 -0
- package/src/core/index.ts +3 -0
- package/src/core/listener/index.ts +20 -0
- package/src/core/structures/CommandClient.ts +36 -0
- package/src/core/structures/Registry.ts +101 -0
- package/src/core/structures/index.ts +2 -0
- package/src/core/symbols.ts +4 -0
- package/src/index.ts +6 -12
- package/test/index.ts +69 -28
- package/tsconfig.json +3 -3
- package/tsconfig.prod.json +8 -0
- package/tsup.config.ts +6 -1
- package/src/applicationCommand/AppCommand.ts +0 -32
- package/src/applicationCommand/decorator.ts +0 -62
- package/src/builtinModules/BuiltInModule.ts +0 -13
- package/src/builtinModules/BuiltinApplicationCommandConverters.ts +0 -16
- package/src/builtinModules/BuiltinCommandConverters.ts +0 -87
- package/src/builtinModules/CommandHandler.ts +0 -363
- package/src/builtinModules/index.ts +0 -7
- package/src/command/ArgumentConverter.ts +0 -22
- package/src/command/Command.ts +0 -35
- package/src/command/cooldown/adapter.ts +0 -22
- package/src/command/cooldown/decorator.ts +0 -67
- package/src/command/cooldown/error.ts +0 -9
- package/src/command/cooldown/index.ts +0 -9
- package/src/command/cooldown/type.ts +0 -12
- package/src/command/decorator.ts +0 -185
- package/src/command/index.ts +0 -9
- package/src/command/utils.ts +0 -33
- package/src/constants.ts +0 -31
- package/src/error/ArgumentConverterNotFound.ts +0 -18
- package/src/error/ArgumentNotProvided.ts +0 -12
- package/src/error/CommandCheckFailed.ts +0 -19
- package/src/error/CommandNotFound.ts +0 -11
- package/src/error/InvalidTargetError.ts +0 -9
- package/src/error/ModuleError.ts +0 -11
- package/src/error/PermissionRequired.ts +0 -17
- package/src/error/checks/DMOnlyCommand.ts +0 -9
- package/src/error/checks/GuildOnlyCommand.ts +0 -9
- package/src/error/checks/OwnerOnlyCommand.ts +0 -9
- package/src/error/checks/SlashCommandGlobalCheckError.ts +0 -11
- package/src/error/checks/index.ts +0 -8
- package/src/error/index.ts +0 -12
- package/src/interface/index.ts +0 -7
- package/src/listener/Listener.ts +0 -7
- package/src/listener/decorator.ts +0 -29
- package/src/listener/index.ts +0 -6
- package/src/messageComponents/base.ts +0 -16
- package/src/messageComponents/button.ts +0 -30
- package/src/messageComponents/index.ts +0 -6
- package/src/messageComponents/selectMenu.ts +0 -30
- package/src/structures/CommandClient.ts +0 -103
- package/src/structures/Module.ts +0 -54
- package/src/structures/Registry.ts +0 -253
- package/src/structures/index.ts +0 -7
- package/src/typings.ts +0 -35
- package/src/utils.ts +0 -10
- package/test/config.example.json +0 -3
- package/test/modules/dev.ts +0 -44
- package/test/modules/test.ts +0 -148
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
# For most projects, this workflow file will not need changing; you simply need
|
|
2
|
+
# to commit it to your repository.
|
|
3
|
+
#
|
|
4
|
+
# You may wish to alter this file to override the set of languages analyzed,
|
|
5
|
+
# or to provide custom queries or build logic.
|
|
6
|
+
#
|
|
7
|
+
# ******** NOTE ********
|
|
8
|
+
# We have attempted to detect the languages in your repository. Please check
|
|
9
|
+
# the `language` matrix defined below to confirm you have the correct set of
|
|
10
|
+
# supported CodeQL languages.
|
|
11
|
+
#
|
|
12
|
+
name: 'CodeQL'
|
|
13
|
+
|
|
14
|
+
on:
|
|
15
|
+
push:
|
|
16
|
+
branches: [dev]
|
|
17
|
+
pull_request:
|
|
18
|
+
# The branches below must be a subset of the branches above
|
|
19
|
+
branches: [dev]
|
|
20
|
+
schedule:
|
|
21
|
+
- cron: '31 4 * * 2'
|
|
22
|
+
|
|
23
|
+
jobs:
|
|
24
|
+
analyze:
|
|
25
|
+
name: Analyze
|
|
26
|
+
runs-on: ubuntu-latest
|
|
27
|
+
permissions:
|
|
28
|
+
actions: read
|
|
29
|
+
contents: read
|
|
30
|
+
security-events: write
|
|
31
|
+
|
|
32
|
+
strategy:
|
|
33
|
+
fail-fast: false
|
|
34
|
+
matrix:
|
|
35
|
+
language: ['javascript']
|
|
36
|
+
# CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby' ]
|
|
37
|
+
# Learn more about CodeQL language support at https://git.io/codeql-language-support
|
|
38
|
+
|
|
39
|
+
steps:
|
|
40
|
+
- name: Checkout repository
|
|
41
|
+
uses: actions/checkout@v2
|
|
42
|
+
|
|
43
|
+
# Initializes the CodeQL tools for scanning.
|
|
44
|
+
- name: Initialize CodeQL
|
|
45
|
+
uses: github/codeql-action/init@v1
|
|
46
|
+
with:
|
|
47
|
+
languages: ${{ matrix.language }}
|
|
48
|
+
# If you wish to specify custom queries, you can do so here or in a config file.
|
|
49
|
+
# By default, queries listed here will override any specified in a config file.
|
|
50
|
+
# Prefix the list here with "+" to use these queries and those in the config file.
|
|
51
|
+
# queries: ./path/to/local/query, your-org/your-repo/queries@main
|
|
52
|
+
|
|
53
|
+
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
|
|
54
|
+
# If this step fails, then you should remove it and run the build manually (see below)
|
|
55
|
+
- name: Autobuild
|
|
56
|
+
uses: github/codeql-action/autobuild@v1
|
|
57
|
+
|
|
58
|
+
# ℹ️ Command-line programs to run using the OS shell.
|
|
59
|
+
# 📚 https://git.io/JvXDl
|
|
60
|
+
|
|
61
|
+
# ✏️ If the Autobuild fails above, remove it and uncomment the following three lines
|
|
62
|
+
# and modify them (or add more) to build your code if your project
|
|
63
|
+
# uses a compiled language
|
|
64
|
+
|
|
65
|
+
#- run: |
|
|
66
|
+
# make bootstrap
|
|
67
|
+
# make release
|
|
68
|
+
|
|
69
|
+
- name: Perform CodeQL Analysis
|
|
70
|
+
uses: github/codeql-action/analyze@v1
|
package/README.md
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
[](https://github.com/pikokr/command.ts/actions/workflows/publish.yml) <!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section -->
|
|
4
4
|
[](#contributors-)
|
|
5
|
+
|
|
5
6
|
<!-- ALL-CONTRIBUTORS-BADGE:END -->
|
|
6
7
|
|
|
7
8
|

|
|
@@ -11,6 +12,7 @@ Command framework for discord.js
|
|
|
11
12
|
[Discord](https://discord.gg/EEhcPzsGHV) / [문서](https://v3.cts.pikokr.dev) / [V2 문서](https://command-ts-docs-ezojnktwv-pikokr.vercel.app/)
|
|
12
13
|
|
|
13
14
|
## Contributors
|
|
15
|
+
|
|
14
16
|
<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->
|
|
15
17
|
<!-- prettier-ignore-start -->
|
|
16
18
|
<!-- markdownlint-disable -->
|
package/dist/index.d.ts
CHANGED
|
@@ -1,321 +1,98 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as discord_js from 'discord.js';
|
|
2
|
+
import { Collection, Snowflake, Interaction, Client, UserApplicationCommandData, MessageApplicationCommandData, ChatInputApplicationCommandData, ApplicationCommandType, APIApplicationCommandOption } from 'discord.js';
|
|
3
|
+
import EventEmitter from 'events';
|
|
2
4
|
import { Logger } from 'tslog';
|
|
3
|
-
import { ApplicationCommandDataResolvable, Snowflake, MessageComponentInteraction, MessageComponentType, Collection, Message, CommandInteraction, Interaction, Client, ContextMenuInteraction, PermissionResolvable, GuildMember, Permissions } from 'discord.js';
|
|
4
5
|
|
|
5
|
-
declare class
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
6
|
+
declare class ComponentArgumentDecorator<Options = unknown> {
|
|
7
|
+
options: Options;
|
|
8
|
+
constructor(options: Partial<Options>);
|
|
9
|
+
defaultOptions(): Options;
|
|
9
10
|
}
|
|
10
11
|
|
|
11
|
-
declare
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
optionTypes?: any[];
|
|
16
|
-
};
|
|
17
|
-
declare const applicationCommand: (opt: Partial<ApplicationCommandOptions$1> & {
|
|
18
|
-
command: ApplicationCommandDataResolvable;
|
|
19
|
-
}) => (target: Object, propertyKey: string) => void;
|
|
20
|
-
declare const option: (key: string) => ParameterDecorator;
|
|
21
|
-
|
|
22
|
-
declare type AppCommandArgument = {
|
|
23
|
-
type: any;
|
|
24
|
-
name?: string;
|
|
25
|
-
};
|
|
26
|
-
declare class AppCommand {
|
|
27
|
-
command: ApplicationCommandDataResolvable;
|
|
28
|
-
private run;
|
|
29
|
-
module: Module;
|
|
30
|
-
params: AppCommandArgument[];
|
|
31
|
-
guild: Snowflake | Snowflake[] | undefined;
|
|
32
|
-
private key;
|
|
33
|
-
get checks(): ApplicationCommandCheckFunction[];
|
|
34
|
-
execute(module: Module, args: any[]): any;
|
|
35
|
-
constructor(command: ApplicationCommandDataResolvable, run: Function, module: Module, params: AppCommandArgument[], guild: Snowflake | Snowflake[] | undefined, key: string | symbol);
|
|
12
|
+
declare class ComponentArgument {
|
|
13
|
+
type: unknown;
|
|
14
|
+
decorators: ComponentArgumentDecorator[];
|
|
15
|
+
constructor(type: unknown);
|
|
36
16
|
}
|
|
37
17
|
|
|
38
|
-
declare
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
declare class Registry {
|
|
48
|
-
client: CommandClient;
|
|
49
|
-
constructor(client: CommandClient);
|
|
50
|
-
modules: Collection<symbol, Module>;
|
|
51
|
-
private get logger();
|
|
52
|
-
get commands(): Command[];
|
|
53
|
-
get argumentConverters(): ArgumentConverter[];
|
|
54
|
-
get applicationCommandArgumentConverters(): ApplicationCommandArgumentConverter[];
|
|
55
|
-
get applicationCommands(): AppCommand[];
|
|
56
|
-
get messageComponentHandlers(): MessageComponentHandler[];
|
|
57
|
-
registerModule(module: Module): Module;
|
|
58
|
-
loadModulesIn(dir: string, absolute?: boolean): Promise<void>;
|
|
59
|
-
loadModule(file: string, absolute?: boolean): Promise<Module>;
|
|
60
|
-
syncCommands(): Promise<void>;
|
|
61
|
-
unregisterModule(module: Module): Promise<Module>;
|
|
62
|
-
unloadModule(module: Module): Promise<void>;
|
|
63
|
-
reloadModule(module: Module): Promise<boolean>;
|
|
64
|
-
reloadAll(): Promise<{
|
|
65
|
-
path: string;
|
|
66
|
-
success: boolean;
|
|
67
|
-
error?: Error | undefined;
|
|
68
|
-
}[]>;
|
|
18
|
+
declare class BaseComponent<Options = unknown, OptionsArg = Options> {
|
|
19
|
+
options: Options;
|
|
20
|
+
method: Function;
|
|
21
|
+
argTypes: Collection<number, ComponentArgument>;
|
|
22
|
+
constructor(options: OptionsArg, method: Function, argTypes: unknown[]);
|
|
23
|
+
convertOptions(options: OptionsArg): Options;
|
|
24
|
+
execute(target: object, args: unknown[]): any;
|
|
69
25
|
}
|
|
70
26
|
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
}
|
|
83
|
-
interface CommandClientOptions {
|
|
84
|
-
command: CommandOptions$1;
|
|
85
|
-
owners: 'auto' | Snowflake[];
|
|
86
|
-
slashCommands: SlashCommandOptions;
|
|
87
|
-
applicationCommands: ApplicationCommandOptions;
|
|
88
|
-
}
|
|
89
|
-
interface CommandClientOptionsParam {
|
|
90
|
-
command: Partial<CommandOptions$1>;
|
|
91
|
-
owners: 'auto' | string[];
|
|
92
|
-
slashCommands: Partial<SlashCommandOptions>;
|
|
93
|
-
applicationCommands: Partial<ApplicationCommandOptions>;
|
|
94
|
-
}
|
|
95
|
-
declare class CommandClient {
|
|
96
|
-
options: CommandClientOptions;
|
|
97
|
-
owners: string[];
|
|
98
|
-
registry: Registry;
|
|
99
|
-
client: Client;
|
|
100
|
-
coolDownAdapter: CoolDownAdapter;
|
|
101
|
-
logger: Logger;
|
|
102
|
-
private _isReady;
|
|
103
|
-
private fetchOwners;
|
|
104
|
-
ready(): Promise<void>;
|
|
105
|
-
constructor({ client, coolDownAdapter, logger, ...options }: Partial<CommandClientOptionsParam> & {
|
|
106
|
-
client: Client;
|
|
107
|
-
coolDownAdapter?: CoolDownAdapter;
|
|
108
|
-
logger?: Logger;
|
|
109
|
-
});
|
|
110
|
-
}
|
|
27
|
+
declare type ComponentStore = Collection<string | symbol, BaseComponent>;
|
|
28
|
+
declare type ComponentArgumentStore = Collection<number, ComponentArgumentDecorator>;
|
|
29
|
+
declare const getComponentStore: (target: object) => ComponentStore;
|
|
30
|
+
declare const getComponent: (target: object, key: string | symbol) => BaseComponent<unknown, unknown> | undefined;
|
|
31
|
+
declare const createComponentDecorator: <Options, OptionArgs>(type: {
|
|
32
|
+
new (options: OptionArgs, method: Function, argTypes: unknown[]): BaseComponent<Options, OptionArgs>;
|
|
33
|
+
}) => (options: OptionArgs) => MethodDecorator;
|
|
34
|
+
declare const getComponentArgumentStore: (target: object, key: string | symbol) => ComponentArgumentStore;
|
|
35
|
+
declare const createArgumentDecorator: <Options>(type: {
|
|
36
|
+
new (options: Partial<Options>): ComponentArgumentDecorator<Options>;
|
|
37
|
+
}) => (options: Options) => ParameterDecorator;
|
|
111
38
|
|
|
112
|
-
declare
|
|
113
|
-
commandClient: CommandClient;
|
|
114
|
-
get
|
|
115
|
-
|
|
116
|
-
get
|
|
117
|
-
get argumentConverters(): ArgumentConverter[];
|
|
118
|
-
get applicationCommandArgumentConverters(): ApplicationCommandArgumentConverter[];
|
|
119
|
-
get applicationCommands(): AppCommand[];
|
|
120
|
-
get messageComponentHandlers(): MessageComponentHandler[];
|
|
121
|
-
get path(): string | undefined;
|
|
122
|
-
load(): void;
|
|
123
|
-
unload(): void;
|
|
124
|
-
beforeReload(): void;
|
|
125
|
-
afterReload(): void;
|
|
39
|
+
declare class Extension {
|
|
40
|
+
protected get commandClient(): CommandClient;
|
|
41
|
+
protected get client(): discord_js.Client<boolean>;
|
|
42
|
+
private _logger?;
|
|
43
|
+
protected get logger(): Logger;
|
|
126
44
|
}
|
|
127
45
|
|
|
128
|
-
declare type
|
|
129
|
-
|
|
130
|
-
type: any;
|
|
131
|
-
rest: boolean;
|
|
46
|
+
declare type ApplicationCommandExtensionConfig = {
|
|
47
|
+
guilds?: Snowflake[];
|
|
132
48
|
};
|
|
133
|
-
declare
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
aliases: string[] | ((msg: Message) => string[] | Promise<string[]>);
|
|
140
|
-
module: Module;
|
|
141
|
-
key: symbol | string;
|
|
142
|
-
execute(module: Module, args: any[]): any;
|
|
143
|
-
get checks(): CheckFunction[];
|
|
144
|
-
constructor(run: Function, argTypes: Argument[], name: string, aliases: string[] | ((msg: Message) => string[] | Promise<string[]>), module: Module, key: symbol | string);
|
|
49
|
+
declare class ApplicationCommandExtension extends Extension {
|
|
50
|
+
config: ApplicationCommandExtensionConfig;
|
|
51
|
+
constructor(config: ApplicationCommandExtensionConfig);
|
|
52
|
+
interactionCreate(i: Interaction): Promise<void>;
|
|
53
|
+
load(): Promise<void>;
|
|
54
|
+
sync(): Promise<void>;
|
|
145
55
|
}
|
|
146
56
|
|
|
147
|
-
declare
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
declare const rest: ParameterDecorator;
|
|
157
|
-
declare const ownerOnly: MethodDecorator;
|
|
158
|
-
declare const guildOnly: MethodDecorator;
|
|
159
|
-
declare const dmOnly: MethodDecorator;
|
|
160
|
-
declare const requireUserPermissions: (permission: PermissionResolvable) => MethodDecorator;
|
|
161
|
-
declare const requireClientPermissions: (permission: PermissionResolvable) => MethodDecorator;
|
|
162
|
-
|
|
163
|
-
declare class ArgumentConverter {
|
|
164
|
-
type: object;
|
|
165
|
-
private run;
|
|
166
|
-
withoutParameter: boolean;
|
|
167
|
-
execute(module: Module, msg: Message, arg?: string): any;
|
|
168
|
-
constructor(type: object, run: Function, withoutParameter: boolean);
|
|
169
|
-
}
|
|
170
|
-
declare class ApplicationCommandArgumentConverter {
|
|
171
|
-
type: object;
|
|
172
|
-
private run;
|
|
173
|
-
execute(module: Module, interaction: CommandInteraction | ContextMenuInteraction): any;
|
|
174
|
-
constructor(type: object, run: Function);
|
|
175
|
-
}
|
|
176
|
-
|
|
177
|
-
declare const createCheckDecorator: (execute: ((msg: Message) => boolean | Promise<boolean>) | null, executeApplicationCommand?: ((i: CommandInteraction | MessageComponentInteraction | ContextMenuInteraction) => boolean | Promise<boolean>) | undefined) => MethodDecorator;
|
|
178
|
-
|
|
179
|
-
declare enum CoolDownType {
|
|
180
|
-
USER = 0,
|
|
181
|
-
CHANNEL = 1,
|
|
182
|
-
GUILD = 2,
|
|
183
|
-
ROLE = 3,
|
|
184
|
-
CATEGORY = 4,
|
|
185
|
-
MEMBER = 5
|
|
186
|
-
}
|
|
187
|
-
|
|
188
|
-
declare const coolDown: (type: CoolDownType, seconds: number) => MethodDecorator;
|
|
189
|
-
|
|
190
|
-
interface CoolDownAdapter {
|
|
191
|
-
get(id: string): Promise<number | undefined>;
|
|
192
|
-
set(id: string, value: number): Promise<void>;
|
|
193
|
-
}
|
|
194
|
-
declare class DefaultCoolDownAdapter implements CoolDownAdapter {
|
|
195
|
-
map: Collection<string, number>;
|
|
196
|
-
get(id: string): Promise<number | undefined>;
|
|
197
|
-
set(id: string, value: number): Promise<void>;
|
|
198
|
-
}
|
|
199
|
-
|
|
200
|
-
declare class CoolDownError extends Error {
|
|
201
|
-
endsAt: Date;
|
|
202
|
-
constructor(endsAt: Date);
|
|
203
|
-
}
|
|
204
|
-
|
|
205
|
-
declare module 'discord.js' {
|
|
206
|
-
interface Message {
|
|
207
|
-
data: {
|
|
208
|
-
command: Command | null;
|
|
209
|
-
prefix: string;
|
|
210
|
-
cts: CommandClient;
|
|
211
|
-
};
|
|
212
|
-
}
|
|
213
|
-
interface CommandInteraction {
|
|
214
|
-
data: {
|
|
215
|
-
command: AppCommand;
|
|
216
|
-
cts: CommandClient;
|
|
217
|
-
};
|
|
218
|
-
}
|
|
219
|
-
interface MessageComponentInteraction {
|
|
220
|
-
data: {
|
|
221
|
-
command: AppCommand;
|
|
222
|
-
cts: CommandClient;
|
|
223
|
-
};
|
|
224
|
-
}
|
|
225
|
-
interface ContextMenuInteraction {
|
|
226
|
-
data: {
|
|
227
|
-
command: AppCommand;
|
|
228
|
-
cts: CommandClient;
|
|
229
|
-
};
|
|
230
|
-
}
|
|
231
|
-
}
|
|
232
|
-
|
|
233
|
-
declare class InvalidTargetError extends Error {
|
|
234
|
-
constructor();
|
|
235
|
-
}
|
|
236
|
-
|
|
237
|
-
declare class ModuleLoadError extends Error {
|
|
238
|
-
error: Error;
|
|
239
|
-
constructor(file: string, error: Error);
|
|
240
|
-
}
|
|
241
|
-
declare class InvalidModuleError extends Error {
|
|
242
|
-
}
|
|
243
|
-
|
|
244
|
-
declare class ArgumentNotProvided extends Error {
|
|
245
|
-
index: number;
|
|
246
|
-
command: Command;
|
|
247
|
-
msg: Message;
|
|
248
|
-
constructor(index: number, command: Command, msg: Message);
|
|
249
|
-
}
|
|
250
|
-
|
|
251
|
-
declare class ArgumentConverterNotFound extends Error {
|
|
252
|
-
type: Argument;
|
|
253
|
-
msg: Message;
|
|
254
|
-
constructor(type: Argument, msg: Message);
|
|
255
|
-
}
|
|
256
|
-
declare class ApplicationCommandArgumentConverterNotFound extends Error {
|
|
257
|
-
type: AppCommandArgument;
|
|
258
|
-
interaction: CommandInteraction | ContextMenuInteraction;
|
|
259
|
-
constructor(type: AppCommandArgument, interaction: CommandInteraction | ContextMenuInteraction);
|
|
260
|
-
}
|
|
261
|
-
|
|
262
|
-
declare class CommandCheckFailed extends Error {
|
|
263
|
-
msg: Message;
|
|
264
|
-
command: Command;
|
|
265
|
-
constructor(msg: Message, command: Command);
|
|
266
|
-
}
|
|
267
|
-
declare class ApplicationCommandCheckFailed extends Error {
|
|
268
|
-
interaction: CommandInteraction | MessageComponentInteraction | ContextMenuInteraction;
|
|
269
|
-
command: AppCommand;
|
|
270
|
-
constructor(interaction: CommandInteraction | MessageComponentInteraction | ContextMenuInteraction, command: AppCommand);
|
|
271
|
-
}
|
|
272
|
-
|
|
273
|
-
declare class UserPermissionRequired extends Error {
|
|
274
|
-
user: GuildMember;
|
|
275
|
-
permissions: Permissions;
|
|
276
|
-
constructor(user: GuildMember, permissions: Permissions);
|
|
277
|
-
}
|
|
278
|
-
declare class ClientPermissionRequired extends Error {
|
|
279
|
-
permissions: Permissions;
|
|
280
|
-
constructor(permissions: Permissions);
|
|
281
|
-
}
|
|
282
|
-
|
|
283
|
-
declare class OwnerOnlyCommandError extends Error {
|
|
284
|
-
constructor();
|
|
285
|
-
}
|
|
286
|
-
|
|
287
|
-
declare class GuildOnlyCommandError extends Error {
|
|
288
|
-
constructor();
|
|
289
|
-
}
|
|
290
|
-
|
|
291
|
-
declare class DMOnlyCommandError extends Error {
|
|
292
|
-
constructor();
|
|
293
|
-
}
|
|
294
|
-
|
|
295
|
-
declare class SlashCommandGlobalCheckError extends Error {
|
|
296
|
-
i: CommandInteraction;
|
|
297
|
-
constructor(i: CommandInteraction);
|
|
57
|
+
declare class CommandClient extends EventEmitter {
|
|
58
|
+
discord: Client;
|
|
59
|
+
logger: Logger;
|
|
60
|
+
ctsLogger: Logger;
|
|
61
|
+
registry: Registry;
|
|
62
|
+
constructor(discord: Client, logger?: Logger);
|
|
63
|
+
enableApplicationCommandsExtension(config: ApplicationCommandExtensionConfig): Promise<void>;
|
|
64
|
+
getApplicationCommandsExtension(): ApplicationCommandExtension | undefined;
|
|
65
|
+
static getFromModule(ext: object): CommandClient;
|
|
298
66
|
}
|
|
299
67
|
|
|
300
|
-
declare class
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
68
|
+
declare class Registry {
|
|
69
|
+
client: CommandClient;
|
|
70
|
+
extensions: object[];
|
|
71
|
+
emitters: Collection<string, EventEmitter>;
|
|
72
|
+
logger: Logger;
|
|
73
|
+
constructor(logger: Logger, client: CommandClient);
|
|
74
|
+
getComponentsWithTypeGlobal<T extends typeof BaseComponent<Config>, Config>(type: T): InstanceType<T>[];
|
|
75
|
+
getComponentsWithType<T extends typeof BaseComponent<Config>, Config>(ext: object, type: T): InstanceType<T>[];
|
|
76
|
+
registerEventListeners(ext: object): void;
|
|
77
|
+
unregisterEventListeners(ext: object): void;
|
|
78
|
+
registerModule(ext: object): Promise<void>;
|
|
79
|
+
unregisterModule(ext: object): Promise<void>;
|
|
80
|
+
runModuleHook(ext: object, hookName: string, ...args: unknown[]): void;
|
|
81
|
+
registerEventEmitter(name: string, emitter: EventEmitter): void;
|
|
305
82
|
}
|
|
306
83
|
|
|
307
|
-
declare
|
|
308
|
-
|
|
309
|
-
|
|
84
|
+
declare type ModuleHookStore = Collection<string | symbol, Function[]>;
|
|
85
|
+
declare const getModuleHookStore: (target: object) => ModuleHookStore;
|
|
86
|
+
declare const moduleHook: (name: string) => MethodDecorator;
|
|
310
87
|
|
|
311
|
-
declare class
|
|
312
|
-
|
|
88
|
+
declare class ApplicationCommandComponent extends BaseComponent<(UserApplicationCommandData | MessageApplicationCommandData | Omit<ChatInputApplicationCommandData, 'options'>) & {
|
|
89
|
+
type: ApplicationCommandType;
|
|
90
|
+
}> {
|
|
313
91
|
}
|
|
314
|
-
declare const
|
|
92
|
+
declare const applicationCommand: (options: (UserApplicationCommandData | MessageApplicationCommandData | Omit<ChatInputApplicationCommandData, "options">) & {
|
|
93
|
+
type: ApplicationCommandType;
|
|
94
|
+
}) => MethodDecorator;
|
|
315
95
|
|
|
316
|
-
declare
|
|
317
|
-
constructor(id: string, execute: MessageComponentExecutor);
|
|
318
|
-
}
|
|
319
|
-
declare const messageSelectMenu: (id: string) => MethodDecorator;
|
|
96
|
+
declare const option: (options: APIApplicationCommandOption) => ParameterDecorator;
|
|
320
97
|
|
|
321
|
-
export {
|
|
98
|
+
export { ApplicationCommandComponent, BaseComponent, CommandClient, Registry, applicationCommand, createArgumentDecorator, createComponentDecorator, getComponent, getComponentArgumentStore, getComponentStore, getModuleHookStore, moduleHook, option };
|
package/dist/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var lt=Object.create;var z=Object.defineProperty;var dt=Object.getOwnPropertyDescriptor;var ut=Object.getOwnPropertyNames,Se=Object.getOwnPropertySymbols,pt=Object.getPrototypeOf,ve=Object.prototype.hasOwnProperty,ft=Object.prototype.propertyIsEnumerable;var Oe=n=>z(n,"__esModule",{value:!0}),i=(n,e)=>z(n,"name",{value:e,configurable:!0});var ke=(n,e)=>{var t={};for(var r in n)ve.call(n,r)&&e.indexOf(r)<0&&(t[r]=n[r]);if(n!=null&&Se)for(var r of Se(n))e.indexOf(r)<0&&ft.call(n,r)&&(t[r]=n[r]);return t};var ht=(n,e)=>{for(var t in e)z(n,t,{get:e[t],enumerable:!0})},Te=(n,e,t,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of ut(e))!ve.call(n,o)&&(t||o!=="default")&&z(n,o,{get:()=>e[o],enumerable:!(r=dt(e,o))||r.enumerable});return n},le=(n,e)=>Te(Oe(z(n!=null?lt(pt(n)):{},"default",!e&&n&&n.__esModule?{get:()=>n.default,enumerable:!0}:{value:n,enumerable:!0})),n),gt=(n=>(e,t)=>n&&n.get(e)||(t=Te(Oe({}),e,1),n&&n.set(e,t),t))(typeof WeakMap!="undefined"?new WeakMap:0);var _t={};ht(_t,{AppCommand:()=>me,ApplicationCommandArgumentConverter:()=>ae,ApplicationCommandArgumentConverterNotFound:()=>O,ApplicationCommandCheckFailed:()=>k,ArgumentConverter:()=>ie,ArgumentConverterNotFound:()=>I,ArgumentNotProvided:()=>j,BuiltInModule:()=>C,ButtonInteractionHandler:()=>fe,ClientPermissionRequired:()=>K,Command:()=>se,CommandCheckFailed:()=>Z,CommandClient:()=>be,CommandNotFound:()=>te,CoolDownError:()=>B,CoolDownType:()=>y,DMOnlyCommandError:()=>U,DefaultCoolDownAdapter:()=>ce,GuildOnlyCommandError:()=>P,InvalidModuleError:()=>_,InvalidTargetError:()=>v,Listener:()=>oe,Module:()=>x,ModuleLoadError:()=>X,OwnerOnlyCommandError:()=>D,Registry:()=>ne,SelectMenuInteractionHandler:()=>he,SlashCommandGlobalCheckError:()=>ee,UserPermissionRequired:()=>L,applicationCommand:()=>Ot,applicationCommandArgumentConverter:()=>wt,argumentConverter:()=>E,command:()=>yt,coolDown:()=>vt,createCheckDecorator:()=>M,dmOnly:()=>bt,guildOnly:()=>Mt,listener:()=>ue,messageButton:()=>Tt,messageSelectMenu:()=>At,option:()=>kt,optional:()=>xt,ownerOnly:()=>Rt,requireClientPermissions:()=>St,requireUserPermissions:()=>Et,rest:()=>Ct});var Jn=require("reflect-metadata");var F=Symbol("Command.TS Commands"),$=Symbol("Command.TS Slash Commands"),de=Symbol("Command.TS Slash Command Options"),W=Symbol("Command.TS Listeners"),A=Symbol("Command.TS Module Path"),xe=Symbol("Command.TS Module Identifier"),q=Symbol("Command.TS Built-In Module"),Ce=Symbol("Command.TS Optional Parameters"),Re=Symbol("Command.TS Rest Parameter"),Y=Symbol("Command.TS Argument Converter"),J=Symbol("Command.TS Slash Argument Converter"),Q=Symbol("Command.TS Command Checks"),V=Symbol("Command.TS Slash Command Checks"),b=Symbol("Command.TS Message Component Handlers");var x=class{get logger(){return this.commandClient.logger.getChildLogger({name:this.constructor.name})}get commands(){return Reflect.getMetadata(F,this)||[]}get listeners(){return Reflect.getMetadata(W,this)||[]}get argumentConverters(){return Reflect.getMetadata(Y,this)||[]}get applicationCommandArgumentConverters(){return Reflect.getMetadata(J,this)||[]}get applicationCommands(){return Reflect.getMetadata($,this)||[]}get messageComponentHandlers(){return Reflect.getMetadata(b,this)||[]}get path(){return Reflect.getMetadata(A,this)}load(){}unload(){}beforeReload(){}afterReload(){}};i(x,"Module");var at=le(require("lodash"));var re=le(require("path"));var v=class extends Error{constructor(){super('Class does not extend "Module" class.')}};i(v,"InvalidTargetError");var X=class extends Error{constructor(e,t){super("Failed to load module "+e);this.error=t}};i(X,"ModuleLoadError");var _=class extends Error{};i(_,"InvalidModuleError");var j=class extends Error{constructor(e,t,r){super(`Required argument #${e} not provided.`);this.index=e,this.command=t,this.msg=r}};i(j,"ArgumentNotProvided");var I=class extends Error{constructor(e,t){super(`Argument converter ${e.type.name} not found.`);this.type=e,this.msg=t}};i(I,"ArgumentConverterNotFound");var O=class extends Error{constructor(e,t){super(`Argument converter ${e.type.name} not found.`);this.type=e,this.interaction=t}};i(O,"ApplicationCommandArgumentConverterNotFound");var Z=class extends Error{constructor(e,t){super();this.msg=e,this.command=t}};i(Z,"CommandCheckFailed");var k=class extends Error{constructor(e,t){super();this.interaction=e,this.command=t}};i(k,"ApplicationCommandCheckFailed");var L=class extends Error{constructor(e,t){super();this.user=e,this.permissions=t}};i(L,"UserPermissionRequired");var K=class extends Error{constructor(e){super();this.permissions=e}};i(K,"ClientPermissionRequired");var D=class extends Error{constructor(){super()}};i(D,"OwnerOnlyCommandError");var P=class extends Error{constructor(){super()}};i(P,"GuildOnlyCommandError");var U=class extends Error{constructor(){super()}};i(U,"DMOnlyCommandError");var ee=class extends Error{constructor(e){super("Slash command before-run check failed.");this.i=e}};i(ee,"SlashCommandGlobalCheckError");var te=class extends Error{constructor(e,t,r){super(`Command ${e} not found.`);this.commandName=e,this.msg=t,this.args=r}};i(te,"CommandNotFound");var Ae=require("discord.js"),_e=le(require("walk-sync")),je=le(require("fs")),ne=class{constructor(e){this.client=e,this.modules=new Ae.Collection}get logger(){return this.client.logger.getChildLogger({name:"Registry"})}get commands(){let e=[];for(let[,t]of this.modules)e.push(...t.commands);return e}get argumentConverters(){let e=[];for(let[,t]of this.modules)e.push(...t.argumentConverters);return e}get applicationCommandArgumentConverters(){let e=[];for(let[,t]of this.modules)e.push(...t.applicationCommandArgumentConverters);return e}get applicationCommands(){let e=[];for(let[,t]of this.modules)e.push(...t.applicationCommands);return e}get messageComponentHandlers(){let e=[];for(let[,t]of this.modules)e.push(...t.messageComponentHandlers);return e}registerModule(e){e.commandClient=this.client,this.modules.set(Symbol(e.constructor.name),e);let t=[];for(let r of e.listeners){let o=r.execute.bind(e);t.push({event:r.name,execute:o}),this.client.client.on(r.name,o)}return Reflect.defineMetadata(xe,t,e),e}async loadModulesIn(e,t=!1){let r=t?e:re.default.join(require.main.path,e);for(let o of(0,_e.default)(r))if(je.lstatSync(re.default.join(r,o)).isFile()){if(o.endsWith(".map"))continue;await this.loadModule(re.default.join(r,o),!0)}}async loadModule(e,t=!1){let r=t?e:re.default.join(require.main.path,e),o;try{o=require(r)}catch(a){throw new X(r,a)}if(o.loaded)throw new Error("MODULE_ALREADY_LOADED");if(!o.install)throw new _("Install function not found.");let s=o.install(this.client);if(!(s instanceof x))throw new v;return Reflect.defineMetadata(A,require.resolve(r),s),this.registerModule(s),await s.load(),o.loaded=!0,s}async syncCommands(){var a,m;this.logger.debug("Syncing commands...");let e=this.applicationCommands.filter(c=>!c.guild),t=this.client.options.applicationCommands.guild,r=i(async(c,d)=>{this.logger.debug(`Syncing for guild ${c.name}(${c.id})`);let u=d.map(g=>g.command);this.logger.debug(`Command List: ${u.map(g=>g.name).join(", ")}`),await c.commands.set(u)},"syncForGuild"),o=this.applicationCommands.filter(c=>!!c.guild);if(t)if(typeof t=="string")await r(await this.client.client.guilds.fetch(t),[...e,...o.filter(c=>c.guild&&(typeof c.guild=="string"?t===c.guild:c.guild.includes(t)))]);else for(let c of t)await r(await this.client.client.guilds.fetch(c),[...e,...o.filter(d=>d.guild&&(typeof d.guild=="string"?c===d.guild:d.guild.includes(c)))]);else this.logger.debug("Syncing global..."),await((a=this.client.client.application)==null?void 0:a.commands.set(e.map(c=>c.command)));let s=new Set;for(let c of o)if(!!c.guild)if(typeof c.guild=="string")s.add(c.guild);else for(let d of c.guild)s.add(d);for(let c of s)((m=this.client.options.applicationCommands.guild)==null?void 0:m.includes(c))||await r(await this.client.client.guilds.fetch(c),o.filter(d=>d.guild&&(typeof d.guild=="string"?c===d.guild:d.guild.includes(c))));this.logger.debug("Syncing ended.")}async unregisterModule(e){if(Reflect.getMetadata(q,e))throw new Error("Built-in modules cannot be unloaded");let t=this.modules.findKey(o=>o===e);if(!t)return e;await e.unload();let r=Reflect.getMetadata(xe,e);for(let o of r)this.client.client.removeListener(o.event,o.execute);return this.modules.delete(t),e}async unloadModule(e){let t=Reflect.getMetadata(A,e);if(!t)throw new _("This module is not loaded by loadModule.");await this.unregisterModule(e),delete require.cache[t]}async reloadModule(e){await e.beforeReload();let t=Reflect.getMetadata(A,e);return await this.unloadModule(e),await(await this.loadModule(t,!0)).afterReload(),!0}async reloadAll(){let e=[];for(let[,t]of this.modules.filter(r=>!!r.path&&!Reflect.getMetadata(q,r)))try{await this.reloadModule(t),e.push({path:t.path,success:!0})}catch(r){e.push({error:r,path:t.path,success:!1})}return e}};i(ne,"Registry");var ct=require("discord.js");var C=class extends x{constructor(){super();Reflect.defineMetadata(q,!0,this)}};i(C,"BuiltInModule");var oe=class{constructor(e,t){this.name=e,this.execute=t}};i(oe,"Listener");var w=i(n=>{if(!(n instanceof x))throw new v},"checkTarget");var ue=i(n=>(e,t)=>{w(e);let r=Reflect.getMetadata(W,e),o=new oe(n,Reflect.get(e,t));r?r.push(o):(r=[o],Reflect.defineMetadata(W,r,e))},"listener");var f=require("discord.js");function Ie(n,e,t,r,o){var s={};Object.keys(r).forEach(function(m){s[m]=r[m]}),s.enumerable=!!s.enumerable,s.configurable=!!s.configurable,("value"in s||s.initializer)&&(s.writable=!0),s=t.slice().reverse().reduce(function(m,c){return c&&c(n,e,m)||m},s),o&&s.initializer!==void 0&&(s.value=s.initializer?s.initializer.call(o):void 0,s.initializer=void 0);var a=Object.getOwnPropertyDescriptor(n,e);return a&&(a.get||a.set)&&(delete s.writable,delete s.initializer),s.initializer===void 0&&(Object.defineProperty(n,e,s),s=null),s}i(Ie,"_applyDecoratedDescriptor");var R,Le,Ke,De,Pe,Ue,Be,Ne=(R=i(class extends C{constructor(e){super();this.registry=e,this.client=e.client}async message(e){let t=i(r=>this.client.client.emit("commandError",r,e),"error1");try{let r=typeof this.client.options.command.prefix=="string"?this.client.options.command.prefix:typeof this.client.options.command.prefix=="function"?await this.client.options.command.prefix(e):this.client.options.command.prefix,o;if(typeof r=="object"){let u=r.find(g=>e.content.includes(g));if(!u)return;o=u}else{if(!e.content.includes(r))return;o=r}if(!e.content.startsWith(o))return;let s=e.content.slice(o.length).split(" "),a=s.shift();if(!a)return;let m=null;for(let u of this.registry.commands)if([...typeof u.aliases=="function"?await u.aliases(e):u.aliases,u.name].some(S=>S===a)){m=u;break}if(e.data={cts:this.client,command:m,prefix:o},!await this.client.options.command.check(e))return;if(!m)return t(new te(a,e,s));let c=this.registry.modules.find(u=>u.commands.includes(m));if(!c)return;let d=[];for(let u of m.checks)if(!await u(e))return t(new Z(e,m));for(let u=0;u<m.argTypes.length;u++){let g=m.argTypes[u],S=this.registry.argumentConverters.find(G=>G.type===g.type);if(g.rest){let G=s.join(" ");d.push(G);break}if(!S)return t(new I(g,e));let ge=this.registry.modules.find(G=>G.argumentConverters.includes(S));if(!ge)return t(new I(g,e));if(S.withoutParameter){d.push(await S.execute(ge,e));continue}let ye=s.shift();if(g.optional&&!ye)break;if(!ye)return t(new j(u,m,e));let we=await S.execute(ge,e,ye);if(we==null&&!g.optional)return t(new j(u,m,e));d.push(we)}try{await m.execute(c,d)}catch(u){return t(u)}}catch(r){return t(r)}}async command(e){var r,o;let t=i(s=>this.client.client.emit("applicationCommandError",s,e),"error2");try{let s=this.registry.applicationCommands.find(c=>c.command.type==="CHAT_INPUT"&&c.command.name===e.commandName);if(!s)return;let a=this.registry.modules.find(c=>c.applicationCommands.includes(s));if(!a)return;let m=[];if(e.data={cts:this.client,command:s},!await this.client.options.slashCommands.check(e))return t(new ee(e));for(let c of s.checks)if(!await c(e))return t(new k(e,s));for(let c=0;c<s.params.length;c++){let d=s.params[c],u=this.registry.applicationCommandArgumentConverters.find(g=>g.type===d.type);if(d.type===f.CommandInteraction){m.push(e);continue}if(d.type===f.CommandInteractionOptionResolver){m.push(e.options);continue}if(d.name){switch(d.type){case String:m.push(e.options.getString(d.name,!1)||void 0);break;case f.Role:m.push(e.options.getRole(d.name,!1)||void 0);break;case f.User:m.push(e.options.getUser(d.name,!1)||void 0);break;case f.GuildMember:m.push(e.options.getMember(d.name,!1)||void 0);break;case Boolean:m.push(e.options.getBoolean(d.name,!1)||void 0);break;case Number:let g=e.options.get(d.name,!1);if(!g){m.push(void 0);break}if(g.type=="NUMBER"){m.push((r=e.options.getNumber(d.name,!1))!=null?r:void 0);break}if(g.type=="INTEGER"){m.push((o=e.options.getInteger(d.name,!1))!=null?o:void 0);break}}continue}if(!u)return t(new O(d,e));m.push(await u.execute(a,e))}await s.execute(a,m)}catch(s){return t(s)}}async messageComponent(e){let t=i(r=>this.client.client.emit("messageComponentError",r),"error");try{let r=[];for(let o of this.registry.messageComponentHandlers)o.componentId===o.componentId&&o.componentType===e.componentType&&r.push(o);for(let o of r){let s=this.registry.modules.find(a=>a.messageComponentHandlers.includes(o));!s||await o.run(s,e)}}catch(r){t(r)}}async userContextMenu(e){let t=i(r=>this.client.client.emit("applicationCommandError",r,e),"error3");try{let r=this.registry.applicationCommands.find(a=>a.command.type==="USER"&&a.command.name===e.commandName);if(!r)return;let o=this.registry.modules.find(a=>a.applicationCommands.includes(r));if(!o)return;e.data={cts:this.client,command:r};for(let a of r.checks)if(!await a(e))return t(new k(e,r));let s=[];for(let a=0;a<r.params.length;a++){let m=r.params[a],c=this.registry.applicationCommandArgumentConverters.find(d=>d.type===m.type);if(m.type===f.UserContextMenuInteraction){s.push(e);continue}if(!c)return t(new O(m,e));s.push(await c.execute(o,e))}await r.execute(o,s)}catch(r){return t(r)}}async messageContextMenu(e){let t=i(r=>this.client.client.emit("applicationCommandError",r,e),"error4");try{let r=this.registry.applicationCommands.find(a=>a.command.type==="MESSAGE"&&a.command.name===e.commandName);if(!r)return;let o=this.registry.modules.find(a=>a.applicationCommands.includes(r));if(!o)return;e.data={cts:this.client,command:r};for(let a of r.checks)if(!await a(e))return t(new k(e,r));let s=[];for(let a=0;a<r.params.length;a++){let m=r.params[a],c=this.registry.applicationCommandArgumentConverters.find(d=>d.type===m.type);if(m.type===f.MessageContextMenuInteraction){s.push(e);continue}if(!c)return t(new O(m,e));s.push(await c.execute(o,e))}await r.execute(o,s)}catch(r){return t(r)}}async interaction(e){let t=i(r=>this.client.client.emit("interactionError",r,e),"error");try{if(await this.client.options.applicationCommands.beforeRunCheck(e),e.isCommand()){await this.command(e);return}if(e.isMessageComponent()){await this.messageComponent(e);return}if(e.isMessageContextMenu()){await this.messageContextMenu(e);return}if(e.isUserContextMenu()){await this.userContextMenu(e);return}}catch(r){return t(r)}}},"CommandHandler"),Le=ue("messageCreate"),Ke=typeof Reflect!="undefined"&&typeof Reflect.metadata=="function"&&Reflect.metadata("design:type",Function),De=typeof Reflect!="undefined"&&typeof Reflect.metadata=="function"&&Reflect.metadata("design:paramtypes",[typeof f.Message=="undefined"?Object:f.Message]),Ie(R.prototype,"message",[Le,Ke,De],Object.getOwnPropertyDescriptor(R.prototype,"message"),R.prototype),Pe=ue("interactionCreate"),Ue=typeof Reflect!="undefined"&&typeof Reflect.metadata=="function"&&Reflect.metadata("design:type",Function),Be=typeof Reflect!="undefined"&&typeof Reflect.metadata=="function"&&Reflect.metadata("design:paramtypes",[typeof f.Interaction=="undefined"?Object:f.Interaction]),Ie(R.prototype,"interaction",[Pe,Ue,Be],Object.getOwnPropertyDescriptor(R.prototype,"interaction"),R.prototype),R);var se=class{execute(e,t){return this.run.apply(e,t)}get checks(){return Reflect.getMetadata(Q,this.module,this.key)||[]}constructor(e,t,r,o,s,a){this.run=e,this.argTypes=t,this.name=r,this.aliases=o,this.module=s,this.key=a}};i(se,"Command");var ie=class{execute(e,t,r){return this.run.apply(e,[t,r])}constructor(e,t,r){this.type=e,this.run=t,this.withoutParameter=r}};i(ie,"ArgumentConverter");var ae=class{execute(e,t){return this.run.apply(e,[t])}constructor(e,t){this.type=e,this.run=t}};i(ae,"ApplicationCommandArgumentConverter");var M=i((n,e)=>(t,r)=>{if(n){let o=Reflect.getMetadata(Q,t,r);o?o.push(n):(o=[n],Reflect.defineMetadata(Q,o,t,r))}if(e){let o=Reflect.getMetadata(V,t,r);o?o.push(e):(o=[e],Reflect.defineMetadata(V,o,t,r))}},"createCheckDecorator");var T=require("discord.js");var yt=i((n={})=>(e,t)=>{var c;w(e);let r=Reflect.getMetadata(F,e),o=(c=n.optionTypes)!=null?c:Reflect.getMetadata("design:paramtypes",e,t),s=Reflect.getMetadata(Ce,e,t)||-1,a=Reflect.getMetadata(Re,e,t)||-1,m=new se(Reflect.get(e,t),o.map((d,u)=>({type:d,optional:s===-1?!1:s<=u,rest:a===-1?!1:a===u})),n.name||t,n.aliases||[],e,t);r?r.push(m):(r=[m],Reflect.defineMetadata(F,r,e))},"command"),E=i((n,e=!0)=>(t,r)=>{w(t);let o=Reflect.getMetadata(Y,t),s=new ie(n,Reflect.get(t,r),!e);o?o.push(s):(o=[s],Reflect.defineMetadata(Y,o,t))},"argumentConverter"),wt=i(n=>(e,t)=>{w(e);let r=Reflect.getMetadata(J,e),o=new ae(n,Reflect.get(e,t));r?r.push(o):(r=[o],Reflect.defineMetadata(J,r,e))},"applicationCommandArgumentConverter"),xt=i((n,e,t)=>{w(n),Reflect.defineMetadata(Ce,t,n,e)},"optional"),Ct=i((n,e,t)=>{w(n);let r=Reflect.getMetadata("design:paramtypes",n,e);if(r.length-1!==t)throw new Error("Rest decorator must be used at last argument.");if(r[t]!==String)throw new Error('Rest argument type must be "String"');Reflect.defineMetadata(Re,t,n,e)},"rest"),Rt=M(n=>{if(n.data.cts.owners.includes(n.author.id))return!0;throw new D},n=>{if(n.data.cts.owners.includes(n.user.id))return!0;throw new D}),Mt=M(n=>{if(n.guild)return!0;throw new P},n=>{if(n.guildId)return!0;throw new P}),bt=M(n=>{if(!n.guild)return!0;throw new U},n=>{if(!n.guildId)return!0;throw new U}),Et=i(n=>M(e=>{if(!e.guild||!e.member)throw new Error("This command must be used in guild.");if(e.member.permissionsIn(e.channel).has(n))return!0;throw new L(e.member,new T.Permissions(n))},e=>{if(!e.guild||!e.member)throw new Error("This command must be used in guild.");if(!(e.member instanceof T.GuildMember)||e.member.permissionsIn(e.channel).has(n))return!0;throw new L(e.member,new T.Permissions(n))}),"requireUserPermissions"),St=i(n=>M(e=>{if(!e.guild)throw new Error("This command must be used in guild.");if(e.guild.me.permissionsIn(e.channel).has(n))return!0;throw new K(new T.Permissions(n))},e=>{if(!e.guild)throw new Error("This command must be used in guild.");if(e.guild.me.permissionsIn(e.channel).has(n))return!0;throw new K(new T.Permissions(n))}),"requireClientPermissions");var y;(function(n){n[n.USER=0]="USER",n[n.CHANNEL=1]="CHANNEL",n[n.GUILD=2]="GUILD",n[n.ROLE=3]="ROLE",n[n.CATEGORY=4]="CATEGORY",n[n.MEMBER=5]="MEMBER"})(y||(y={}));var Me=require("discord.js");var B=class extends Error{constructor(e){super();this.endsAt=e}};i(B,"CoolDownError");var vt=i((n,e)=>M(async t=>{var c;let r=t.data.cts.coolDownAdapter,s=i(()=>{var d;switch(n){case y.USER:return t.author.id;case y.GUILD:return(t.guild||t.author).id;case y.CHANNEL:return t.channel.id;case y.MEMBER:return`${(d=t.guild)==null?void 0:d.id}.${t.author.id}`;case y.ROLE:return(t.channel instanceof Me.DMChannel?t.channel:t.member.roles.highest).id;case y.CATEGORY:return(t.channel.parent||t.channel).id}},"getKey")()+"-command-"+((c=t.data.command)==null?void 0:c.name),a=await r.get(s),m=Date.now();if(!a||!(m-a<e*1e3))return await r.set(s,m),!0;throw new B(new Date(a+e*1e3))},async t=>{if(t.isMessageComponent())return!0;let r=t.data.cts.coolDownAdapter,s=i(()=>{var c;switch(n){case y.USER:return t.user.id+".user";case y.GUILD:return(t.guild||t.user).id+".guild";case y.CHANNEL:return t.channel.id+".channel";case y.MEMBER:return`${(c=t.guild)==null?void 0:c.id}.${t.user.id}`;case y.ROLE:return(t.channel instanceof Me.DMChannel?t.channel:t.member.roles.highest).id+".role";case y.CATEGORY:return(t.channel.parent||t.channel).id+".category"}},"getKey")()+"-appCommand-"+t.commandName,a=await r.get(s),m=Date.now();if(!a||!(m-a<e*1e3))return await r.set(s,m),!0;throw new B(new Date(a+e*1e3))}),"coolDown");var He=require("discord.js"),ce=class{async get(e){return this.map.get(e)}async set(e,t){this.map.set(e,t)}constructor(){this.map=new He.Collection}};i(ce,"DefaultCoolDownAdapter");var h=require("discord.js");function N(n,e,t,r,o){var s={};Object.keys(r).forEach(function(m){s[m]=r[m]}),s.enumerable=!!s.enumerable,s.configurable=!!s.configurable,("value"in s||s.initializer)&&(s.writable=!0),s=t.slice().reverse().reduce(function(m,c){return c&&c(n,e,m)||m},s),o&&s.initializer!==void 0&&(s.value=s.initializer?s.initializer.call(o):void 0,s.initializer=void 0);var a=Object.getOwnPropertyDescriptor(n,e);return a&&(a.get||a.set)&&(delete s.writable,delete s.initializer),s.initializer===void 0&&(Object.defineProperty(n,e,s),s=null),s}i(N,"_applyDecoratedDescriptor");var p,Ge,ze,Fe,$e,We,qe,Ye,Je,Qe,Ve,Xe,Ze,et,tt,rt,nt,ot,st,it=(p=i(class extends C{constructor(e){super();this.cts=e,this.client=e.client}message(e){return e}string(e,t){return t}getUserIDByMention(e){if(!!e&&e.startsWith("<@")&&e.endsWith(">"))return e=e.slice(2,-1),e.startsWith("!")&&(e=e.slice(1)),e}user(e,t){let r=this.client.users.cache.get(t);if(r||(r=this.client.users.cache.find(s=>s.tag===t||s.username===t),r))return r;let o=this.getUserIDByMention(t);return o?(r=this.client.users.cache.get(o),r||null):null}member(e,t){var s,a,m;let r=(s=e.guild)==null?void 0:s.members.cache.get(t);if(!r||(r=(a=e.guild)==null?void 0:a.members.cache.find(c=>c.user.tag===t),r))return r;let o=this.getUserIDByMention(t);if(!!o)return r=(m=e.guild)==null?void 0:m.members.cache.get(o),r||void 0}number(e,t){let r=Number(t);return isNaN(r)?void 0:r}getRoleIDByMention(e){if(!!e&&e.startsWith("<@")&&e.endsWith(">"))return e=e.slice(2,-1),e.startsWith("&")&&(e=e.slice(1)),e}role(e,t){var s;let r=this.getRoleIDByMention(t);return r&&((s=e.guild)==null?void 0:s.roles.cache.get(r))||void 0}},"BuiltinCommandConverters"),Ge=E(h.Message,!1),ze=typeof Reflect!="undefined"&&typeof Reflect.metadata=="function"&&Reflect.metadata("design:type",Function),Fe=typeof Reflect!="undefined"&&typeof Reflect.metadata=="function"&&Reflect.metadata("design:paramtypes",[typeof h.Message=="undefined"?Object:h.Message]),N(p.prototype,"message",[Ge,ze,Fe],Object.getOwnPropertyDescriptor(p.prototype,"message"),p.prototype),$e=E(String),We=typeof Reflect!="undefined"&&typeof Reflect.metadata=="function"&&Reflect.metadata("design:type",Function),qe=typeof Reflect!="undefined"&&typeof Reflect.metadata=="function"&&Reflect.metadata("design:paramtypes",[typeof h.Message=="undefined"?Object:h.Message,String]),N(p.prototype,"string",[$e,We,qe],Object.getOwnPropertyDescriptor(p.prototype,"string"),p.prototype),Ye=E(h.User),Je=typeof Reflect!="undefined"&&typeof Reflect.metadata=="function"&&Reflect.metadata("design:type",Function),Qe=typeof Reflect!="undefined"&&typeof Reflect.metadata=="function"&&Reflect.metadata("design:paramtypes",[typeof h.Message=="undefined"?Object:h.Message,String]),N(p.prototype,"user",[Ye,Je,Qe],Object.getOwnPropertyDescriptor(p.prototype,"user"),p.prototype),Ve=E(h.GuildMember),Xe=typeof Reflect!="undefined"&&typeof Reflect.metadata=="function"&&Reflect.metadata("design:type",Function),Ze=typeof Reflect!="undefined"&&typeof Reflect.metadata=="function"&&Reflect.metadata("design:paramtypes",[typeof h.Message=="undefined"?Object:h.Message,String]),N(p.prototype,"member",[Ve,Xe,Ze],Object.getOwnPropertyDescriptor(p.prototype,"member"),p.prototype),et=E(Number),tt=typeof Reflect!="undefined"&&typeof Reflect.metadata=="function"&&Reflect.metadata("design:type",Function),rt=typeof Reflect!="undefined"&&typeof Reflect.metadata=="function"&&Reflect.metadata("design:paramtypes",[typeof h.Message=="undefined"?Object:h.Message,String]),N(p.prototype,"number",[et,tt,rt],Object.getOwnPropertyDescriptor(p.prototype,"number"),p.prototype),nt=E(h.Role),ot=typeof Reflect!="undefined"&&typeof Reflect.metadata=="function"&&Reflect.metadata("design:type",Function),st=typeof Reflect!="undefined"&&typeof Reflect.metadata=="function"&&Reflect.metadata("design:paramtypes",[typeof h.Message=="undefined"?Object:h.Message,String]),N(p.prototype,"role",[nt,ot,st],Object.getOwnPropertyDescriptor(p.prototype,"role"),p.prototype),p);var pe=class extends C{constructor(e){super();this.cts=e,this.client=e.client}};i(pe,"BuiltinApplicationCommandConverters");var mt=require("tslog"),be=class{async fetchOwners(){var t,r;await((t=this.client.application)==null?void 0:t.fetch());let e=(r=this.client.application)==null?void 0:r.owner;return e?e instanceof ct.User?[e.id]:e.members.map(o=>o.id):[]}async ready(){if(!this._isReady){if(this._isReady=!0,this.options.owners==="auto"){let e=await this.fetchOwners();this.owners.push(...e)}this.options.applicationCommands.autoSync&&await this.registry.syncCommands()}}constructor(s){var a=s,{client:e,coolDownAdapter:t,logger:r}=a,o=ke(a,["client","coolDownAdapter","logger"]);this.owners=[],this.registry=new ne(this),this._isReady=!1,this.client=e,this.coolDownAdapter=t||new ce,this.options=at.default.merge({command:{prefix:"!",check:()=>!0},owners:"auto",slashCommands:{check:()=>!0},applicationCommands:{autoSync:!1,beforeRunCheck:()=>{}}},o),this.logger=r!=null?r:new mt.Logger({name:"Command.TS"}),this.options.owners!=="auto"&&(this.owners=this.options.owners),this.client.once("ready",()=>this.ready()),this.registry.registerModule(new Ne(this.registry)),this.registry.registerModule(new it(this)),this.registry.registerModule(new pe(this))}};i(be,"CommandClient");var Ee=require("discord.js");var me=class{get checks(){return Reflect.getMetadata(V,this.module,this.key)||[]}execute(e,t){return this.run.apply(e,t)}constructor(e,t,r,o,s,a){this.command=e,this.run=t,this.module=r,this.params=o,this.guild=s,this.key=a}};i(me,"AppCommand");var Ot=i(n=>(e,t)=>{var m;w(e);let r=Reflect.getMetadata($,e),o=(m=n.optionTypes)!=null?m:Reflect.getMetadata("design:paramtypes",e,t),s=Reflect.getMetadata(de,e,t)||new Ee.Collection,a=new me(n.command,Reflect.get(e,t),e,o.map((c,d)=>({type:c,name:s.get(d)})),n.guild,t);r?r.push(a):(r=[a],Reflect.defineMetadata($,r,e))},"applicationCommand"),kt=i(n=>(e,t,r)=>{w(e);let o=Reflect.getMetadata(de,e,t);o||(o=new Ee.Collection,Reflect.defineMetadata(de,o,e,t)),o.set(r,n)},"option");var H=class{constructor(e,t,r){this.componentId=e,this.componentType=t,this.execute=r}run(e,t){return this.execute.apply(e,[t])}};i(H,"MessageComponentHandler");var fe=class extends H{constructor(e,t){super(e,"BUTTON",t)}};i(fe,"ButtonInteractionHandler");var Tt=i(n=>(e,t)=>{w(e);let r=new fe(n,Reflect.get(e,t)),o=Reflect.getMetadata(b,e);o?o.push(r):(o=[r],Reflect.defineMetadata(b,o,e))},"messageButton");var he=class extends H{constructor(e,t){super(e,"SELECT_MENU",t)}};i(he,"SelectMenuInteractionHandler");var At=i(n=>(e,t)=>{w(e);let r=new he(n,Reflect.get(e,t)),o=Reflect.getMetadata(b,e);o?o.push(r):(o=[r],Reflect.defineMetadata(b,o,e))},"messageSelectMenu");module.exports=gt(_t);0&&(module.exports={AppCommand,ApplicationCommandArgumentConverter,ApplicationCommandArgumentConverterNotFound,ApplicationCommandCheckFailed,ArgumentConverter,ArgumentConverterNotFound,ArgumentNotProvided,BuiltInModule,ButtonInteractionHandler,ClientPermissionRequired,Command,CommandCheckFailed,CommandClient,CommandNotFound,CoolDownError,CoolDownType,DMOnlyCommandError,DefaultCoolDownAdapter,GuildOnlyCommandError,InvalidModuleError,InvalidTargetError,Listener,Module,ModuleLoadError,OwnerOnlyCommandError,Registry,SelectMenuInteractionHandler,SlashCommandGlobalCheckError,UserPermissionRequired,applicationCommand,applicationCommandArgumentConverter,argumentConverter,command,coolDown,createCheckDecorator,dmOnly,guildOnly,listener,messageButton,messageSelectMenu,option,optional,ownerOnly,requireClientPermissions,requireUserPermissions,rest});
|
|
1
|
+
var ot=Object.create;var u=Object.defineProperty;var rt=Object.getOwnPropertyDescriptor;var nt=Object.getOwnPropertyNames,W=Object.getOwnPropertySymbols,st=Object.getPrototypeOf,k=Object.prototype.hasOwnProperty,it=Object.prototype.propertyIsEnumerable;var P=(o,t,e)=>t in o?u(o,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):o[t]=e,I=(o,t)=>{for(var e in t||(t={}))k.call(t,e)&&P(o,e,t[e]);if(W)for(var e of W(t))it.call(t,e)&&P(o,e,t[e]);return o};var G=o=>u(o,"__esModule",{value:!0}),s=(o,t)=>u(o,"name",{value:t,configurable:!0});var mt=(o,t)=>{for(var e in t)u(o,e,{get:t[e],enumerable:!0})},N=(o,t,e,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of nt(t))!k.call(o,r)&&(e||r!=="default")&&u(o,r,{get:()=>t[r],enumerable:!(n=rt(t,r))||n.enumerable});return o},p=(o,t)=>N(G(u(o!=null?ot(st(o)):{},"default",!t&&o&&o.__esModule?{get:()=>o.default,enumerable:!0}:{value:o,enumerable:!0})),o),ct=(o=>(t,e)=>o&&o.get(t)||(e=N(G({}),t,1),o&&o.set(t,e),e))(typeof WeakMap!="undefined"?new WeakMap:0);var pt={};mt(pt,{ApplicationCommandComponent:()=>y,BaseComponent:()=>f,CommandClient:()=>g,Registry:()=>v,applicationCommand:()=>lt,createArgumentDecorator:()=>H,createComponentDecorator:()=>b,getComponent:()=>at,getComponentArgumentStore:()=>A,getComponentStore:()=>C,getModuleHookStore:()=>E,moduleHook:()=>j,option:()=>Q});var bt=require("reflect-metadata");var z=require("discord.js");var R=class{constructor(t){this.type=t,this.decorators=[]}};s(R,"ComponentArgument");var f=class{argTypes=new z.Collection;constructor(t,e,n){this.options=this.convertOptions(t),this.method=e;for(let r=0;r<n.length;r++){let i=n[r];this.argTypes.set(r,new R(i))}}convertOptions(t){return t}execute(t,e){return this.method.call(t,...e)}};s(f,"BaseComponent");var O=require("discord.js");var x=Symbol(),ht=Symbol(),F=Symbol(),w=Symbol();var C=s(o=>{let t=Reflect.getMetadata(x,o);return t||(t=new O.Collection,Reflect.defineMetadata(x,t,o)),t},"getComponentStore"),at=s((o,t)=>C(o).get(t),"getComponent"),b=s(o=>t=>(e,n)=>{var r=new o(t,Reflect.get(e,n),Reflect.getMetadata("design:paramtypes",e,n));let i=C(e);A(e,n).forEach((l,et)=>{var D;(D=r.argTypes.get(et))==null||D.decorators.push(l)}),i.set(n,r)},"createComponentDecorator"),A=s((o,t)=>{let e=Reflect.getMetadata(x,o,t);return e||(e=new O.Collection,Reflect.defineMetadata(x,e,o,t)),e},"getComponentArgumentStore"),H=s(o=>t=>(e,n,r)=>{var i=new o(t);A(e,n).set(r,i)},"createArgumentDecorator");var T=p(require("chalk")),q=require("discord.js"),J=p(require("lodash"));var B=require("discord.js");var E=s(o=>{let t=Reflect.getMetadata(F,o);return t||(t=new B.Collection,Reflect.defineMetadata(F,t,o)),t},"getModuleHookStore"),j=s(o=>(t,e)=>{let n=E(t),r=n.get(e);r||(r=[],n.set(e,r)),r.push(Reflect.get(t,e))},"moduleHook");var h=class extends f{defaultOptions(){return{emitter:"discord"}}constructor(t,e,n){super({event:t.event,emitter:(r=t.emitter)!=null?r:"discord"},e,n);var r}};s(h,"ListenerComponent");var Z=b(h);var v=class{constructor(t,e){this.client=e,this.extensions=[],this.emitters=new q.Collection,this.logger=t.getChildLogger({prefix:[T.default.green("[Registry]")]})}getComponentsWithTypeGlobal(t){let e=[];for(let n of this.extensions)e.push(...this.getComponentsWithType(n,t));return e}getComponentsWithType(t,e){let n=C(t);return Array.from(n.filter(r=>r.constructor===e).values())}registerEventListeners(t){let e=this.getComponentsWithType(t,h);for(let n of e){let r=this.emitters.get(n.options.emitter);if(r){let i=n.method.bind(t);Reflect.defineMetadata("bound",i,n),r.addListener(n.options.event,i)}}}unregisterEventListeners(t){let e=this.getComponentsWithType(t,h);for(let n of e){let r=this.emitters.get(n.options.emitter),i=Reflect.getMetadata("bound",n);r&&i&&r.removeListener(n.options.event,i)}}async registerModule(t){Reflect.defineMetadata(w,this.client,t),this.registerEventListeners(t),await this.runModuleHook(t,"load"),this.extensions.push(t),this.logger.info(`Module registered: ${T.default.green(t.constructor.name)}`)}async unregisterModule(t){this.unregisterEventListeners(t),await this.runModuleHook(t,"unload"),J.default.remove(this.extensions,e=>e===t),this.logger.info(`Module unregistered: ${T.default.green(t.constructor.name)}`)}runModuleHook(t,e,...n){let i=E(t).get(e);if(i)for(let c of i)c.call(t,...n)}registerEventEmitter(t,e){this.emitters.set(t,e)}};s(v,"Registry");var X=p(require("chalk")),Y=p(require("events")),tt=require("tslog");var a=p(require("chalk")),S=require("discord.js");var y=class extends f{};s(y,"ApplicationCommandComponent");var lt=b(y);var K=p(require("lodash")),L=class{constructor(t){typeof t=="object"?this.options=K.default.merge(this.defaultOptions(),t):this.options=t}defaultOptions(){return{}}};s(L,"ComponentArgumentDecorator");var M=class extends L{};s(M,"ApplicationCommandOption");var Q=H(M);var U=p(require("chalk"));var _=class{get commandClient(){return g.getFromModule(this)}get client(){return this.commandClient.discord}get logger(){return this._logger||(this._logger=this.commandClient.logger.getChildLogger({prefix:[U.default.green(`[${this.constructor.name}]`)],displayFunctionName:!1})),this._logger}};s(_,"Extension");var V=function(o,t,e,n){var r=arguments.length,i=r<3?t:n===null?n=Object.getOwnPropertyDescriptor(t,e):n,c;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")i=Reflect.decorate(o,t,e,n);else for(var l=o.length-1;l>=0;l--)(c=o[l])&&(i=(r<3?c(i):r>3?c(t,e,i):c(t,e))||i);return r>3&&i&&Object.defineProperty(t,e,i),i},$=function(o,t){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(o,t)},d=class extends _{constructor(t){super();this.config=t}async interactionCreate(t){console.log(t)}async load(){}async sync(){let t=g.getFromModule(this);this.logger.info("Trying to sync commands...");let e=[];for(let n of t.registry.getComponentsWithTypeGlobal(y)){let r=I({},n.options);if(r.type===S.ApplicationCommandType.ChatInput){r.options=[];for(let[,i]of n.argTypes){let c=i.decorators.find(l=>l.constructor===M);c&&r.options.push(c.options)}}e.push(r)}if(this.logger.info(`Processing ${a.default.green(e.length)} commands(${e.map(n=>a.default.blue(n.name)).join(", ")})`),this.config.guilds)for(let n of this.config.guilds)try{let r=await this.client.guilds.fetch(n);await r.fetch(),this.logger.info(`Registering commands for guild ${a.default.green(r.name)}(${a.default.blue(r.id)})`),await r.commands.set(e),this.logger.info(`Successfully registered commands for guild ${a.default.green(r.name)}(${a.default.blue(r.id)})`)}catch(r){this.logger.error(`Failed to register commands to guild ${a.default.green(n)}: ${r.message}`)}else try{this.logger.info("Registering commands globally..."),await this.client.application.commands.set(e),this.logger.info("Successfully registered commands.")}catch(n){this.logger.error(`Failed to register commands to global: ${n.message}`)}}};s(d,"ApplicationCommandExtension");V([Z({event:"interactionCreate"}),$("design:type",Function),$("design:paramtypes",[typeof S.Interaction=="undefined"?Object:S.Interaction])],d.prototype,"interactionCreate",null);V([j("load"),$("design:type",Function),$("design:paramtypes",[])],d.prototype,"load",null);var g=class extends Y.default{constructor(t,e=new tt.Logger({dateTimeTimezone:Intl.DateTimeFormat().resolvedOptions().timeZone})){super();this.discord=t,this.logger=e,this.ctsLogger=e.getChildLogger({prefix:[X.default.blue("[command.ts]")],displayFilePath:"hidden",displayFunctionName:!1}),this.registry=new v(this.ctsLogger,this),this.registry.registerEventEmitter("cts",this),this.registry.registerEventEmitter("discord",this.discord)}async enableApplicationCommandsExtension(t){await this.registry.registerModule(new d(t)),this.ctsLogger.info("Application command extension enabled.")}getApplicationCommandsExtension(){return this.registry.extensions.find(t=>t.constructor===d)}static getFromModule(t){return Reflect.getMetadata(w,t)}};s(g,"CommandClient");module.exports=ct(pt);0&&(module.exports={ApplicationCommandComponent,BaseComponent,CommandClient,Registry,applicationCommand,createArgumentDecorator,createComponentDecorator,getComponent,getComponentArgumentStore,getComponentStore,getModuleHookStore,moduleHook,option});
|
|
2
2
|
//# sourceMappingURL=index.js.map
|