xernerx 3.6.0 → 4.0.1
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/dist/build/ContextCommandBuilder.d.ts +47 -0
- package/dist/build/ContextCommandBuilder.js +78 -0
- package/dist/{cjs/build → build}/EventBuilder.d.ts +7 -6
- package/dist/build/EventBuilder.js +35 -0
- package/dist/build/InhibitorBuilder.d.ts +17 -0
- package/dist/build/InhibitorBuilder.js +26 -0
- package/dist/build/MessageCommandBuilder.d.ts +43 -0
- package/dist/build/MessageCommandBuilder.js +71 -0
- package/dist/{cjs/build → build}/SlashCommandBuilder.d.ts +16 -31
- package/dist/build/SlashCommandBuilder.js +122 -0
- package/dist/build copy/ContextCommandBuilder.d.ts +37 -0
- package/dist/build copy/ContextCommandBuilder.js +88 -0
- package/dist/{mjs/build/EventBuilder.d.ts → build copy/EventBuilder.d.ts } +4 -4
- package/dist/build copy/EventBuilder.js +34 -0
- package/dist/{cjs/build/InhibitorBuilder.d.ts → build copy/InhibitorBuilder.d.ts } +2 -2
- package/dist/build copy/InhibitorBuilder.js +27 -0
- package/dist/{cjs/build/MessageCommandBuilder.d.ts → build copy/MessageCommandBuilder.d.ts } +14 -34
- package/dist/build copy/MessageCommandBuilder.js +90 -0
- package/dist/build copy/SlashCommandBuilder.d.ts +41 -0
- package/dist/build copy/SlashCommandBuilder.js +122 -0
- package/dist/client/DBLClient.d.ts +8 -0
- package/dist/client/DBLClient.js +15 -0
- package/dist/client/Top.ggClient.d.ts +1 -0
- package/dist/client/Top.ggClient.js +1 -0
- package/dist/client/XernerxClient.d.ts +54 -0
- package/dist/client/XernerxClient.js +90 -0
- package/dist/events/messageCreate.d.ts +1 -0
- package/dist/events/messageCreate.js +1 -0
- package/dist/functions/AsyncFunctions.d.ts +1 -0
- package/dist/functions/AsyncFunctions.js +1 -0
- package/dist/functions/delay.d.ts +1 -0
- package/dist/functions/delay.js +3 -0
- package/dist/functions/deploy.d.ts +2 -0
- package/dist/functions/deploy.js +29 -0
- package/dist/functions/getPermissionBitField.d.ts +2 -0
- package/dist/functions/getPermissionBitField.js +17 -0
- package/dist/functions/hasVoted.d.ts +1 -0
- package/dist/functions/hasVoted.js +1 -0
- package/dist/functions/isOwner.d.ts +3 -0
- package/dist/functions/isOwner.js +3 -0
- package/dist/functions/isVoter.d.ts +3 -0
- package/dist/functions/isVoter.js +5 -0
- package/dist/functions/load.d.ts +3 -0
- package/dist/functions/load.js +32 -0
- package/dist/functions/reload.d.ts +2 -0
- package/dist/functions/reload.js +39 -0
- package/dist/functions/sendWebhook.d.ts +2 -0
- package/dist/functions/sendWebhook.js +12 -0
- package/dist/functions/voted.d.ts +1 -0
- package/dist/functions/voted.js +1 -0
- package/dist/functions/xernerxUser.d.ts +3 -0
- package/dist/functions/xernerxUser.js +8 -0
- package/dist/handlers/CommandHandler.d.ts +13 -0
- package/dist/handlers/CommandHandler.js +220 -0
- package/dist/handlers/EventHandler.d.ts +7 -0
- package/dist/handlers/EventHandler.js +24 -0
- package/dist/handlers/ExtensionHandler.d.ts +7 -0
- package/dist/handlers/ExtensionHandler.js +19 -0
- package/dist/handlers/Handler.d.ts +14 -0
- package/dist/handlers/Handler.js +36 -0
- package/dist/handlers/InhibitorHandler.d.ts +7 -0
- package/dist/handlers/InhibitorHandler.js +24 -0
- package/dist/handlers/WebhookHandler.d.ts +7 -0
- package/dist/handlers/WebhookHandler.js +50 -0
- package/dist/main.d.ts +11 -0
- package/dist/main.js +11 -0
- package/dist/models/Arguments.d.ts +15 -0
- package/dist/models/Arguments.js +129 -0
- package/dist/{cjs/models → models}/CommandArguments.js +2 -7
- package/dist/{mjs/models → models}/Events.js +44 -56
- package/dist/models/Extensions.js +23 -0
- package/dist/models/XernerxUser.js +9 -0
- package/dist/tools/XernerxError.d.ts +6 -0
- package/dist/tools/XernerxError.js +10 -0
- package/dist/tools/XernerxLog.d.ts +13 -0
- package/dist/tools/XernerxLog.js +30 -0
- package/dist/tools/classes.d.ts +6 -0
- package/dist/tools/classes.js +10 -0
- package/dist/tools/loggers.d.ts +4 -0
- package/dist/tools/loggers.js +4 -0
- package/dist/{mjs/tools → tools}/package.d.ts +1 -4
- package/dist/{cjs/tools → tools}/package.js +11 -16
- package/dist/{cjs/types → types}/enums.js +8 -11
- package/dist/types/extenders.d.ts +23 -0
- package/dist/types/extenders.js +1 -0
- package/dist/types/interfaces.d.ts +224 -0
- package/dist/types/interfaces.js +1 -0
- package/dist/types/options.js +1 -0
- package/dist/types/types.d.ts +181 -0
- package/dist/types/types.js +1 -0
- package/dist/utils/ClientUtil.d.ts +6 -0
- package/dist/utils/ClientUtil.js +7 -0
- package/dist/{cjs/utils → utils}/CommandUtil.js +14 -29
- package/dist/utils/InteractionArguments.d.ts +1 -0
- package/dist/utils/InteractionArguments.js +1 -0
- package/dist/utils/InteractionUtil.d.ts +10 -0
- package/dist/utils/InteractionUtil.js +15 -0
- package/dist/utils/MessageUtil.d.ts +11 -0
- package/dist/utils/MessageUtil.js +42 -0
- package/dist/utils/Util.d.ts +5 -0
- package/dist/utils/Util.js +6 -0
- package/dist/{mjs/validators → validators}/CommandValidations.js +10 -13
- package/dist/validators/InhibitorValidations.d.ts +18 -0
- package/dist/validators/InhibitorValidations.js +34 -0
- package/dist/validators/commandValidation.d.ts +6 -0
- package/dist/validators/commandValidation.js +48 -0
- package/dist/validators/commands.d.ts +4 -0
- package/dist/validators/commands.js +25 -0
- package/package.json +10 -13
- package/dist/cjs/build/ContextCommandBuilder.d.ts +0 -63
- package/dist/cjs/build/ContextCommandBuilder.js +0 -97
- package/dist/cjs/build/EventBuilder.js +0 -44
- package/dist/cjs/build/InhibitorBuilder.js +0 -37
- package/dist/cjs/build/MessageCommandBuilder.js +0 -100
- package/dist/cjs/build/SlashCommandBuilder.js +0 -169
- package/dist/cjs/client/XernerxClient.d.ts +0 -29
- package/dist/cjs/client/XernerxClient.js +0 -120
- package/dist/cjs/handlers/CommandHandler.d.ts +0 -27
- package/dist/cjs/handlers/CommandHandler.js +0 -45
- package/dist/cjs/handlers/EventHandler.d.ts +0 -13
- package/dist/cjs/handlers/EventHandler.js +0 -19
- package/dist/cjs/handlers/Handler.d.ts +0 -57
- package/dist/cjs/handlers/Handler.js +0 -308
- package/dist/cjs/handlers/InhibitorHandler.d.ts +0 -18
- package/dist/cjs/handlers/InhibitorHandler.js +0 -24
- package/dist/cjs/handlers/WebhookHandler.d.ts +0 -7
- package/dist/cjs/handlers/WebhookHandler.js +0 -23
- package/dist/cjs/main.d.ts +0 -44
- package/dist/cjs/main.js +0 -112
- package/dist/cjs/models/Events.js +0 -309
- package/dist/cjs/models/Extensions.js +0 -26
- package/dist/cjs/models/XernerxUser.js +0 -12
- package/dist/cjs/tools/XernerxError.d.ts +0 -5
- package/dist/cjs/tools/XernerxError.js +0 -11
- package/dist/cjs/tools/package.d.ts +0 -44
- package/dist/cjs/types/interfaces.d.ts +0 -27
- package/dist/cjs/types/interfaces.js +0 -2
- package/dist/cjs/types/options.js +0 -2
- package/dist/cjs/types/types.d.ts +0 -62
- package/dist/cjs/types/types.js +0 -2
- package/dist/cjs/utils/ClientUtil.d.ts +0 -26
- package/dist/cjs/utils/ClientUtil.js +0 -211
- package/dist/cjs/validators/CommandValidations.js +0 -169
- package/dist/cjs/validators/InhibitorValidations.d.ts +0 -11
- package/dist/cjs/validators/InhibitorValidations.js +0 -40
- package/dist/mjs/build/ContextCommandBuilder.d.ts +0 -63
- package/dist/mjs/build/ContextCommandBuilder.js +0 -97
- package/dist/mjs/build/EventBuilder.js +0 -44
- package/dist/mjs/build/InhibitorBuilder.d.ts +0 -19
- package/dist/mjs/build/InhibitorBuilder.js +0 -37
- package/dist/mjs/build/MessageCommandBuilder.d.ts +0 -59
- package/dist/mjs/build/MessageCommandBuilder.js +0 -100
- package/dist/mjs/build/SlashCommandBuilder.d.ts +0 -65
- package/dist/mjs/build/SlashCommandBuilder.js +0 -169
- package/dist/mjs/client/XernerxClient.d.ts +0 -29
- package/dist/mjs/client/XernerxClient.js +0 -120
- package/dist/mjs/handlers/CommandHandler.d.ts +0 -27
- package/dist/mjs/handlers/CommandHandler.js +0 -45
- package/dist/mjs/handlers/EventHandler.d.ts +0 -13
- package/dist/mjs/handlers/EventHandler.js +0 -19
- package/dist/mjs/handlers/Handler.d.ts +0 -57
- package/dist/mjs/handlers/Handler.js +0 -308
- package/dist/mjs/handlers/InhibitorHandler.d.ts +0 -18
- package/dist/mjs/handlers/InhibitorHandler.js +0 -24
- package/dist/mjs/handlers/WebhookHandler.d.ts +0 -7
- package/dist/mjs/handlers/WebhookHandler.js +0 -23
- package/dist/mjs/main.d.ts +0 -44
- package/dist/mjs/main.js +0 -112
- package/dist/mjs/models/CommandArguments.d.ts +0 -17
- package/dist/mjs/models/CommandArguments.js +0 -106
- package/dist/mjs/models/Events.d.ts +0 -24
- package/dist/mjs/models/Extensions.d.ts +0 -7
- package/dist/mjs/models/Extensions.js +0 -26
- package/dist/mjs/models/XernerxUser.d.ts +0 -2
- package/dist/mjs/models/XernerxUser.js +0 -12
- package/dist/mjs/tools/XernerxError.d.ts +0 -5
- package/dist/mjs/tools/XernerxError.js +0 -11
- package/dist/mjs/tools/package.js +0 -45
- package/dist/mjs/types/enums.d.ts +0 -44
- package/dist/mjs/types/enums.js +0 -38
- package/dist/mjs/types/interfaces.d.ts +0 -27
- package/dist/mjs/types/interfaces.js +0 -2
- package/dist/mjs/types/options.d.ts +0 -254
- package/dist/mjs/types/options.js +0 -2
- package/dist/mjs/types/types.d.ts +0 -62
- package/dist/mjs/types/types.js +0 -2
- package/dist/mjs/utils/ClientUtil.d.ts +0 -26
- package/dist/mjs/utils/ClientUtil.js +0 -211
- package/dist/mjs/utils/CommandUtil.d.ts +0 -58
- package/dist/mjs/utils/CommandUtil.js +0 -247
- package/dist/mjs/validators/CommandValidations.d.ts +0 -12
- package/dist/mjs/validators/InhibitorValidations.d.ts +0 -11
- package/dist/mjs/validators/InhibitorValidations.js +0 -40
- /package/dist/{cjs/models → models}/CommandArguments.d.ts +0 -0
- /package/dist/{cjs/models → models}/Events.d.ts +0 -0
- /package/dist/{cjs/models → models}/Extensions.d.ts +0 -0
- /package/dist/{cjs/models → models}/XernerxUser.d.ts +0 -0
- /package/dist/{cjs/types → types}/enums.d.ts +0 -0
- /package/dist/{cjs/types → types}/options.d.ts +0 -0
- /package/dist/{cjs/utils → utils}/CommandUtil.d.ts +0 -0
- /package/dist/{cjs/validators → validators}/CommandValidations.d.ts +0 -0
|
@@ -0,0 +1,224 @@
|
|
|
1
|
+
import { ChannelType, Collection } from 'discord.js';
|
|
2
|
+
import CommandHandler from '../handlers/CommandHandler.js';
|
|
3
|
+
import EventHandler from '../handlers/EventHandler.js';
|
|
4
|
+
import InhibitorHandler from '../handlers/InhibitorHandler.js';
|
|
5
|
+
import WebhookHandler from '../handlers/WebhookHandler.js';
|
|
6
|
+
import ContextCommandBuilder from '../build/ContextCommandBuilder.js';
|
|
7
|
+
import MessageCommandBuilder from '../build/MessageCommandBuilder.js';
|
|
8
|
+
import SlashCommandBuilder from '../build/SlashCommandBuilder.js';
|
|
9
|
+
import { Locales, MessageCommandArgumentType, PermissionNames, SlashCommandArgumentType, EventType, InhibitorType } from './types.js';
|
|
10
|
+
import ExtensionHandler from '../handlers/ExtensionHandler.js';
|
|
11
|
+
export interface XernerxOptions {
|
|
12
|
+
ownerId: string;
|
|
13
|
+
permissions: {
|
|
14
|
+
client: Array<string>;
|
|
15
|
+
user: Array<string>;
|
|
16
|
+
dm: boolean;
|
|
17
|
+
};
|
|
18
|
+
ignore: {
|
|
19
|
+
owner: boolean;
|
|
20
|
+
users: Array<string>;
|
|
21
|
+
channels: Array<string>;
|
|
22
|
+
guilds: Array<string>;
|
|
23
|
+
};
|
|
24
|
+
log: {
|
|
25
|
+
ready: boolean;
|
|
26
|
+
error: boolean;
|
|
27
|
+
};
|
|
28
|
+
cooldown: {
|
|
29
|
+
command: number;
|
|
30
|
+
cache: number;
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
export interface ModuleOptions {
|
|
34
|
+
options: {
|
|
35
|
+
message?: MessageHandlerOptions;
|
|
36
|
+
slash?: SlashHandlerOptions;
|
|
37
|
+
context?: ContextHandlerOptions;
|
|
38
|
+
events?: EventHandlerOptions;
|
|
39
|
+
inhibitors?: InhibitorHandlerOptions;
|
|
40
|
+
};
|
|
41
|
+
commandHandler: CommandHandler;
|
|
42
|
+
eventHandler: EventHandler;
|
|
43
|
+
inhibitorHandler: InhibitorHandler;
|
|
44
|
+
webhookHandler: WebhookHandler;
|
|
45
|
+
extensionHandler: ExtensionHandler;
|
|
46
|
+
}
|
|
47
|
+
export interface XernerxCommands {
|
|
48
|
+
message: Collection<string, MessageCommandBuilder>;
|
|
49
|
+
slash: Collection<string, SlashCommandBuilder>;
|
|
50
|
+
context: Collection<string, ContextCommandBuilder>;
|
|
51
|
+
}
|
|
52
|
+
export interface DBLOptions {
|
|
53
|
+
topgg: {
|
|
54
|
+
token: string;
|
|
55
|
+
};
|
|
56
|
+
dbl: {
|
|
57
|
+
token: string;
|
|
58
|
+
};
|
|
59
|
+
config: {
|
|
60
|
+
emits: boolean;
|
|
61
|
+
logs: boolean;
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
export interface XernerxCache {
|
|
65
|
+
messages: Collection<string, string>;
|
|
66
|
+
cooldowns: Collection<
|
|
67
|
+
string,
|
|
68
|
+
{
|
|
69
|
+
id: string;
|
|
70
|
+
command: string;
|
|
71
|
+
createdTimestamp: number;
|
|
72
|
+
}
|
|
73
|
+
>;
|
|
74
|
+
}
|
|
75
|
+
interface CommandHandlerOptions {
|
|
76
|
+
directory: string;
|
|
77
|
+
cooldown?: number;
|
|
78
|
+
permissions?: {
|
|
79
|
+
user?: Array<string>;
|
|
80
|
+
client?: Array<string>;
|
|
81
|
+
dm?: boolean;
|
|
82
|
+
};
|
|
83
|
+
logging?: boolean;
|
|
84
|
+
}
|
|
85
|
+
export interface MessageHandlerOptions extends CommandHandlerOptions {
|
|
86
|
+
prefix: string | Array<string>;
|
|
87
|
+
allowMention?: boolean;
|
|
88
|
+
handleEdits?: boolean;
|
|
89
|
+
handleDeletes?: boolean;
|
|
90
|
+
handleTyping?: boolean;
|
|
91
|
+
}
|
|
92
|
+
export interface SlashHandlerOptions extends CommandHandlerOptions {
|
|
93
|
+
defer?: {
|
|
94
|
+
reply?: boolean;
|
|
95
|
+
ephemeral?: boolean;
|
|
96
|
+
fetchReply?: boolean;
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
export interface ContextHandlerOptions extends CommandHandlerOptions {
|
|
100
|
+
defer?: {
|
|
101
|
+
reply?: boolean;
|
|
102
|
+
ephemeral?: boolean;
|
|
103
|
+
fetchReply?: boolean;
|
|
104
|
+
};
|
|
105
|
+
}
|
|
106
|
+
export interface EventHandlerOptions {
|
|
107
|
+
directory: string;
|
|
108
|
+
}
|
|
109
|
+
export interface InhibitorHandlerOptions {
|
|
110
|
+
directory: string;
|
|
111
|
+
}
|
|
112
|
+
interface CommandOptions {
|
|
113
|
+
name: string;
|
|
114
|
+
description?: string | null;
|
|
115
|
+
info?: string | null;
|
|
116
|
+
category?: string | null;
|
|
117
|
+
cooldown?: number | null;
|
|
118
|
+
ignore?: {
|
|
119
|
+
owner?: boolean;
|
|
120
|
+
users?: Array<string>;
|
|
121
|
+
channels?: Array<string>;
|
|
122
|
+
guilds?: Array<string>;
|
|
123
|
+
};
|
|
124
|
+
strict?: {
|
|
125
|
+
owner?: boolean;
|
|
126
|
+
users?: Array<string>;
|
|
127
|
+
channels?: Array<string>;
|
|
128
|
+
guilds?: Array<string>;
|
|
129
|
+
};
|
|
130
|
+
permissions?: {
|
|
131
|
+
user?: Array<PermissionNames> | Array<string>;
|
|
132
|
+
client?: Array<PermissionNames> | Array<string>;
|
|
133
|
+
dm?: boolean;
|
|
134
|
+
};
|
|
135
|
+
}
|
|
136
|
+
export interface MessageCommandOptions extends CommandOptions {
|
|
137
|
+
aliases?: Array<string>;
|
|
138
|
+
separator?: string;
|
|
139
|
+
prefix?: Array<string> | string;
|
|
140
|
+
regex?: RegExp;
|
|
141
|
+
channelType?: Array<ChannelType>;
|
|
142
|
+
args?: Array<MessageCommandArgumentOptions>;
|
|
143
|
+
flags?: Array<MessageCommandFlagOptions>;
|
|
144
|
+
}
|
|
145
|
+
export interface MessageCommandArgumentOptions {
|
|
146
|
+
type: MessageCommandArgumentType;
|
|
147
|
+
name: string;
|
|
148
|
+
content?: Array<string>;
|
|
149
|
+
match?: string;
|
|
150
|
+
description?: string;
|
|
151
|
+
default?: string | Function;
|
|
152
|
+
separator?: string | RegExp;
|
|
153
|
+
prompt?: {
|
|
154
|
+
reply?: string;
|
|
155
|
+
send?: string;
|
|
156
|
+
};
|
|
157
|
+
}
|
|
158
|
+
export interface MessageCommandFlagOptions {
|
|
159
|
+
name: string;
|
|
160
|
+
match: string;
|
|
161
|
+
}
|
|
162
|
+
export interface MessageCommandArguments {
|
|
163
|
+
args: Record<string, unknown> | null;
|
|
164
|
+
flags: Record<string, boolean> | null;
|
|
165
|
+
}
|
|
166
|
+
export interface SlashCommandOptions extends CommandOptions {
|
|
167
|
+
description: string;
|
|
168
|
+
nameLocalizations?: Record<Locales, string | null> | null;
|
|
169
|
+
descriptionLocalizations?: Record<Locales, string | null> | null;
|
|
170
|
+
defer?: {
|
|
171
|
+
reply?: boolean;
|
|
172
|
+
ephemeral?: boolean;
|
|
173
|
+
fetchReply?: boolean;
|
|
174
|
+
};
|
|
175
|
+
args?: Array<SlashCommandArgumentOptions>;
|
|
176
|
+
subcommands?: Array<SlashCommandSubcommandOptions>;
|
|
177
|
+
groups?: Array<SlashCommandGroupOptions>;
|
|
178
|
+
}
|
|
179
|
+
export interface ContextCommandOptions extends CommandOptions {
|
|
180
|
+
type: 'user' | 'message';
|
|
181
|
+
nameLocalizations?: Record<Locales, string | null> | null;
|
|
182
|
+
defer?: {
|
|
183
|
+
reply?: boolean;
|
|
184
|
+
ephemeral?: boolean;
|
|
185
|
+
fetchReply?: boolean;
|
|
186
|
+
};
|
|
187
|
+
}
|
|
188
|
+
export interface SlashCommandArgumentOptions {
|
|
189
|
+
type: SlashCommandArgumentType;
|
|
190
|
+
name: string;
|
|
191
|
+
description: string;
|
|
192
|
+
required?: boolean;
|
|
193
|
+
autocomplete?: boolean;
|
|
194
|
+
choices?: Array<{
|
|
195
|
+
name: string;
|
|
196
|
+
value: string;
|
|
197
|
+
}>;
|
|
198
|
+
}
|
|
199
|
+
export interface SlashCommandSubcommandOptions {
|
|
200
|
+
name: string;
|
|
201
|
+
description: string;
|
|
202
|
+
args: Array<SlashCommandArgumentOptions>;
|
|
203
|
+
}
|
|
204
|
+
export interface SlashCommandGroupOptions {
|
|
205
|
+
name: string;
|
|
206
|
+
description: string;
|
|
207
|
+
subcommands: Array<SlashCommandSubcommandOptions>;
|
|
208
|
+
}
|
|
209
|
+
export interface SlashCommandArguments {
|
|
210
|
+
args: Record<string, string>;
|
|
211
|
+
subcommand: Record<string, string>;
|
|
212
|
+
group: Record<string, string>;
|
|
213
|
+
}
|
|
214
|
+
export interface EventBuilderOptions {
|
|
215
|
+
name: EventType;
|
|
216
|
+
emitter: 'discord' | 'process';
|
|
217
|
+
type: string;
|
|
218
|
+
once: boolean;
|
|
219
|
+
}
|
|
220
|
+
export interface InhibitorBuilderOptions {
|
|
221
|
+
name: string;
|
|
222
|
+
type: InhibitorType;
|
|
223
|
+
}
|
|
224
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
import {
|
|
2
|
+
SlashCommandBooleanOption,
|
|
3
|
+
SlashCommandChannelOption,
|
|
4
|
+
SlashCommandIntegerOption,
|
|
5
|
+
SlashCommandMentionableOption,
|
|
6
|
+
SlashCommandNumberOption,
|
|
7
|
+
SlashCommandRoleOption,
|
|
8
|
+
SlashCommandStringOption,
|
|
9
|
+
SlashCommandUserOption,
|
|
10
|
+
} from 'discord.js';
|
|
11
|
+
import { XernerxMessageContextInteraction, XernerxSlashInteraction, XernerxUserContextInteraction } from './extenders.js';
|
|
12
|
+
export type FileType = 'MessageCommand' | 'SlashCommand' | 'ContextCommand' | 'Event' | 'Inhibitor';
|
|
13
|
+
export type Locales =
|
|
14
|
+
| 'en-US'
|
|
15
|
+
| 'en-GB'
|
|
16
|
+
| 'bg'
|
|
17
|
+
| 'zh-CN'
|
|
18
|
+
| 'zh-TW'
|
|
19
|
+
| 'hr'
|
|
20
|
+
| 'cs'
|
|
21
|
+
| 'da'
|
|
22
|
+
| 'nl'
|
|
23
|
+
| 'fi'
|
|
24
|
+
| 'fr'
|
|
25
|
+
| 'de'
|
|
26
|
+
| 'el'
|
|
27
|
+
| 'hi'
|
|
28
|
+
| 'hu'
|
|
29
|
+
| 'it'
|
|
30
|
+
| 'ja'
|
|
31
|
+
| 'ko'
|
|
32
|
+
| 'lt'
|
|
33
|
+
| 'no'
|
|
34
|
+
| 'pl'
|
|
35
|
+
| 'pt-BR'
|
|
36
|
+
| 'ro'
|
|
37
|
+
| 'ru'
|
|
38
|
+
| 'es-ES'
|
|
39
|
+
| 'sv-SE'
|
|
40
|
+
| 'th'
|
|
41
|
+
| 'tr'
|
|
42
|
+
| 'uk'
|
|
43
|
+
| 'vi';
|
|
44
|
+
export type SlashCommandArgumentType = 'attachment' | 'boolean' | 'channel' | 'integer' | 'mentionable' | 'number' | 'role' | 'string' | 'user';
|
|
45
|
+
export type SlashCommandOptionChoices = SlashCommandStringOption | SlashCommandNumberOption | SlashCommandIntegerOption;
|
|
46
|
+
export type SlashCommandOption = SlashCommandOptionChoices | SlashCommandBooleanOption | SlashCommandUserOption | SlashCommandChannelOption | SlashCommandRoleOption | SlashCommandMentionableOption;
|
|
47
|
+
export type MessageCommandArgumentType =
|
|
48
|
+
| 'string'
|
|
49
|
+
| 'number'
|
|
50
|
+
| 'boolean'
|
|
51
|
+
| 'confirm'
|
|
52
|
+
| 'channel'
|
|
53
|
+
| 'guild'
|
|
54
|
+
| 'integer'
|
|
55
|
+
| 'mentionable'
|
|
56
|
+
| 'role'
|
|
57
|
+
| 'user'
|
|
58
|
+
| 'message'
|
|
59
|
+
| 'member'
|
|
60
|
+
| 'list'
|
|
61
|
+
| 'option'
|
|
62
|
+
| 'rest';
|
|
63
|
+
export type DiscordEventType =
|
|
64
|
+
| 'applicationCommandPermissionsUpdate'
|
|
65
|
+
| 'autoModerationActionExecution'
|
|
66
|
+
| 'autoModerationRuleCreate'
|
|
67
|
+
| 'autoModerationRuleDelete'
|
|
68
|
+
| 'autoModerationRuleUpdate'
|
|
69
|
+
| 'ready'
|
|
70
|
+
| 'guildCreate'
|
|
71
|
+
| 'guildDelete'
|
|
72
|
+
| 'guildUpdate'
|
|
73
|
+
| 'guildUnavailable'
|
|
74
|
+
| 'guildMemberAdd'
|
|
75
|
+
| 'guildMemberRemove'
|
|
76
|
+
| 'guildMemberUpdate'
|
|
77
|
+
| 'guildMemberAvailable'
|
|
78
|
+
| 'guildMembersChunk'
|
|
79
|
+
| 'guildIntegrationsUpdate'
|
|
80
|
+
| 'roleCreate'
|
|
81
|
+
| 'roleDelete'
|
|
82
|
+
| 'inviteCreate'
|
|
83
|
+
| 'inviteDelete'
|
|
84
|
+
| 'roleUpdate'
|
|
85
|
+
| 'emojiCreate'
|
|
86
|
+
| 'emojiDelete'
|
|
87
|
+
| 'emojiUpdate'
|
|
88
|
+
| 'guildBanAdd'
|
|
89
|
+
| 'guildBanRemove'
|
|
90
|
+
| 'channelCreate'
|
|
91
|
+
| 'channelDelete'
|
|
92
|
+
| 'channelUpdate'
|
|
93
|
+
| 'channelPinsUpdate'
|
|
94
|
+
| 'messageCreate'
|
|
95
|
+
| 'messageDelete'
|
|
96
|
+
| 'messageUpdate'
|
|
97
|
+
| 'messageDeleteBulk'
|
|
98
|
+
| 'messageReactionAdd'
|
|
99
|
+
| 'messageReactionRemove'
|
|
100
|
+
| 'messageReactionRemoveAll'
|
|
101
|
+
| 'messageReactionRemoveEmoji'
|
|
102
|
+
| 'threadCreate'
|
|
103
|
+
| 'threadDelete'
|
|
104
|
+
| 'threadUpdate'
|
|
105
|
+
| 'threadListSync'
|
|
106
|
+
| 'threadMemberUpdate'
|
|
107
|
+
| 'threadMembersUpdate'
|
|
108
|
+
| 'userUpdate'
|
|
109
|
+
| 'presenceUpdate'
|
|
110
|
+
| 'voiceServerUpdate'
|
|
111
|
+
| 'voiceStateUpdate'
|
|
112
|
+
| 'typingStart'
|
|
113
|
+
| 'webhookUpdate'
|
|
114
|
+
| 'interactionCreate'
|
|
115
|
+
| 'error'
|
|
116
|
+
| 'warn'
|
|
117
|
+
| 'debug'
|
|
118
|
+
| 'cacheSweep'
|
|
119
|
+
| 'shardDisconnect'
|
|
120
|
+
| 'shardError'
|
|
121
|
+
| 'shardReconnecting'
|
|
122
|
+
| 'shardReady'
|
|
123
|
+
| 'shardResume'
|
|
124
|
+
| 'invalidated'
|
|
125
|
+
| 'raw'
|
|
126
|
+
| 'stageInstanceCreate'
|
|
127
|
+
| 'stageInstanceUpdate'
|
|
128
|
+
| 'stageInstanceDelete'
|
|
129
|
+
| 'stickerCreate'
|
|
130
|
+
| 'stickerDelete'
|
|
131
|
+
| 'stickerUpdate'
|
|
132
|
+
| 'guildScheduledEventCreate'
|
|
133
|
+
| 'guildScheduledEventUpdate'
|
|
134
|
+
| 'guildScheduledEventDelete'
|
|
135
|
+
| 'guildScheduledEventUserAdd'
|
|
136
|
+
| 'guildScheduledEventUserRemove';
|
|
137
|
+
export type EventType = DiscordEventType | 'webhookInit' | 'webhookPost' | 'webhookError';
|
|
138
|
+
export type XernerxInteraction = XernerxSlashInteraction | XernerxUserContextInteraction | XernerxMessageContextInteraction;
|
|
139
|
+
export type PermissionNames =
|
|
140
|
+
| 'create instant invite'
|
|
141
|
+
| 'kick members'
|
|
142
|
+
| 'ban members'
|
|
143
|
+
| 'administrator'
|
|
144
|
+
| 'manage channels'
|
|
145
|
+
| 'manage guild'
|
|
146
|
+
| 'add reactions'
|
|
147
|
+
| 'view audit log'
|
|
148
|
+
| 'priority speaker'
|
|
149
|
+
| 'stream'
|
|
150
|
+
| 'view channel'
|
|
151
|
+
| 'send messages'
|
|
152
|
+
| 'send tts messages'
|
|
153
|
+
| 'manage messages'
|
|
154
|
+
| 'embed links'
|
|
155
|
+
| 'attach files'
|
|
156
|
+
| 'read message history'
|
|
157
|
+
| 'mention everyone'
|
|
158
|
+
| 'use external emojis'
|
|
159
|
+
| 'view guild insights'
|
|
160
|
+
| 'connect'
|
|
161
|
+
| 'speak'
|
|
162
|
+
| 'mute members'
|
|
163
|
+
| 'deafen members'
|
|
164
|
+
| 'move members'
|
|
165
|
+
| 'use vad'
|
|
166
|
+
| 'change nickname'
|
|
167
|
+
| 'manage nicknames'
|
|
168
|
+
| 'manage roles'
|
|
169
|
+
| 'manage webhooks'
|
|
170
|
+
| 'manage emojis and stickers'
|
|
171
|
+
| 'use application commands'
|
|
172
|
+
| 'request to speak'
|
|
173
|
+
| 'manage events'
|
|
174
|
+
| 'manage threads'
|
|
175
|
+
| 'create public threads'
|
|
176
|
+
| 'create private threads'
|
|
177
|
+
| 'use external stickers'
|
|
178
|
+
| 'send messages in threads'
|
|
179
|
+
| 'start embedded activities'
|
|
180
|
+
| 'moderate members';
|
|
181
|
+
export type InhibitorType = 'message' | 'interaction' | 'command' | 'channel' | 'user' | 'member' | 'guild' | 'contextCommand' | 'messageCommand' | 'slashCommand';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -1,14 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
function (mod) {
|
|
5
|
-
return mod && mod.__esModule ? mod : { default: mod };
|
|
6
|
-
};
|
|
7
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
8
|
-
exports.InteractionCommandUtil = exports.MessageCommandUtil = void 0;
|
|
9
|
-
const discord_js_1 = require('discord.js');
|
|
10
|
-
const XernerxError_js_1 = __importDefault(require('../tools/XernerxError.js'));
|
|
11
|
-
class MessageCommandUtil {
|
|
1
|
+
import { ActionRowBuilder, ButtonBuilder, ButtonStyle, EmbedBuilder, StringSelectMenuBuilder } from 'discord.js';
|
|
2
|
+
import XernerxError from '../tools/XernerxError.js';
|
|
3
|
+
export class MessageCommandUtil {
|
|
12
4
|
client;
|
|
13
5
|
message;
|
|
14
6
|
constructor(client, message) {
|
|
@@ -90,8 +82,7 @@ class MessageCommandUtil {
|
|
|
90
82
|
}
|
|
91
83
|
createModal() {}
|
|
92
84
|
}
|
|
93
|
-
|
|
94
|
-
class InteractionCommandUtil {
|
|
85
|
+
export class InteractionCommandUtil {
|
|
95
86
|
client;
|
|
96
87
|
interaction;
|
|
97
88
|
constructor(client, interaction) {
|
|
@@ -110,12 +101,12 @@ class InteractionCommandUtil {
|
|
|
110
101
|
}
|
|
111
102
|
getCommandName() {}
|
|
112
103
|
selectMenuPaginator(embeds, options) {
|
|
113
|
-
if (!Array.isArray(embeds)) throw new
|
|
114
|
-
if (embeds.length > 25) throw new
|
|
104
|
+
if (!Array.isArray(embeds)) throw new XernerxError(`Expected embeds to be of type array, received ${typeof embeds} instead.`);
|
|
105
|
+
if (embeds.length > 25) throw new XernerxError(`Max select menu length is 25.`);
|
|
115
106
|
if (typeof options !== 'object') options = {};
|
|
116
107
|
if (!Array.isArray(options.components)) options.components = [];
|
|
117
108
|
if (!options.index) {
|
|
118
|
-
options.index = new
|
|
109
|
+
options.index = new EmbedBuilder().setTitle('Index').setColor('Random');
|
|
119
110
|
for (const embed of embeds) {
|
|
120
111
|
options.index.addFields([
|
|
121
112
|
{
|
|
@@ -127,14 +118,9 @@ class InteractionCommandUtil {
|
|
|
127
118
|
}
|
|
128
119
|
}
|
|
129
120
|
if (!options.row) {
|
|
130
|
-
options.row = new
|
|
121
|
+
options.row = new ActionRowBuilder();
|
|
131
122
|
if (!options.id) options.id = `${this.interaction.id}-menu`;
|
|
132
|
-
options.component = new
|
|
133
|
-
.setCustomId(options.id)
|
|
134
|
-
.setMaxValues(1)
|
|
135
|
-
.setMinValues(1)
|
|
136
|
-
.setPlaceholder('Select a page.')
|
|
137
|
-
.addOptions({ label: 'index', value: '0' });
|
|
123
|
+
options.component = new StringSelectMenuBuilder().setCustomId(options.id).setMaxValues(1).setMinValues(1).setPlaceholder('Select a page.').addOptions({ label: 'index', value: '0' });
|
|
138
124
|
embeds.map((embed, i = 0) => {
|
|
139
125
|
options?.component?.addOptions({
|
|
140
126
|
label: embed.data.title || 'No Name',
|
|
@@ -168,21 +154,21 @@ class InteractionCommandUtil {
|
|
|
168
154
|
});
|
|
169
155
|
}
|
|
170
156
|
buttonPaginator(embeds, options) {
|
|
171
|
-
if (!Array.isArray(embeds)) throw new
|
|
172
|
-
if (embeds.length <= 0) throw new
|
|
157
|
+
if (!Array.isArray(embeds)) throw new XernerxError(`Expected embeds to be of type array, received ${typeof embeds} instead.`);
|
|
158
|
+
if (embeds.length <= 0) throw new XernerxError(`The minimum embeds is 1.`);
|
|
173
159
|
if (typeof options !== 'object') options = {};
|
|
174
160
|
if (!Array.isArray(options.components)) options.components = [];
|
|
175
161
|
if (!options.row) {
|
|
176
|
-
options.row = new
|
|
162
|
+
options.row = new ActionRowBuilder();
|
|
177
163
|
if (!options.id) options.id = `${this.interaction.id}-menu`;
|
|
178
164
|
}
|
|
179
165
|
if (!options.buttons) options.buttons = ['⏮️', '◀️', '⏹️', '▶️', '⏭️'];
|
|
180
166
|
for (const button of options.buttons) {
|
|
181
167
|
options.row.addComponents(
|
|
182
|
-
new
|
|
168
|
+
new ButtonBuilder()
|
|
183
169
|
.setCustomId(`${this.interaction.id}-${options.buttons.indexOf(button)}`)
|
|
184
170
|
.setEmoji(button)
|
|
185
|
-
.setStyle(
|
|
171
|
+
.setStyle(ButtonStyle.Primary)
|
|
186
172
|
);
|
|
187
173
|
}
|
|
188
174
|
let embed = embeds[options.index || 0];
|
|
@@ -244,4 +230,3 @@ class InteractionCommandUtil {
|
|
|
244
230
|
}
|
|
245
231
|
createModal() {}
|
|
246
232
|
}
|
|
247
|
-
exports.InteractionCommandUtil = InteractionCommandUtil;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { MessagePayload } from 'discord.js';
|
|
2
|
+
import XernerxClient from '../client/XernerxClient.js';
|
|
3
|
+
import { XernerxInteraction } from '../types/types.js';
|
|
4
|
+
import Util from './Util.js';
|
|
5
|
+
export default class InteractionUtil extends Util {
|
|
6
|
+
private interaction;
|
|
7
|
+
constructor(client: XernerxClient, interaction: XernerxInteraction);
|
|
8
|
+
reply(content: MessagePayload): Promise<import('discord.js').Message<boolean> | import('discord.js').InteractionResponse<boolean>>;
|
|
9
|
+
delay(time: number): Promise<unknown>;
|
|
10
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import delay from '../functions/delay.js';
|
|
2
|
+
import Util from './Util.js';
|
|
3
|
+
export default class InteractionUtil extends Util {
|
|
4
|
+
interaction;
|
|
5
|
+
constructor(client, interaction) {
|
|
6
|
+
super(client);
|
|
7
|
+
this.interaction = interaction;
|
|
8
|
+
}
|
|
9
|
+
async reply(content) {
|
|
10
|
+
return await (this.interaction.replied || this.interaction.deferred ? this.interaction.editReply(content) : this.interaction.reply(content));
|
|
11
|
+
}
|
|
12
|
+
async delay(time) {
|
|
13
|
+
return await delay(time);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { MessagePayload, User } from 'discord.js';
|
|
2
|
+
import XernerxClient from '../client/XernerxClient.js';
|
|
3
|
+
import { XernerxMessage } from '../types/extenders.js';
|
|
4
|
+
import Util from './Util.js';
|
|
5
|
+
export default class MessageUtil extends Util {
|
|
6
|
+
private message;
|
|
7
|
+
constructor(client: XernerxClient, message: XernerxMessage);
|
|
8
|
+
reply(content: MessagePayload): Promise<import('discord.js').Message<boolean> | undefined>;
|
|
9
|
+
webhookReply(content: MessagePayload, url?: URL, user?: User): Promise<void>;
|
|
10
|
+
delay(time: number): Promise<unknown>;
|
|
11
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { ChannelType } from 'discord.js';
|
|
2
|
+
import delay from '../functions/delay.js';
|
|
3
|
+
import Util from './Util.js';
|
|
4
|
+
import sendWebhook from '../functions/sendWebhook.js';
|
|
5
|
+
import XernerxError from '../tools/XernerxError.js';
|
|
6
|
+
export default class MessageUtil extends Util {
|
|
7
|
+
message;
|
|
8
|
+
constructor(client, message) {
|
|
9
|
+
super(client);
|
|
10
|
+
this.message = message;
|
|
11
|
+
}
|
|
12
|
+
async reply(content) {
|
|
13
|
+
if (this.client.cache.messages.has(this.message.id)) {
|
|
14
|
+
const id = this.client.cache.messages.get(this.message.id);
|
|
15
|
+
if (!id) return;
|
|
16
|
+
const msg = await this.message.channel.messages.fetch(id);
|
|
17
|
+
msg.edit(content);
|
|
18
|
+
return msg;
|
|
19
|
+
}
|
|
20
|
+
const msg = await this.message.reply(content);
|
|
21
|
+
this.client.cache.messages.set(this.message.id, msg.id);
|
|
22
|
+
return msg;
|
|
23
|
+
}
|
|
24
|
+
async webhookReply(content, url, user) {
|
|
25
|
+
if (this.message.channel.type === ChannelType.DM) throw new XernerxError(`Can't use this method in DM Channels`);
|
|
26
|
+
const channel = this.message.channel;
|
|
27
|
+
let webhook;
|
|
28
|
+
if (!url) {
|
|
29
|
+
webhook = await channel.createWebhook({
|
|
30
|
+
name: user?.username || this.client.user?.username,
|
|
31
|
+
avatar: user?.avatarURL() || this.client.user?.avatarURL(),
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
if (!webhook) webhook = { url };
|
|
35
|
+
await sendWebhook(webhook.url, content);
|
|
36
|
+
if (!url) webhook.delete();
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
async delay(time) {
|
|
40
|
+
return await delay(time);
|
|
41
|
+
}
|
|
42
|
+
}
|