reciple 6.0.0-dev.3 → 6.0.0-dev.30
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/LICENSE +674 -674
- package/README.md +183 -183
- package/dist/lib/bin.mjs +70 -0
- package/dist/lib/bin.mjs.map +1 -0
- package/dist/lib/esm.mjs +2 -0
- package/dist/lib/esm.mjs.map +1 -0
- package/dist/{cjs → lib}/index.js +17 -17
- package/dist/lib/index.js.map +1 -0
- package/dist/{cjs → lib}/reciple/classes/RecipleClient.js +42 -33
- package/dist/lib/reciple/classes/RecipleClient.js.map +1 -0
- package/dist/{cjs → lib}/reciple/classes/RecipleConfig.js +11 -10
- package/dist/lib/reciple/classes/RecipleConfig.js.map +1 -0
- package/dist/lib/reciple/classes/RecipleModule.js +137 -0
- package/dist/lib/reciple/classes/RecipleModule.js.map +1 -0
- package/dist/lib/reciple/classes/builders/MessageCommandBuilder.js +310 -0
- package/dist/lib/reciple/classes/builders/MessageCommandBuilder.js.map +1 -0
- package/dist/{cjs → lib}/reciple/classes/builders/MessageCommandOptionBuilder.js +55 -13
- package/dist/lib/reciple/classes/builders/MessageCommandOptionBuilder.js.map +1 -0
- package/dist/{cjs → lib}/reciple/classes/builders/SlashCommandBuilder.js +43 -15
- package/dist/lib/reciple/classes/builders/SlashCommandBuilder.js.map +1 -0
- package/dist/{cjs → lib}/reciple/classes/managers/ApplicationCommandManager.js +69 -27
- package/dist/lib/reciple/classes/managers/ApplicationCommandManager.js.map +1 -0
- package/dist/{cjs → lib}/reciple/classes/managers/CommandCooldownManager.js +1 -1
- package/dist/lib/reciple/classes/managers/CommandCooldownManager.js.map +1 -0
- package/dist/{cjs/reciple/classes/managers/ClientCommandManager.js → lib/reciple/classes/managers/CommandManager.js} +21 -16
- package/dist/lib/reciple/classes/managers/CommandManager.js.map +1 -0
- package/dist/{cjs → lib}/reciple/classes/managers/MessageCommandOptionManager.js +1 -0
- package/dist/lib/reciple/classes/managers/MessageCommandOptionManager.js.map +1 -0
- package/dist/lib/reciple/classes/managers/ModuleManager.js +181 -0
- package/dist/lib/reciple/classes/managers/ModuleManager.js.map +1 -0
- package/dist/{cjs → lib}/reciple/flags.js +4 -3
- package/dist/lib/reciple/flags.js.map +1 -0
- package/dist/{cjs → lib}/reciple/permissions.js +1 -0
- package/dist/lib/reciple/permissions.js.map +1 -0
- package/dist/lib/reciple/types/builders.js +12 -0
- package/dist/lib/reciple/types/builders.js.map +1 -0
- package/dist/{cjs → lib}/reciple/types/commands.js +7 -6
- package/dist/lib/reciple/types/commands.js.map +1 -0
- package/dist/{cjs → lib}/reciple/types/paramOptions.js +1 -0
- package/dist/lib/reciple/types/paramOptions.js.map +1 -0
- package/dist/{cjs/reciple/logger.js → lib/reciple/util.js} +40 -5
- package/dist/lib/reciple/util.js.map +1 -0
- package/dist/{cjs → lib}/reciple/version.js +1 -1
- package/dist/lib/reciple/version.js.map +1 -0
- package/dist/types/{bin.d.ts → bin.d.mts} +1 -0
- package/dist/types/bin.d.mts.map +1 -0
- package/dist/types/esm.d.mts +2 -0
- package/dist/types/esm.d.mts.map +1 -0
- package/dist/types/index.d.ts +17 -17
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/reciple/classes/RecipleClient.d.ts +22 -8
- package/dist/types/reciple/classes/RecipleClient.d.ts.map +1 -0
- package/dist/types/reciple/classes/RecipleConfig.d.ts +4 -2
- package/dist/types/reciple/classes/RecipleConfig.d.ts.map +1 -0
- package/dist/types/reciple/classes/RecipleModule.d.ts +88 -0
- package/dist/types/reciple/classes/RecipleModule.d.ts.map +1 -0
- package/dist/types/reciple/classes/builders/MessageCommandBuilder.d.ts +67 -27
- package/dist/types/reciple/classes/builders/MessageCommandBuilder.d.ts.map +1 -0
- package/dist/types/reciple/classes/builders/MessageCommandOptionBuilder.d.ts +18 -7
- package/dist/types/reciple/classes/builders/MessageCommandOptionBuilder.d.ts.map +1 -0
- package/dist/types/reciple/classes/builders/SlashCommandBuilder.d.ts +23 -12
- package/dist/types/reciple/classes/builders/SlashCommandBuilder.d.ts.map +1 -0
- package/dist/types/reciple/classes/managers/ApplicationCommandManager.d.ts +46 -12
- package/dist/types/reciple/classes/managers/ApplicationCommandManager.d.ts.map +1 -0
- package/dist/types/reciple/classes/managers/CommandCooldownManager.d.ts +3 -2
- package/dist/types/reciple/classes/managers/CommandCooldownManager.d.ts.map +1 -0
- package/dist/types/reciple/classes/managers/CommandManager.d.ts +35 -0
- package/dist/types/reciple/classes/managers/CommandManager.d.ts.map +1 -0
- package/dist/types/reciple/classes/managers/MessageCommandOptionManager.d.ts +2 -1
- package/dist/types/reciple/classes/managers/MessageCommandOptionManager.d.ts.map +1 -0
- package/dist/types/reciple/classes/managers/ModuleManager.d.ts +50 -0
- package/dist/types/reciple/classes/managers/ModuleManager.d.ts.map +1 -0
- package/dist/types/reciple/flags.d.ts +2 -1
- package/dist/types/reciple/flags.d.ts.map +1 -0
- package/dist/types/reciple/permissions.d.ts +3 -6
- package/dist/types/reciple/permissions.d.ts.map +1 -0
- package/dist/types/reciple/types/builders.d.ts +29 -20
- package/dist/types/reciple/types/builders.d.ts.map +1 -0
- package/dist/types/reciple/types/commands.d.ts +19 -18
- package/dist/types/reciple/types/commands.d.ts.map +1 -0
- package/dist/types/reciple/types/paramOptions.d.ts +80 -18
- package/dist/types/reciple/types/paramOptions.d.ts.map +1 -0
- package/dist/types/reciple/util.d.ts +17 -2
- package/dist/types/reciple/util.d.ts.map +1 -0
- package/dist/types/reciple/version.d.ts +1 -0
- package/dist/types/reciple/version.d.ts.map +1 -0
- package/package.json +46 -36
- package/resource/reciple.yml +120 -117
- package/dist/cjs/bin.js +0 -50
- package/dist/cjs/reciple/classes/builders/MessageCommandBuilder.js +0 -242
- package/dist/cjs/reciple/classes/managers/ClientModuleManager.js +0 -193
- package/dist/cjs/reciple/types/builders.js +0 -11
- package/dist/cjs/reciple/util.js +0 -32
- package/dist/types/reciple/classes/managers/ClientCommandManager.d.ts +0 -37
- package/dist/types/reciple/classes/managers/ClientModuleManager.d.ts +0 -79
- package/dist/types/reciple/logger.d.ts +0 -8
- package/docs/README.md +0 -1
|
@@ -0,0 +1,310 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MessageCommandBuilder = void 0;
|
|
4
|
+
const builders_1 = require("../../types/builders");
|
|
5
|
+
const discord_js_1 = require("discord.js");
|
|
6
|
+
const MessageCommandOptionManager_1 = require("../managers/MessageCommandOptionManager");
|
|
7
|
+
const MessageCommandOptionBuilder_1 = require("./MessageCommandOptionBuilder");
|
|
8
|
+
/**
|
|
9
|
+
* Reciple builder for message command
|
|
10
|
+
*/
|
|
11
|
+
class MessageCommandBuilder {
|
|
12
|
+
get name() {
|
|
13
|
+
return this._name;
|
|
14
|
+
}
|
|
15
|
+
get description() {
|
|
16
|
+
return this._description;
|
|
17
|
+
}
|
|
18
|
+
get cooldown() {
|
|
19
|
+
return this._cooldown;
|
|
20
|
+
}
|
|
21
|
+
get aliases() {
|
|
22
|
+
return this._aliases;
|
|
23
|
+
}
|
|
24
|
+
get validateOptions() {
|
|
25
|
+
return this._validateOptions;
|
|
26
|
+
}
|
|
27
|
+
get options() {
|
|
28
|
+
return this._options;
|
|
29
|
+
}
|
|
30
|
+
get requiredBotPermissions() {
|
|
31
|
+
return this._requiredBotPermissions;
|
|
32
|
+
}
|
|
33
|
+
get requiredMemberPermissions() {
|
|
34
|
+
return this._requiredMemberPermissions;
|
|
35
|
+
}
|
|
36
|
+
get allowExecuteInDM() {
|
|
37
|
+
return this._allowExecuteInDM;
|
|
38
|
+
}
|
|
39
|
+
get allowExecuteByBots() {
|
|
40
|
+
return this._allowExecuteByBots;
|
|
41
|
+
}
|
|
42
|
+
get halt() {
|
|
43
|
+
return this._halt;
|
|
44
|
+
}
|
|
45
|
+
get execute() {
|
|
46
|
+
return this._execute;
|
|
47
|
+
}
|
|
48
|
+
set name(name) {
|
|
49
|
+
this.setName(name);
|
|
50
|
+
}
|
|
51
|
+
set description(description) {
|
|
52
|
+
this.setDescription(description);
|
|
53
|
+
}
|
|
54
|
+
set cooldown(cooldown) {
|
|
55
|
+
this.setCooldown(cooldown);
|
|
56
|
+
}
|
|
57
|
+
set aliases(aliases) {
|
|
58
|
+
this.addAliases(aliases);
|
|
59
|
+
}
|
|
60
|
+
set validateOptions(validate) {
|
|
61
|
+
this.setValidateOptions(validate);
|
|
62
|
+
}
|
|
63
|
+
set options(options) {
|
|
64
|
+
this.setOptions(options);
|
|
65
|
+
}
|
|
66
|
+
set requiredBotPermissions(permissions) {
|
|
67
|
+
this.setRequiredBotPermissions(permissions);
|
|
68
|
+
}
|
|
69
|
+
set requiredMemberPermissions(permissions) {
|
|
70
|
+
this.setRequiredMemberPermissions(permissions);
|
|
71
|
+
}
|
|
72
|
+
set allowExecuteInDM(allow) {
|
|
73
|
+
this.setAllowExecuteInDM(allow);
|
|
74
|
+
}
|
|
75
|
+
set allowExecuteByBots(allow) {
|
|
76
|
+
this.setAllowExecuteByBots(allow);
|
|
77
|
+
}
|
|
78
|
+
set halt(halt) {
|
|
79
|
+
this.setHalt(halt);
|
|
80
|
+
}
|
|
81
|
+
set execute(execute) {
|
|
82
|
+
this.setExecute(execute);
|
|
83
|
+
}
|
|
84
|
+
constructor(data) {
|
|
85
|
+
this.type = builders_1.CommandType.MessageCommand;
|
|
86
|
+
this._name = '';
|
|
87
|
+
this._description = '';
|
|
88
|
+
this._cooldown = 0;
|
|
89
|
+
this._aliases = [];
|
|
90
|
+
this._validateOptions = false;
|
|
91
|
+
this._options = [];
|
|
92
|
+
this._requiredBotPermissions = [];
|
|
93
|
+
this._requiredMemberPermissions = [];
|
|
94
|
+
this._allowExecuteInDM = true;
|
|
95
|
+
this._allowExecuteByBots = false;
|
|
96
|
+
this._execute = () => {
|
|
97
|
+
/* Execute */
|
|
98
|
+
};
|
|
99
|
+
if (data?.name !== undefined)
|
|
100
|
+
this.setName(data.name);
|
|
101
|
+
if (data?.description !== undefined)
|
|
102
|
+
this.setDescription(data.description);
|
|
103
|
+
if (data?.aliases !== undefined)
|
|
104
|
+
this.addAliases(data.aliases);
|
|
105
|
+
if (data?.cooldown !== undefined)
|
|
106
|
+
this.setCooldown(Number(data?.cooldown));
|
|
107
|
+
if (data?.requiredBotPermissions !== undefined)
|
|
108
|
+
this.setRequiredBotPermissions(data.requiredBotPermissions);
|
|
109
|
+
if (data?.requiredMemberPermissions !== undefined)
|
|
110
|
+
this.setRequiredMemberPermissions(data.requiredMemberPermissions);
|
|
111
|
+
if (data?.halt !== undefined)
|
|
112
|
+
this.setHalt(data.halt);
|
|
113
|
+
if (data?.execute !== undefined)
|
|
114
|
+
this.setExecute(data.execute);
|
|
115
|
+
if (data?.metadata !== undefined)
|
|
116
|
+
this.setMetadata(data.metadata);
|
|
117
|
+
if (data?.allowExecuteByBots !== undefined)
|
|
118
|
+
this.setAllowExecuteByBots(true);
|
|
119
|
+
if (data?.allowExecuteInDM !== undefined)
|
|
120
|
+
this.setAllowExecuteInDM(true);
|
|
121
|
+
if (data?.validateOptions !== undefined)
|
|
122
|
+
this.setValidateOptions(true);
|
|
123
|
+
if (data?.options !== undefined)
|
|
124
|
+
this.options = data.options.map(o => (o instanceof MessageCommandOptionBuilder_1.MessageCommandOptionBuilder ? o : new MessageCommandOptionBuilder_1.MessageCommandOptionBuilder(o)));
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Sets the command name
|
|
128
|
+
* @param name Command name
|
|
129
|
+
*/
|
|
130
|
+
setName(name) {
|
|
131
|
+
if ((0, discord_js_1.isValidationEnabled)() && (!name || typeof name !== 'string' || !name.match(/^[\w-]{1,32}$/)))
|
|
132
|
+
throw new TypeError('name must be a string and match the regex /^[\\w-]{1,32}$/');
|
|
133
|
+
this._name = name;
|
|
134
|
+
return this;
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* Sets the command description
|
|
138
|
+
* @param description Command description
|
|
139
|
+
*/
|
|
140
|
+
setDescription(description) {
|
|
141
|
+
if ((0, discord_js_1.isValidationEnabled)() && (!description || typeof description !== 'string'))
|
|
142
|
+
throw new TypeError('description must be a string.');
|
|
143
|
+
this._description = description;
|
|
144
|
+
return this;
|
|
145
|
+
}
|
|
146
|
+
/**
|
|
147
|
+
* Add aliases to the command
|
|
148
|
+
* @param aliases Command aliases
|
|
149
|
+
*/
|
|
150
|
+
addAliases(...aliases) {
|
|
151
|
+
aliases = (0, discord_js_1.normalizeArray)(aliases);
|
|
152
|
+
if (!aliases.length)
|
|
153
|
+
throw new TypeError('Provide atleast one alias');
|
|
154
|
+
if (aliases.some(a => !a || typeof a !== 'string' || a.match(/^\s+$/)))
|
|
155
|
+
throw new TypeError('aliases must be strings and should not contain whitespaces');
|
|
156
|
+
if (this.name && aliases.some(a => a == this.name))
|
|
157
|
+
throw new TypeError('alias cannot have same name to its real command name');
|
|
158
|
+
this._aliases = [...new Set(aliases.map(s => s.toLowerCase()))];
|
|
159
|
+
return this;
|
|
160
|
+
}
|
|
161
|
+
/**
|
|
162
|
+
* Replace aliases from command builder
|
|
163
|
+
* @param aliases Command aliases
|
|
164
|
+
*/
|
|
165
|
+
setAliases(...aliases) {
|
|
166
|
+
this._aliases = [];
|
|
167
|
+
return this.addAliases(...aliases);
|
|
168
|
+
}
|
|
169
|
+
/**
|
|
170
|
+
* Set if command can be executed in dms
|
|
171
|
+
* @param allowExecuteInDM `true` if the command can execute in DMs
|
|
172
|
+
*/
|
|
173
|
+
setAllowExecuteInDM(allowExecuteInDM) {
|
|
174
|
+
this._allowExecuteInDM = !!allowExecuteInDM;
|
|
175
|
+
return this;
|
|
176
|
+
}
|
|
177
|
+
/**
|
|
178
|
+
* Allow command to be executed by bots
|
|
179
|
+
* @param allowExecuteByBots `true` if the command can be executed by bots
|
|
180
|
+
*/
|
|
181
|
+
setAllowExecuteByBots(allowExecuteByBots) {
|
|
182
|
+
this._allowExecuteByBots = !!allowExecuteByBots;
|
|
183
|
+
return this;
|
|
184
|
+
}
|
|
185
|
+
/**
|
|
186
|
+
* Add new command options
|
|
187
|
+
* @param options Message options
|
|
188
|
+
*/
|
|
189
|
+
addOptions(...options) {
|
|
190
|
+
for (const optionResolvable of (0, discord_js_1.normalizeArray)(options)) {
|
|
191
|
+
const option = typeof optionResolvable === 'function' ? optionResolvable(new MessageCommandOptionBuilder_1.MessageCommandOptionBuilder()) : optionResolvable instanceof MessageCommandOptionBuilder_1.MessageCommandOptionBuilder ? optionResolvable : MessageCommandOptionBuilder_1.MessageCommandOptionBuilder.resolveMessageCommandOption(optionResolvable);
|
|
192
|
+
if ((0, discord_js_1.isValidationEnabled)()) {
|
|
193
|
+
if (this.options.find(o => o.name === option.name))
|
|
194
|
+
throw new TypeError('option with name "' + option.name + '" already exists.');
|
|
195
|
+
if (this.options.length > 0 && !this.options[this.options.length - 1 < 0 ? 0 : this.options.length - 1].required && option.required)
|
|
196
|
+
throw new TypeError('All required options must be before optional options.');
|
|
197
|
+
}
|
|
198
|
+
this._options.push(option);
|
|
199
|
+
}
|
|
200
|
+
return this;
|
|
201
|
+
}
|
|
202
|
+
/**
|
|
203
|
+
* Add new command option
|
|
204
|
+
* @param option Message option
|
|
205
|
+
*/
|
|
206
|
+
addOption(option) {
|
|
207
|
+
return this.addOptions(option);
|
|
208
|
+
}
|
|
209
|
+
/**
|
|
210
|
+
* Set options from command
|
|
211
|
+
* @params options Message options
|
|
212
|
+
*/
|
|
213
|
+
setOptions(...options) {
|
|
214
|
+
this._options = [];
|
|
215
|
+
return this.addOptions(...options);
|
|
216
|
+
}
|
|
217
|
+
/**
|
|
218
|
+
* Validate options before executing
|
|
219
|
+
* @param validateOptions `true` if the command options needs to be validated before executing
|
|
220
|
+
*/
|
|
221
|
+
setValidateOptions(validateOptions) {
|
|
222
|
+
this._validateOptions = !!validateOptions;
|
|
223
|
+
return this;
|
|
224
|
+
}
|
|
225
|
+
setCooldown(cooldown) {
|
|
226
|
+
this._cooldown = cooldown;
|
|
227
|
+
return this;
|
|
228
|
+
}
|
|
229
|
+
setRequiredBotPermissions(...permissions) {
|
|
230
|
+
this._requiredBotPermissions = (0, discord_js_1.normalizeArray)(permissions);
|
|
231
|
+
return this;
|
|
232
|
+
}
|
|
233
|
+
setRequiredMemberPermissions(...permissions) {
|
|
234
|
+
this._requiredMemberPermissions = (0, discord_js_1.normalizeArray)(permissions);
|
|
235
|
+
return this;
|
|
236
|
+
}
|
|
237
|
+
setHalt(halt) {
|
|
238
|
+
this._halt = halt || undefined;
|
|
239
|
+
return this;
|
|
240
|
+
}
|
|
241
|
+
setExecute(execute) {
|
|
242
|
+
if ((0, discord_js_1.isValidationEnabled)() && (!execute || typeof execute !== 'function'))
|
|
243
|
+
throw new TypeError('execute must be a function.');
|
|
244
|
+
this._execute = execute;
|
|
245
|
+
return this;
|
|
246
|
+
}
|
|
247
|
+
setMetadata(metadata) {
|
|
248
|
+
this.metadata = metadata;
|
|
249
|
+
return this;
|
|
250
|
+
}
|
|
251
|
+
/**
|
|
252
|
+
* Returns JSON object of this builder
|
|
253
|
+
*/
|
|
254
|
+
toJSON() {
|
|
255
|
+
return {
|
|
256
|
+
type: this.type,
|
|
257
|
+
name: this.name,
|
|
258
|
+
description: this.description,
|
|
259
|
+
aliases: this.aliases,
|
|
260
|
+
cooldown: this.cooldown,
|
|
261
|
+
requiredBotPermissions: this.requiredBotPermissions,
|
|
262
|
+
requiredMemberPermissions: this.requiredMemberPermissions,
|
|
263
|
+
halt: this.halt,
|
|
264
|
+
execute: this.execute,
|
|
265
|
+
metadata: this.metadata,
|
|
266
|
+
allowExecuteByBots: this.allowExecuteByBots,
|
|
267
|
+
allowExecuteInDM: this.allowExecuteInDM,
|
|
268
|
+
validateOptions: this.validateOptions,
|
|
269
|
+
options: this.options.map(o => (o instanceof MessageCommandOptionBuilder_1.MessageCommandOptionBuilder ? o.toJSON() : o)),
|
|
270
|
+
};
|
|
271
|
+
}
|
|
272
|
+
/**
|
|
273
|
+
* Resolve message command data/builder
|
|
274
|
+
* @param commandData Command data to resolve
|
|
275
|
+
*/
|
|
276
|
+
static resolveMessageCommand(commandData) {
|
|
277
|
+
return this.isMessageCommandBuilder(commandData) ? commandData : new MessageCommandBuilder(commandData);
|
|
278
|
+
}
|
|
279
|
+
/**
|
|
280
|
+
* Is a message command builder
|
|
281
|
+
* @param builder data to check
|
|
282
|
+
*/
|
|
283
|
+
static isMessageCommandBuilder(builder) {
|
|
284
|
+
return builder instanceof MessageCommandBuilder;
|
|
285
|
+
}
|
|
286
|
+
/**
|
|
287
|
+
* Is a message command execute data
|
|
288
|
+
* @param executeData data to check
|
|
289
|
+
*/
|
|
290
|
+
static isMessageCommandExecuteData(executeData) {
|
|
291
|
+
return executeData.builder !== undefined && this.isMessageCommandBuilder(executeData.builder);
|
|
292
|
+
}
|
|
293
|
+
/**
|
|
294
|
+
* Validate message command options
|
|
295
|
+
* @param builder Command builder
|
|
296
|
+
* @param options Parsed command args
|
|
297
|
+
*/
|
|
298
|
+
static async validateOptions(builder, commandArgs) {
|
|
299
|
+
const args = Array.isArray(commandArgs) ? commandArgs : commandArgs.args || [];
|
|
300
|
+
const allOptions = [...(builder.options ?? []).filter(o => o.required), ...(builder.options ?? []).filter(o => !o.required)];
|
|
301
|
+
const result = [];
|
|
302
|
+
for (let i = 0; i < allOptions.length; i++) {
|
|
303
|
+
const arg = args[i];
|
|
304
|
+
result.push(await MessageCommandOptionBuilder_1.MessageCommandOptionBuilder.validateOption(allOptions[i], arg));
|
|
305
|
+
}
|
|
306
|
+
return new MessageCommandOptionManager_1.MessageCommandOptionManager(...result);
|
|
307
|
+
}
|
|
308
|
+
}
|
|
309
|
+
exports.MessageCommandBuilder = MessageCommandBuilder;
|
|
310
|
+
//# sourceMappingURL=MessageCommandBuilder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MessageCommandBuilder.js","sourceRoot":"","sources":["../../../../../src/reciple/classes/builders/MessageCommandBuilder.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,15 +1,39 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.MessageCommandOptionBuilder = void 0;
|
|
4
|
+
const discord_js_1 = require("discord.js");
|
|
4
5
|
/**
|
|
5
6
|
* Option builder for MessageCommandBuilder
|
|
6
7
|
*/
|
|
7
8
|
class MessageCommandOptionBuilder {
|
|
9
|
+
get name() {
|
|
10
|
+
return this._name;
|
|
11
|
+
}
|
|
12
|
+
get description() {
|
|
13
|
+
return this._description;
|
|
14
|
+
}
|
|
15
|
+
get required() {
|
|
16
|
+
return this._required;
|
|
17
|
+
}
|
|
18
|
+
get validator() {
|
|
19
|
+
return this._validator;
|
|
20
|
+
}
|
|
21
|
+
set name(name) {
|
|
22
|
+
this.setName(name);
|
|
23
|
+
}
|
|
24
|
+
set description(description) {
|
|
25
|
+
this.setDescription(description);
|
|
26
|
+
}
|
|
27
|
+
set required(required) {
|
|
28
|
+
this.setRequired(required);
|
|
29
|
+
}
|
|
30
|
+
set validator(validator) {
|
|
31
|
+
this.setValidator(validator);
|
|
32
|
+
}
|
|
8
33
|
constructor(data) {
|
|
9
|
-
this.
|
|
10
|
-
this.
|
|
11
|
-
this.
|
|
12
|
-
this.validator = () => true;
|
|
34
|
+
this._name = '';
|
|
35
|
+
this._description = '';
|
|
36
|
+
this._required = false;
|
|
13
37
|
if (data?.name !== undefined)
|
|
14
38
|
this.setName(data.name);
|
|
15
39
|
if (data?.description !== undefined)
|
|
@@ -24,9 +48,9 @@ class MessageCommandOptionBuilder {
|
|
|
24
48
|
* @param name Option name
|
|
25
49
|
*/
|
|
26
50
|
setName(name) {
|
|
27
|
-
if (typeof name !== 'string' || !name.match(/^[\w-]{1,32}$/))
|
|
51
|
+
if ((0, discord_js_1.isValidationEnabled)() && (typeof name !== 'string' || !name.match(/^[\w-]{1,32}$/)))
|
|
28
52
|
throw new TypeError('name must be a string and match the regex /^[\\w-]{1,32}$/.');
|
|
29
|
-
this.
|
|
53
|
+
this._name = name;
|
|
30
54
|
return this;
|
|
31
55
|
}
|
|
32
56
|
/**
|
|
@@ -34,9 +58,9 @@ class MessageCommandOptionBuilder {
|
|
|
34
58
|
* @param description Option description
|
|
35
59
|
*/
|
|
36
60
|
setDescription(description) {
|
|
37
|
-
if (!description || typeof description !== 'string')
|
|
61
|
+
if ((0, discord_js_1.isValidationEnabled)() && (!description || typeof description !== 'string'))
|
|
38
62
|
throw new TypeError('description must be a string.');
|
|
39
|
-
this.
|
|
63
|
+
this._description = description;
|
|
40
64
|
return this;
|
|
41
65
|
}
|
|
42
66
|
/**
|
|
@@ -44,9 +68,7 @@ class MessageCommandOptionBuilder {
|
|
|
44
68
|
* @param required `true` if this option is required
|
|
45
69
|
*/
|
|
46
70
|
setRequired(required) {
|
|
47
|
-
|
|
48
|
-
throw new TypeError('required must be a boolean.');
|
|
49
|
-
this.required = required;
|
|
71
|
+
this._required = !!required;
|
|
50
72
|
return this;
|
|
51
73
|
}
|
|
52
74
|
/**
|
|
@@ -54,9 +76,9 @@ class MessageCommandOptionBuilder {
|
|
|
54
76
|
* @param validator Custom function to validate value given for this option
|
|
55
77
|
*/
|
|
56
78
|
setValidator(validator) {
|
|
57
|
-
if (
|
|
79
|
+
if ((0, discord_js_1.isValidationEnabled)() && validator !== undefined && typeof validator !== 'function')
|
|
58
80
|
throw new TypeError('validator must be a function.');
|
|
59
|
-
this.
|
|
81
|
+
this._validator = validator;
|
|
60
82
|
return this;
|
|
61
83
|
}
|
|
62
84
|
toJSON() {
|
|
@@ -81,5 +103,25 @@ class MessageCommandOptionBuilder {
|
|
|
81
103
|
static isMessageCommandOption(builder) {
|
|
82
104
|
return builder instanceof MessageCommandOptionBuilder;
|
|
83
105
|
}
|
|
106
|
+
static async validateOption(option, value) {
|
|
107
|
+
const validatedOption = {
|
|
108
|
+
name: option.name,
|
|
109
|
+
value,
|
|
110
|
+
required: !!option.required,
|
|
111
|
+
invalid: false,
|
|
112
|
+
missing: false,
|
|
113
|
+
};
|
|
114
|
+
if (value == undefined && option.required) {
|
|
115
|
+
validatedOption.missing = true;
|
|
116
|
+
return validatedOption;
|
|
117
|
+
}
|
|
118
|
+
if (value == undefined && !option.required)
|
|
119
|
+
return validatedOption;
|
|
120
|
+
const validate = option.validator !== undefined ? await Promise.resolve(option.validator(value ?? '')) : true;
|
|
121
|
+
if (!validate)
|
|
122
|
+
validatedOption.invalid = true;
|
|
123
|
+
return validatedOption;
|
|
124
|
+
}
|
|
84
125
|
}
|
|
85
126
|
exports.MessageCommandOptionBuilder = MessageCommandOptionBuilder;
|
|
127
|
+
//# sourceMappingURL=MessageCommandOptionBuilder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MessageCommandOptionBuilder.js","sourceRoot":"","sources":["../../../../../src/reciple/classes/builders/MessageCommandOptionBuilder.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,13 +8,43 @@ const discord_js_1 = require("discord.js");
|
|
|
8
8
|
* Reciple builder for slash command
|
|
9
9
|
*/
|
|
10
10
|
class SlashCommandBuilder extends discord_js_1.SlashCommandBuilder {
|
|
11
|
+
get cooldown() {
|
|
12
|
+
return this._cooldown;
|
|
13
|
+
}
|
|
14
|
+
get requiredBotPermissions() {
|
|
15
|
+
return this._requiredBotPermissions;
|
|
16
|
+
}
|
|
17
|
+
get requiredMemberPermissions() {
|
|
18
|
+
return this._requiredMemberPermissions;
|
|
19
|
+
}
|
|
20
|
+
get halt() {
|
|
21
|
+
return this._halt;
|
|
22
|
+
}
|
|
23
|
+
get execute() {
|
|
24
|
+
return this._execute;
|
|
25
|
+
}
|
|
26
|
+
set cooldown(cooldown) {
|
|
27
|
+
this.setCooldown(cooldown);
|
|
28
|
+
}
|
|
29
|
+
set requiredBotPermissions(permissions) {
|
|
30
|
+
this.setRequiredBotPermissions(permissions);
|
|
31
|
+
}
|
|
32
|
+
set requiredMemberPermissions(permissions) {
|
|
33
|
+
this.setRequiredMemberPermissions(permissions);
|
|
34
|
+
}
|
|
35
|
+
set halt(halt) {
|
|
36
|
+
this.setHalt(halt);
|
|
37
|
+
}
|
|
38
|
+
set execute(execute) {
|
|
39
|
+
this.setExecute(execute);
|
|
40
|
+
}
|
|
11
41
|
constructor(data) {
|
|
12
42
|
super();
|
|
13
|
-
this.type = builders_1.
|
|
14
|
-
this.
|
|
15
|
-
this.
|
|
16
|
-
this.
|
|
17
|
-
this.
|
|
43
|
+
this.type = builders_1.CommandType.SlashCommand;
|
|
44
|
+
this._cooldown = 0;
|
|
45
|
+
this._requiredBotPermissions = [];
|
|
46
|
+
this._requiredMemberPermissions = [];
|
|
47
|
+
this._execute = () => {
|
|
18
48
|
/* Execute */
|
|
19
49
|
};
|
|
20
50
|
// TODO: WTH
|
|
@@ -51,26 +81,26 @@ class SlashCommandBuilder extends discord_js_1.SlashCommandBuilder {
|
|
|
51
81
|
}
|
|
52
82
|
}
|
|
53
83
|
setCooldown(cooldown) {
|
|
54
|
-
this.
|
|
84
|
+
this._cooldown = cooldown;
|
|
55
85
|
return this;
|
|
56
86
|
}
|
|
57
87
|
setRequiredBotPermissions(...permissions) {
|
|
58
|
-
this.
|
|
88
|
+
this._requiredBotPermissions = (0, discord_js_1.normalizeArray)(permissions);
|
|
59
89
|
return this;
|
|
60
90
|
}
|
|
61
91
|
setRequiredMemberPermissions(...permissions) {
|
|
62
|
-
this.
|
|
92
|
+
this._requiredMemberPermissions = (0, discord_js_1.normalizeArray)(permissions);
|
|
63
93
|
this.setDefaultMemberPermissions(this.requiredMemberPermissions.length ? new discord_js_1.PermissionsBitField(this.requiredMemberPermissions).bitfield : undefined);
|
|
64
94
|
return this;
|
|
65
95
|
}
|
|
66
96
|
setHalt(halt) {
|
|
67
|
-
this.
|
|
97
|
+
this._halt = halt || undefined;
|
|
68
98
|
return this;
|
|
69
99
|
}
|
|
70
100
|
setExecute(execute) {
|
|
71
|
-
if (!execute || typeof execute !== 'function')
|
|
101
|
+
if ((0, discord_js_1.isValidationEnabled)() && (!execute || typeof execute !== 'function'))
|
|
72
102
|
throw new Error('execute must be a function.');
|
|
73
|
-
this.
|
|
103
|
+
this._execute = execute;
|
|
74
104
|
return this;
|
|
75
105
|
}
|
|
76
106
|
setMetadata(metadata) {
|
|
@@ -182,10 +212,7 @@ class SlashCommandBuilder extends discord_js_1.SlashCommandBuilder {
|
|
|
182
212
|
default:
|
|
183
213
|
throw new TypeError('Unknown option data');
|
|
184
214
|
}
|
|
185
|
-
if (!(builder instanceof discord_js_1.SlashCommandSubcommandBuilder) &&
|
|
186
|
-
!(builder instanceof discord_js_1.SlashCommandSubcommandGroupBuilder) &&
|
|
187
|
-
option.type !== discord_js_1.ApplicationCommandOptionType.Subcommand &&
|
|
188
|
-
option.type !== discord_js_1.ApplicationCommandOptionType.SubcommandGroup) {
|
|
215
|
+
if (!(builder instanceof discord_js_1.SlashCommandSubcommandBuilder) && !(builder instanceof discord_js_1.SlashCommandSubcommandGroupBuilder) && option.type !== discord_js_1.ApplicationCommandOptionType.Subcommand && option.type !== discord_js_1.ApplicationCommandOptionType.SubcommandGroup) {
|
|
189
216
|
builder.setRequired(option.required ?? false);
|
|
190
217
|
}
|
|
191
218
|
return builder
|
|
@@ -217,3 +244,4 @@ class SlashCommandBuilder extends discord_js_1.SlashCommandBuilder {
|
|
|
217
244
|
}
|
|
218
245
|
}
|
|
219
246
|
exports.SlashCommandBuilder = SlashCommandBuilder;
|
|
247
|
+
//# sourceMappingURL=SlashCommandBuilder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SlashCommandBuilder.js","sourceRoot":"","sources":["../../../../../src/reciple/classes/builders/SlashCommandBuilder.ts"],"names":[],"mappings":"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"}
|