reciple 6.0.0-dev.9 → 6.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -2
- 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 +33 -24
- 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/{cjs → lib}/reciple/classes/RecipleModule.js +58 -15
- package/dist/lib/reciple/classes/RecipleModule.js.map +1 -0
- package/dist/{cjs → lib}/reciple/classes/builders/MessageCommandBuilder.js +150 -82
- 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 +41 -10
- package/dist/lib/reciple/classes/builders/SlashCommandBuilder.js.map +1 -0
- package/dist/{cjs → lib}/reciple/classes/managers/ApplicationCommandManager.js +49 -6
- 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} +16 -13
- 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/{cjs/reciple/classes/managers/ClientModuleManager.js → lib/reciple/classes/managers/ModuleManager.js} +78 -64
- 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/{cjs → lib}/reciple/types/builders.js +2 -1
- 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 → lib}/reciple/util.js +13 -7
- 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 +37 -5
- package/dist/types/reciple/classes/RecipleModule.d.ts.map +1 -0
- package/dist/types/reciple/classes/builders/MessageCommandBuilder.d.ts +66 -26
- 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 +21 -10
- package/dist/types/reciple/classes/builders/SlashCommandBuilder.d.ts.map +1 -0
- package/dist/types/reciple/classes/managers/ApplicationCommandManager.d.ts +45 -6
- package/dist/types/reciple/classes/managers/ApplicationCommandManager.d.ts.map +1 -0
- package/dist/types/reciple/classes/managers/CommandCooldownManager.d.ts +1 -0
- 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 +25 -16
- package/dist/types/reciple/types/builders.d.ts.map +1 -0
- package/dist/types/reciple/types/commands.d.ts +16 -15
- package/dist/types/reciple/types/commands.d.ts.map +1 -0
- package/dist/types/reciple/types/paramOptions.d.ts +80 -3
- package/dist/types/reciple/types/paramOptions.d.ts.map +1 -0
- package/dist/types/reciple/util.d.ts +9 -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 +44 -35
- package/resource/reciple.yml +25 -22
- package/dist/cjs/bin.js +0 -54
- package/dist/types/reciple/classes/managers/ClientCommandManager.d.ts +0 -37
- package/dist/types/reciple/classes/managers/ClientModuleManager.d.ts +0 -19
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.MessageCommandBuilder = void 0;
|
|
4
4
|
const builders_1 = require("../../types/builders");
|
|
5
5
|
const discord_js_1 = require("discord.js");
|
|
6
6
|
const MessageCommandOptionManager_1 = require("../managers/MessageCommandOptionManager");
|
|
@@ -9,19 +9,91 @@ const MessageCommandOptionBuilder_1 = require("./MessageCommandOptionBuilder");
|
|
|
9
9
|
* Reciple builder for message command
|
|
10
10
|
*/
|
|
11
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
|
+
}
|
|
12
84
|
constructor(data) {
|
|
13
85
|
this.type = builders_1.CommandType.MessageCommand;
|
|
14
|
-
this.
|
|
15
|
-
this.
|
|
16
|
-
this.
|
|
17
|
-
this.
|
|
18
|
-
this.
|
|
19
|
-
this.
|
|
20
|
-
this.
|
|
21
|
-
this.
|
|
22
|
-
this.
|
|
23
|
-
this.
|
|
24
|
-
this.
|
|
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 = () => {
|
|
25
97
|
/* Execute */
|
|
26
98
|
};
|
|
27
99
|
if (data?.name !== undefined)
|
|
@@ -56,9 +128,9 @@ class MessageCommandBuilder {
|
|
|
56
128
|
* @param name Command name
|
|
57
129
|
*/
|
|
58
130
|
setName(name) {
|
|
59
|
-
if (!name || typeof name !== 'string' || !name.match(/^[\w-]{1,32}$/))
|
|
131
|
+
if ((0, discord_js_1.isValidationEnabled)() && (!name || typeof name !== 'string' || !name.match(/^[\w-]{1,32}$/)))
|
|
60
132
|
throw new TypeError('name must be a string and match the regex /^[\\w-]{1,32}$/');
|
|
61
|
-
this.
|
|
133
|
+
this._name = name;
|
|
62
134
|
return this;
|
|
63
135
|
}
|
|
64
136
|
/**
|
|
@@ -66,9 +138,9 @@ class MessageCommandBuilder {
|
|
|
66
138
|
* @param description Command description
|
|
67
139
|
*/
|
|
68
140
|
setDescription(description) {
|
|
69
|
-
if (!description || typeof description !== 'string')
|
|
141
|
+
if ((0, discord_js_1.isValidationEnabled)() && (!description || typeof description !== 'string'))
|
|
70
142
|
throw new TypeError('description must be a string.');
|
|
71
|
-
this.
|
|
143
|
+
this._description = description;
|
|
72
144
|
return this;
|
|
73
145
|
}
|
|
74
146
|
/**
|
|
@@ -83,17 +155,23 @@ class MessageCommandBuilder {
|
|
|
83
155
|
throw new TypeError('aliases must be strings and should not contain whitespaces');
|
|
84
156
|
if (this.name && aliases.some(a => a == this.name))
|
|
85
157
|
throw new TypeError('alias cannot have same name to its real command name');
|
|
86
|
-
this.
|
|
158
|
+
this._aliases = [...new Set(aliases.map(s => s.toLowerCase()))];
|
|
87
159
|
return this;
|
|
88
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
|
+
}
|
|
89
169
|
/**
|
|
90
170
|
* Set if command can be executed in dms
|
|
91
171
|
* @param allowExecuteInDM `true` if the command can execute in DMs
|
|
92
172
|
*/
|
|
93
173
|
setAllowExecuteInDM(allowExecuteInDM) {
|
|
94
|
-
|
|
95
|
-
throw new TypeError('allowExecuteInDM must be a boolean.');
|
|
96
|
-
this.allowExecuteInDM = allowExecuteInDM;
|
|
174
|
+
this._allowExecuteInDM = !!allowExecuteInDM;
|
|
97
175
|
return this;
|
|
98
176
|
}
|
|
99
177
|
/**
|
|
@@ -101,56 +179,69 @@ class MessageCommandBuilder {
|
|
|
101
179
|
* @param allowExecuteByBots `true` if the command can be executed by bots
|
|
102
180
|
*/
|
|
103
181
|
setAllowExecuteByBots(allowExecuteByBots) {
|
|
104
|
-
|
|
105
|
-
throw new TypeError('allowExecuteByBots must be a boolean.');
|
|
106
|
-
this.allowExecuteByBots = allowExecuteByBots;
|
|
182
|
+
this._allowExecuteByBots = !!allowExecuteByBots;
|
|
107
183
|
return this;
|
|
108
184
|
}
|
|
109
185
|
/**
|
|
110
|
-
* Add
|
|
111
|
-
* @param
|
|
186
|
+
* Add new command options
|
|
187
|
+
* @param options Message options
|
|
112
188
|
*/
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
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
|
+
}
|
|
122
200
|
return this;
|
|
123
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
|
+
}
|
|
124
217
|
/**
|
|
125
218
|
* Validate options before executing
|
|
126
219
|
* @param validateOptions `true` if the command options needs to be validated before executing
|
|
127
220
|
*/
|
|
128
221
|
setValidateOptions(validateOptions) {
|
|
129
|
-
|
|
130
|
-
throw new TypeError('validateOptions must be a boolean.');
|
|
131
|
-
this.validateOptions = validateOptions;
|
|
222
|
+
this._validateOptions = !!validateOptions;
|
|
132
223
|
return this;
|
|
133
224
|
}
|
|
134
225
|
setCooldown(cooldown) {
|
|
135
|
-
this.
|
|
226
|
+
this._cooldown = cooldown;
|
|
136
227
|
return this;
|
|
137
228
|
}
|
|
138
229
|
setRequiredBotPermissions(...permissions) {
|
|
139
|
-
this.
|
|
230
|
+
this._requiredBotPermissions = (0, discord_js_1.normalizeArray)(permissions);
|
|
140
231
|
return this;
|
|
141
232
|
}
|
|
142
233
|
setRequiredMemberPermissions(...permissions) {
|
|
143
|
-
this.
|
|
234
|
+
this._requiredMemberPermissions = (0, discord_js_1.normalizeArray)(permissions);
|
|
144
235
|
return this;
|
|
145
236
|
}
|
|
146
237
|
setHalt(halt) {
|
|
147
|
-
this.
|
|
238
|
+
this._halt = halt || undefined;
|
|
148
239
|
return this;
|
|
149
240
|
}
|
|
150
241
|
setExecute(execute) {
|
|
151
|
-
if (!execute || typeof execute !== 'function')
|
|
242
|
+
if ((0, discord_js_1.isValidationEnabled)() && (!execute || typeof execute !== 'function'))
|
|
152
243
|
throw new TypeError('execute must be a function.');
|
|
153
|
-
this.
|
|
244
|
+
this._execute = execute;
|
|
154
245
|
return this;
|
|
155
246
|
}
|
|
156
247
|
setMetadata(metadata) {
|
|
@@ -175,7 +266,7 @@ class MessageCommandBuilder {
|
|
|
175
266
|
allowExecuteByBots: this.allowExecuteByBots,
|
|
176
267
|
allowExecuteInDM: this.allowExecuteInDM,
|
|
177
268
|
validateOptions: this.validateOptions,
|
|
178
|
-
options: this.options.map(o => o.toJSON()),
|
|
269
|
+
options: this.options.map(o => (o instanceof MessageCommandOptionBuilder_1.MessageCommandOptionBuilder ? o.toJSON() : o)),
|
|
179
270
|
};
|
|
180
271
|
}
|
|
181
272
|
/**
|
|
@@ -199,44 +290,21 @@ class MessageCommandBuilder {
|
|
|
199
290
|
static isMessageCommandExecuteData(executeData) {
|
|
200
291
|
return executeData.builder !== undefined && this.isMessageCommandBuilder(executeData.builder);
|
|
201
292
|
}
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
const result = [];
|
|
215
|
-
let i = 0;
|
|
216
|
-
for (const option of allOptions) {
|
|
217
|
-
const arg = args[i];
|
|
218
|
-
const value = {
|
|
219
|
-
name: option.name,
|
|
220
|
-
value: arg ?? undefined,
|
|
221
|
-
required: option.required,
|
|
222
|
-
invalid: false,
|
|
223
|
-
missing: false,
|
|
224
|
-
};
|
|
225
|
-
if (arg == undefined && option.required) {
|
|
226
|
-
value.missing = true;
|
|
227
|
-
result.push(value);
|
|
228
|
-
continue;
|
|
229
|
-
}
|
|
230
|
-
if (arg == undefined && !option.required) {
|
|
231
|
-
result.push(value);
|
|
232
|
-
continue;
|
|
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));
|
|
233
305
|
}
|
|
234
|
-
|
|
235
|
-
if (!validate)
|
|
236
|
-
value.invalid = true;
|
|
237
|
-
result.push(value);
|
|
238
|
-
i++;
|
|
306
|
+
return new MessageCommandOptionManager_1.MessageCommandOptionManager(...result);
|
|
239
307
|
}
|
|
240
|
-
return new MessageCommandOptionManager_1.MessageCommandOptionManager(...result);
|
|
241
308
|
}
|
|
242
|
-
exports.
|
|
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":";;;AACA,2CAA4D;AAG5D;;GAEG;AACH,MAAa,2BAA2B;IAMpC,IAAI,IAAI;QACJ,OAAO,IAAI,CAAC,KAAK,CAAC;IACtB,CAAC;IACD,IAAI,WAAW;QACX,OAAO,IAAI,CAAC,YAAY,CAAC;IAC7B,CAAC;IACD,IAAI,QAAQ;QACR,OAAO,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;IACD,IAAI,SAAS;QACT,OAAO,IAAI,CAAC,UAAU,CAAC;IAC3B,CAAC;IAED,IAAI,IAAI,CAAC,IAAuB;QAC5B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,CAAC;IACD,IAAI,WAAW,CAAC,WAAqC;QACjD,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;IACrC,CAAC;IACD,IAAI,QAAQ,CAAC,QAA+B;QACxC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC/B,CAAC;IACD,IAAI,SAAS,CAAC,SAAiC;QAC3C,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;IACjC,CAAC;IAED,YAAY,IAAwC;QA/B1C,UAAK,GAAW,EAAE,CAAC;QACnB,iBAAY,GAAW,EAAE,CAAC;QAC1B,cAAS,GAAY,KAAK,CAAC;QA8BjC,IAAI,IAAI,EAAE,IAAI,KAAK,SAAS;YAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtD,IAAI,IAAI,EAAE,WAAW,KAAK,SAAS;YAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC3E,IAAI,IAAI,EAAE,QAAQ,KAAK,SAAS;YAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAClE,IAAI,IAAI,EAAE,SAAS,KAAK,SAAS;YAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACzE,CAAC;IAED;;;OAGG;IACI,OAAO,CAAC,IAAY;QACvB,IAAI,IAAA,gCAAmB,GAAE,IAAI,CAAC,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;YAAE,MAAM,IAAI,SAAS,CAAC,6DAA6D,CAAC,CAAC;QAC5K,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;;OAGG;IACI,cAAc,CAAC,WAAmB;QACrC,IAAI,IAAA,gCAAmB,GAAE,IAAI,CAAC,CAAC,WAAW,IAAI,OAAO,WAAW,KAAK,QAAQ,CAAC;YAAE,MAAM,IAAI,SAAS,CAAC,+BAA+B,CAAC,CAAC;QACrI,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;QAChC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;;OAGG;IACI,WAAW,CAAC,QAAiB;QAChC,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,QAAQ,CAAC;QAC5B,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;;OAGG;IACI,YAAY,CAAC,SAAiD;QACjE,IAAI,IAAA,gCAAmB,GAAE,IAAI,SAAS,KAAK,SAAS,IAAI,OAAO,SAAS,KAAK,UAAU;YAAE,MAAM,IAAI,SAAS,CAAC,+BAA+B,CAAC,CAAC;QAC9I,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,MAAM;QACT,OAAO;YACH,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,SAAS,EAAE,IAAI,CAAC,SAAS;SAC5B,CAAC;IACN,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,2BAA2B,CAAC,MAAsC;QAC5E,OAAO,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,2BAA2B,CAAC,MAAM,CAAC,CAAC;IAClG,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,sBAAsB,CAAC,OAAgB;QACjD,OAAO,OAAO,YAAY,2BAA2B,CAAC;IAC1D,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,MAAsC,EAAE,KAAc;QACrF,MAAM,eAAe,GAAkC;YACnD,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,KAAK;YACL,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ;YAC3B,OAAO,EAAE,KAAK;YACd,OAAO,EAAE,KAAK;SACjB,CAAC;QAEF,IAAI,KAAK,IAAI,SAAS,IAAI,MAAM,CAAC,QAAQ,EAAE;YACvC,eAAe,CAAC,OAAO,GAAG,IAAI,CAAC;YAC/B,OAAO,eAAe,CAAC;SAC1B;QAED,IAAI,KAAK,IAAI,SAAS,IAAI,CAAC,MAAM,CAAC,QAAQ;YAAE,OAAO,eAAe,CAAC;QAEnE,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC9G,IAAI,CAAC,QAAQ;YAAE,eAAe,CAAC,OAAO,GAAG,IAAI,CAAC;QAE9C,OAAO,eAAe,CAAC;IAC3B,CAAC;CACJ;AA5HD,kEA4HC"}
|
|
@@ -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
43
|
this.type = builders_1.CommandType.SlashCommand;
|
|
14
|
-
this.
|
|
15
|
-
this.
|
|
16
|
-
this.
|
|
17
|
-
this.
|
|
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) {
|
|
@@ -214,3 +244,4 @@ class SlashCommandBuilder extends discord_js_1.SlashCommandBuilder {
|
|
|
214
244
|
}
|
|
215
245
|
}
|
|
216
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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"}
|