reciple 6.0.4 → 7.0.0-dev.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (109) hide show
  1. package/LICENSE +674 -674
  2. package/README.md +193 -182
  3. package/bin/bin.d.mts +2 -0
  4. package/bin/bin.mjs +73 -0
  5. package/bin/bin.mjs.map +1 -0
  6. package/bin/classes/Config.d.ts +32 -0
  7. package/bin/classes/Config.js +72 -0
  8. package/bin/classes/Config.js.map +1 -0
  9. package/bin/esm.d.mts +1 -0
  10. package/{dist/lib → bin}/esm.mjs +0 -0
  11. package/bin/esm.mjs.map +1 -0
  12. package/bin/index.d.ts +5 -0
  13. package/bin/index.js +22 -0
  14. package/bin/index.js.map +1 -0
  15. package/bin/utils/cli.d.ts +4 -0
  16. package/bin/utils/cli.js +20 -0
  17. package/bin/utils/cli.js.map +1 -0
  18. package/bin/utils/logger.d.ts +6 -0
  19. package/bin/utils/logger.js +61 -0
  20. package/bin/utils/logger.js.map +1 -0
  21. package/bin/utils/modules.d.ts +3 -0
  22. package/bin/utils/modules.js +35 -0
  23. package/bin/utils/modules.js.map +1 -0
  24. package/package.json +26 -66
  25. package/static/config.yml +97 -0
  26. package/dist/lib/bin.mjs +0 -77
  27. package/dist/lib/bin.mjs.map +0 -1
  28. package/dist/lib/esm.mjs.map +0 -1
  29. package/dist/lib/index.js +0 -34
  30. package/dist/lib/index.js.map +0 -1
  31. package/dist/lib/reciple/classes/RecipleClient.js +0 -293
  32. package/dist/lib/reciple/classes/RecipleClient.js.map +0 -1
  33. package/dist/lib/reciple/classes/RecipleConfig.js +0 -107
  34. package/dist/lib/reciple/classes/RecipleConfig.js.map +0 -1
  35. package/dist/lib/reciple/classes/RecipleModule.js +0 -137
  36. package/dist/lib/reciple/classes/RecipleModule.js.map +0 -1
  37. package/dist/lib/reciple/classes/builders/MessageCommandBuilder.js +0 -316
  38. package/dist/lib/reciple/classes/builders/MessageCommandBuilder.js.map +0 -1
  39. package/dist/lib/reciple/classes/builders/MessageCommandOptionBuilder.js +0 -127
  40. package/dist/lib/reciple/classes/builders/MessageCommandOptionBuilder.js.map +0 -1
  41. package/dist/lib/reciple/classes/builders/SlashCommandBuilder.js +0 -253
  42. package/dist/lib/reciple/classes/builders/SlashCommandBuilder.js.map +0 -1
  43. package/dist/lib/reciple/classes/managers/ApplicationCommandManager.js +0 -179
  44. package/dist/lib/reciple/classes/managers/ApplicationCommandManager.js.map +0 -1
  45. package/dist/lib/reciple/classes/managers/CommandCooldownManager.js +0 -100
  46. package/dist/lib/reciple/classes/managers/CommandCooldownManager.js.map +0 -1
  47. package/dist/lib/reciple/classes/managers/CommandManager.js +0 -65
  48. package/dist/lib/reciple/classes/managers/CommandManager.js.map +0 -1
  49. package/dist/lib/reciple/classes/managers/MessageCommandOptionManager.js +0 -26
  50. package/dist/lib/reciple/classes/managers/MessageCommandOptionManager.js.map +0 -1
  51. package/dist/lib/reciple/classes/managers/ModuleManager.js +0 -181
  52. package/dist/lib/reciple/classes/managers/ModuleManager.js.map +0 -1
  53. package/dist/lib/reciple/flags.js +0 -32
  54. package/dist/lib/reciple/flags.js.map +0 -1
  55. package/dist/lib/reciple/permissions.js +0 -31
  56. package/dist/lib/reciple/permissions.js.map +0 -1
  57. package/dist/lib/reciple/types/builders.js +0 -12
  58. package/dist/lib/reciple/types/builders.js.map +0 -1
  59. package/dist/lib/reciple/types/commands.js +0 -16
  60. package/dist/lib/reciple/types/commands.js.map +0 -1
  61. package/dist/lib/reciple/types/paramOptions.js +0 -3
  62. package/dist/lib/reciple/types/paramOptions.js.map +0 -1
  63. package/dist/lib/reciple/util.js +0 -72
  64. package/dist/lib/reciple/util.js.map +0 -1
  65. package/dist/lib/reciple/version.js +0 -48
  66. package/dist/lib/reciple/version.js.map +0 -1
  67. package/dist/types/bin.d.mts +0 -3
  68. package/dist/types/bin.d.mts.map +0 -1
  69. package/dist/types/esm.d.mts +0 -2
  70. package/dist/types/esm.d.mts.map +0 -1
  71. package/dist/types/index.d.ts +0 -18
  72. package/dist/types/index.d.ts.map +0 -1
  73. package/dist/types/reciple/classes/RecipleClient.d.ts +0 -116
  74. package/dist/types/reciple/classes/RecipleClient.d.ts.map +0 -1
  75. package/dist/types/reciple/classes/RecipleConfig.d.ts +0 -102
  76. package/dist/types/reciple/classes/RecipleConfig.d.ts.map +0 -1
  77. package/dist/types/reciple/classes/RecipleModule.d.ts +0 -88
  78. package/dist/types/reciple/classes/RecipleModule.d.ts.map +0 -1
  79. package/dist/types/reciple/classes/builders/MessageCommandBuilder.d.ts +0 -198
  80. package/dist/types/reciple/classes/builders/MessageCommandBuilder.d.ts.map +0 -1
  81. package/dist/types/reciple/classes/builders/MessageCommandOptionBuilder.d.ts +0 -54
  82. package/dist/types/reciple/classes/builders/MessageCommandOptionBuilder.d.ts.map +0 -1
  83. package/dist/types/reciple/classes/builders/SlashCommandBuilder.d.ts +0 -107
  84. package/dist/types/reciple/classes/builders/SlashCommandBuilder.d.ts.map +0 -1
  85. package/dist/types/reciple/classes/managers/ApplicationCommandManager.d.ts +0 -54
  86. package/dist/types/reciple/classes/managers/ApplicationCommandManager.d.ts.map +0 -1
  87. package/dist/types/reciple/classes/managers/CommandCooldownManager.d.ts +0 -71
  88. package/dist/types/reciple/classes/managers/CommandCooldownManager.d.ts.map +0 -1
  89. package/dist/types/reciple/classes/managers/CommandManager.d.ts +0 -35
  90. package/dist/types/reciple/classes/managers/CommandManager.d.ts.map +0 -1
  91. package/dist/types/reciple/classes/managers/MessageCommandOptionManager.d.ts +0 -23
  92. package/dist/types/reciple/classes/managers/MessageCommandOptionManager.d.ts.map +0 -1
  93. package/dist/types/reciple/classes/managers/ModuleManager.d.ts +0 -50
  94. package/dist/types/reciple/classes/managers/ModuleManager.d.ts.map +0 -1
  95. package/dist/types/reciple/flags.d.ts +0 -18
  96. package/dist/types/reciple/flags.d.ts.map +0 -1
  97. package/dist/types/reciple/permissions.d.ts +0 -16
  98. package/dist/types/reciple/permissions.d.ts.map +0 -1
  99. package/dist/types/reciple/types/builders.d.ts +0 -206
  100. package/dist/types/reciple/types/builders.d.ts.map +0 -1
  101. package/dist/types/reciple/types/commands.d.ts +0 -86
  102. package/dist/types/reciple/types/commands.d.ts.map +0 -1
  103. package/dist/types/reciple/types/paramOptions.d.ts +0 -102
  104. package/dist/types/reciple/types/paramOptions.d.ts.map +0 -1
  105. package/dist/types/reciple/util.d.ts +0 -27
  106. package/dist/types/reciple/util.d.ts.map +0 -1
  107. package/dist/types/reciple/version.d.ts +0 -26
  108. package/dist/types/reciple/version.d.ts.map +0 -1
  109. package/resource/reciple.yml +0 -122
@@ -1,316 +0,0 @@
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.type == builders_1.CommandType.MessageCommand && this.isMessageCommandBuilder(executeData.builder);
292
- }
293
- /**
294
- * Is a message command halt data
295
- */
296
- static isMessageCommandHaltData(haltData) {
297
- return this.isMessageCommandExecuteData(haltData.executeData);
298
- }
299
- /**
300
- * Validate message command options
301
- * @param builder Command builder
302
- * @param options Parsed command args
303
- */
304
- static async validateOptions(builder, commandArgs) {
305
- const args = Array.isArray(commandArgs) ? commandArgs : commandArgs.args || [];
306
- const allOptions = [...(builder.options ?? []).filter(o => o.required), ...(builder.options ?? []).filter(o => !o.required)];
307
- const result = [];
308
- for (let i = 0; i < allOptions.length; i++) {
309
- const arg = args[i];
310
- result.push(await MessageCommandOptionBuilder_1.MessageCommandOptionBuilder.validateOption(allOptions[i], arg));
311
- }
312
- return new MessageCommandOptionManager_1.MessageCommandOptionManager(...result);
313
- }
314
- }
315
- exports.MessageCommandBuilder = MessageCommandBuilder;
316
- //# sourceMappingURL=MessageCommandBuilder.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MessageCommandBuilder.js","sourceRoot":"","sources":["../../../../../src/reciple/classes/builders/MessageCommandBuilder.ts"],"names":[],"mappings":"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"}
@@ -1,127 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.MessageCommandOptionBuilder = void 0;
4
- const discord_js_1 = require("discord.js");
5
- /**
6
- * Option builder for MessageCommandBuilder
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
- }
33
- constructor(data) {
34
- this._name = '';
35
- this._description = '';
36
- this._required = false;
37
- if (data?.name !== undefined)
38
- this.setName(data.name);
39
- if (data?.description !== undefined)
40
- this.setDescription(data.description);
41
- if (data?.required !== undefined)
42
- this.setRequired(data.required);
43
- if (data?.validator !== undefined)
44
- this.setValidator(data.validator);
45
- }
46
- /**
47
- * Set command option name
48
- * @param name Option name
49
- */
50
- setName(name) {
51
- if ((0, discord_js_1.isValidationEnabled)() && (typeof name !== 'string' || !name.match(/^[\w-]{1,32}$/)))
52
- throw new TypeError('name must be a string and match the regex /^[\\w-]{1,32}$/.');
53
- this._name = name;
54
- return this;
55
- }
56
- /**
57
- * Set command option description
58
- * @param description Option description
59
- */
60
- setDescription(description) {
61
- if ((0, discord_js_1.isValidationEnabled)() && (!description || typeof description !== 'string'))
62
- throw new TypeError('description must be a string.');
63
- this._description = description;
64
- return this;
65
- }
66
- /**
67
- * Set if this option is required
68
- * @param required `true` if this option is required
69
- */
70
- setRequired(required) {
71
- this._required = !!required;
72
- return this;
73
- }
74
- /**
75
- * Set your custom function to validate given value for this option
76
- * @param validator Custom function to validate value given for this option
77
- */
78
- setValidator(validator) {
79
- if ((0, discord_js_1.isValidationEnabled)() && validator !== undefined && typeof validator !== 'function')
80
- throw new TypeError('validator must be a function.');
81
- this._validator = validator;
82
- return this;
83
- }
84
- toJSON() {
85
- return {
86
- name: this.name,
87
- description: this.description,
88
- required: this.required,
89
- validator: this.validator,
90
- };
91
- }
92
- /**
93
- * Resolves message command option data/builder
94
- * @param option Option data to resolve
95
- */
96
- static resolveMessageCommandOption(option) {
97
- return this.isMessageCommandOption(option) ? option : new MessageCommandOptionBuilder(option);
98
- }
99
- /**
100
- * Is a Message command option builder
101
- * @param builder data to check
102
- */
103
- static isMessageCommandOption(builder) {
104
- return builder instanceof MessageCommandOptionBuilder;
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
- }
125
- }
126
- exports.MessageCommandOptionBuilder = MessageCommandOptionBuilder;
127
- //# sourceMappingURL=MessageCommandOptionBuilder.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MessageCommandOptionBuilder.js","sourceRoot":"","sources":["../../../../../src/reciple/classes/builders/MessageCommandOptionBuilder.ts"],"names":[],"mappings":"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"}