reciple 6.0.4 → 7.0.0-dev.5

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/bin/bin.d.mts +2 -0
  3. package/bin/bin.mjs +73 -0
  4. package/bin/bin.mjs.map +1 -0
  5. package/bin/classes/Config.d.ts +32 -0
  6. package/bin/classes/Config.js +72 -0
  7. package/bin/classes/Config.js.map +1 -0
  8. package/bin/esm.d.mts +1 -0
  9. package/{dist/lib → bin}/esm.mjs +0 -0
  10. package/bin/esm.mjs.map +1 -0
  11. package/bin/index.d.ts +5 -0
  12. package/bin/index.js +22 -0
  13. package/bin/index.js.map +1 -0
  14. package/bin/utils/cli.d.ts +4 -0
  15. package/bin/utils/cli.js +20 -0
  16. package/bin/utils/cli.js.map +1 -0
  17. package/bin/utils/logger.d.ts +6 -0
  18. package/bin/utils/logger.js +61 -0
  19. package/bin/utils/logger.js.map +1 -0
  20. package/bin/utils/modules.d.ts +3 -0
  21. package/bin/utils/modules.js +35 -0
  22. package/bin/utils/modules.js.map +1 -0
  23. package/package.json +25 -67
  24. package/static/config.yml +97 -0
  25. package/README.md +0 -182
  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,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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"}
@@ -1,253 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SlashCommandBuilder = void 0;
4
- const builders_1 = require("../../types/builders");
5
- const util_1 = require("../../util");
6
- const discord_js_1 = require("discord.js");
7
- /**
8
- * Reciple builder for slash command
9
- */
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
- }
41
- constructor(data) {
42
- super();
43
- this.type = builders_1.CommandType.SlashCommand;
44
- this._cooldown = 0;
45
- this._requiredBotPermissions = [];
46
- this._requiredMemberPermissions = [];
47
- this._execute = () => {
48
- /* Execute */
49
- };
50
- // TODO: WTH
51
- if (data?.name !== undefined)
52
- this.setName(data.name);
53
- if (data?.description !== undefined)
54
- this.setDescription(data.description);
55
- if (data?.cooldown !== undefined)
56
- this.setCooldown(Number(data?.cooldown));
57
- if (data?.requiredBotPermissions !== undefined)
58
- this.setRequiredBotPermissions(data.requiredBotPermissions);
59
- if (data?.requiredMemberPermissions !== undefined)
60
- this.setRequiredMemberPermissions(data.requiredMemberPermissions);
61
- if (data?.halt !== undefined)
62
- this.setHalt(data.halt);
63
- if (data?.execute !== undefined)
64
- this.setExecute(data.execute);
65
- if (data?.metadata !== undefined)
66
- this.setMetadata(data.metadata);
67
- if (data?.nameLocalizations !== undefined)
68
- this.setNameLocalizations(data.nameLocalizations);
69
- if (data?.descriptionLocalizations !== undefined)
70
- this.setDescriptionLocalizations(data.descriptionLocalizations);
71
- if (data?.defaultMemberPermissions !== undefined)
72
- this.setDefaultMemberPermissions(data.defaultMemberPermissions);
73
- if (data?.dmPermission !== undefined)
74
- this.setDMPermission(true);
75
- if (data?.defaultPermission !== undefined)
76
- this.setDefaultPermission(true);
77
- if (data?.options) {
78
- for (const option of data.options) {
79
- SlashCommandBuilder.addOption(this, (0, util_1.isClass)(option) ? option : SlashCommandBuilder.resolveOption(option));
80
- }
81
- }
82
- }
83
- setCooldown(cooldown) {
84
- this._cooldown = cooldown;
85
- return this;
86
- }
87
- setRequiredBotPermissions(...permissions) {
88
- this._requiredBotPermissions = (0, discord_js_1.normalizeArray)(permissions);
89
- return this;
90
- }
91
- setRequiredMemberPermissions(...permissions) {
92
- this._requiredMemberPermissions = (0, discord_js_1.normalizeArray)(permissions);
93
- this.setDefaultMemberPermissions(this.requiredMemberPermissions.length ? new discord_js_1.PermissionsBitField(this.requiredMemberPermissions).bitfield : undefined);
94
- return this;
95
- }
96
- setHalt(halt) {
97
- this._halt = halt || undefined;
98
- return this;
99
- }
100
- setExecute(execute) {
101
- if ((0, discord_js_1.isValidationEnabled)() && (!execute || typeof execute !== 'function'))
102
- throw new Error('execute must be a function.');
103
- this._execute = execute;
104
- return this;
105
- }
106
- setMetadata(metadata) {
107
- this.metadata = metadata;
108
- return this;
109
- }
110
- /**
111
- * Add option builder to command builder
112
- * @param builder Command/Subcommand builder
113
- * @param option Option builder
114
- */
115
- static addOption(builder, option) {
116
- if (option instanceof discord_js_1.SlashCommandAttachmentOption) {
117
- builder.addAttachmentOption(option);
118
- }
119
- else if (option instanceof discord_js_1.SlashCommandBooleanOption) {
120
- builder.addBooleanOption(option);
121
- }
122
- else if (option instanceof discord_js_1.SlashCommandChannelOption) {
123
- builder.addChannelOption(option);
124
- }
125
- else if (option instanceof discord_js_1.SlashCommandIntegerOption) {
126
- builder.addIntegerOption(option);
127
- }
128
- else if (option instanceof discord_js_1.SlashCommandMentionableOption) {
129
- builder.addMentionableOption(option);
130
- }
131
- else if (option instanceof discord_js_1.SlashCommandNumberOption) {
132
- builder.addNumberOption(option);
133
- }
134
- else if (option instanceof discord_js_1.SlashCommandRoleOption) {
135
- builder.addRoleOption(option);
136
- }
137
- else if (option instanceof discord_js_1.SlashCommandStringOption) {
138
- builder.addStringOption(option);
139
- }
140
- else if (option instanceof discord_js_1.SlashCommandUserOption) {
141
- builder.addUserOption(option);
142
- }
143
- else if (builder instanceof SlashCommandBuilder) {
144
- if (option instanceof discord_js_1.SlashCommandSubcommandBuilder) {
145
- builder.addSubcommand(option);
146
- }
147
- else if (option instanceof discord_js_1.SlashCommandSubcommandGroupBuilder) {
148
- builder.addSubcommandGroup(option);
149
- }
150
- }
151
- return builder;
152
- }
153
- /**
154
- * Resolve option data
155
- * @param option Option dara to resolve
156
- */
157
- static resolveOption(option) {
158
- let builder;
159
- // TODO: I can do better than this
160
- switch (option.type) {
161
- case discord_js_1.ApplicationCommandOptionType.Attachment:
162
- builder = new discord_js_1.SlashCommandAttachmentOption();
163
- break;
164
- case discord_js_1.ApplicationCommandOptionType.Boolean:
165
- builder = new discord_js_1.SlashCommandBooleanOption();
166
- break;
167
- case discord_js_1.ApplicationCommandOptionType.Channel:
168
- builder = new discord_js_1.SlashCommandChannelOption().addChannelTypes(...(option.channelTypes ?? []));
169
- break;
170
- case discord_js_1.ApplicationCommandOptionType.Integer:
171
- builder = new discord_js_1.SlashCommandIntegerOption().addChoices(...(option.choices ?? [])).setAutocomplete(!!option.autocomplete);
172
- if (option.maxValue)
173
- builder.setMaxValue(option.maxValue);
174
- if (option.minValue)
175
- builder.setMinValue(option.minValue);
176
- break;
177
- case discord_js_1.ApplicationCommandOptionType.Mentionable:
178
- builder = new discord_js_1.SlashCommandMentionableOption();
179
- break;
180
- case discord_js_1.ApplicationCommandOptionType.Number:
181
- builder = new discord_js_1.SlashCommandNumberOption().addChoices(...(option.choices ?? [])).setAutocomplete(!!option.autocomplete);
182
- if (option.maxValue)
183
- builder.setMaxValue(option.maxValue);
184
- if (option.minValue)
185
- builder.setMinValue(option.minValue);
186
- break;
187
- case discord_js_1.ApplicationCommandOptionType.Role:
188
- builder = new discord_js_1.SlashCommandRoleOption();
189
- break;
190
- case discord_js_1.ApplicationCommandOptionType.String:
191
- builder = new discord_js_1.SlashCommandStringOption().addChoices(...(option.choices ?? [])).setAutocomplete(!!option.autocomplete);
192
- if (option.maxLength)
193
- builder.setMaxLength(option.maxLength);
194
- if (option.minLength)
195
- builder.setMinLength(option.minLength);
196
- break;
197
- case discord_js_1.ApplicationCommandOptionType.User:
198
- builder = new discord_js_1.SlashCommandUserOption();
199
- break;
200
- case discord_js_1.ApplicationCommandOptionType.Subcommand:
201
- builder = new discord_js_1.SlashCommandSubcommandBuilder();
202
- for (const optionData of option.options) {
203
- this.addOption(builder, this.resolveOption(optionData));
204
- }
205
- break;
206
- case discord_js_1.ApplicationCommandOptionType.SubcommandGroup:
207
- builder = new discord_js_1.SlashCommandSubcommandGroupBuilder();
208
- for (const subCommandData of option.options) {
209
- builder.addSubcommand(subCommandData instanceof discord_js_1.SlashCommandSubcommandBuilder ? subCommandData : this.resolveOption(subCommandData));
210
- }
211
- break;
212
- default:
213
- throw new TypeError('Unknown option data');
214
- }
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) {
216
- builder.setRequired(option.required ?? false);
217
- }
218
- return builder
219
- .setName(option.name)
220
- .setDescription(option.description)
221
- .setNameLocalizations(option.nameLocalizations ?? null)
222
- .setDescriptionLocalizations(option.descriptionLocalizations ?? null);
223
- }
224
- /**
225
- * Resolve slash command data/builder
226
- * @param commandData Command data to resolve
227
- */
228
- static resolveSlashCommand(commandData) {
229
- return this.isSlashCommandBuilder(commandData) ? commandData : new SlashCommandBuilder(commandData);
230
- }
231
- /**
232
- * Is a slash command builder
233
- * @param builder data to check
234
- */
235
- static isSlashCommandBuilder(builder) {
236
- return builder instanceof SlashCommandBuilder;
237
- }
238
- /**
239
- * Is a slash command execute data
240
- * @param executeData data to check
241
- */
242
- static isSlashCommandExecuteData(executeData) {
243
- return executeData.type == builders_1.CommandType.SlashCommand && this.isSlashCommandBuilder(executeData.builder);
244
- }
245
- /**
246
- * Is a message command halt data
247
- */
248
- static isSlashCommandHaltData(haltData) {
249
- return this.isSlashCommandExecuteData(haltData.executeData);
250
- }
251
- }
252
- exports.SlashCommandBuilder = SlashCommandBuilder;
253
- //# sourceMappingURL=SlashCommandBuilder.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SlashCommandBuilder.js","sourceRoot":"","sources":["../../../../../src/reciple/classes/builders/SlashCommandBuilder.ts"],"names":[],"mappings":"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"}
@@ -1,179 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ApplicationCommandManager = void 0;
4
- const discord_js_1 = require("discord.js");
5
- const SlashCommandBuilder_1 = require("../builders/SlashCommandBuilder");
6
- class ApplicationCommandManager {
7
- get commands() {
8
- return [...this.client.commands.additionalApplicationCommands, ...this.client.commands.slashCommands.toJSON()];
9
- }
10
- get size() {
11
- return this.commands.length;
12
- }
13
- constructor(client) {
14
- this.client = client;
15
- }
16
- /**
17
- * Sets application commands globally or in guilds
18
- * @param commands Application commands
19
- * @param guilds set only to guilds
20
- */
21
- async set(commands, ...guilds) {
22
- guilds = (0, discord_js_1.normalizeArray)(guilds);
23
- if (!this.client.isReady())
24
- throw new Error('Client is not ready');
25
- if (guilds && guilds.length > 1) {
26
- for (const guild of guilds) {
27
- await this.set(commands, guild);
28
- }
29
- return;
30
- }
31
- let guild = guilds?.shift();
32
- guild = guild ? this.client.guilds.resolveId(guild) || undefined : undefined;
33
- if (!guild) {
34
- await this.client.application.commands.set(commands);
35
- if (!this.client.isClientLogsSilent)
36
- this.client.logger.log(`Registered ${this.client.applicationCommands.size} application command(s) globally...`);
37
- }
38
- else {
39
- await this.client.application.commands.set(commands, guild);
40
- if (!this.client.isClientLogsSilent)
41
- this.client.logger.log(`Registered ${this.client.applicationCommands.size} application command(s) to guild ${guild}`);
42
- }
43
- }
44
- /**
45
- * Add command globally or in guilds
46
- * @param command Application command
47
- * @param guilds add only in guilds
48
- */
49
- async add(command, ...guilds) {
50
- guilds = (0, discord_js_1.normalizeArray)(guilds);
51
- if (!this.client.isReady())
52
- throw new Error('Client is not ready');
53
- if (!command)
54
- throw new Error('Command is undefined');
55
- if (guilds && guilds.length > 1) {
56
- for (const guild of guilds) {
57
- await this.add(command, guild);
58
- }
59
- return;
60
- }
61
- let guild = guilds?.shift();
62
- guild = guild ? this.client.guilds.resolveId(guild) || undefined : undefined;
63
- if (!guild) {
64
- const newCommand = await this.client.application.commands.create(command);
65
- if (!this.client.isClientLogsSilent)
66
- this.client.logger.log(`Created application command '${newCommand.name}' globally`);
67
- }
68
- else {
69
- const newCommand = await this.client.application.commands.create(command, guild);
70
- if (!this.client.isClientLogsSilent)
71
- this.client.logger.log(`Created application command '${newCommand.name}' to guild ${guild}`);
72
- }
73
- }
74
- /**
75
- * Remove application command globally or in guilds
76
- * @param command id of application commmand or ApplicationCommand class
77
- * @param guilds Remove from guilds
78
- */
79
- async remove(command, ...guilds) {
80
- guilds = (0, discord_js_1.normalizeArray)(guilds);
81
- if (!this.client.isReady())
82
- throw new Error('Client is not ready');
83
- if (!command)
84
- throw new Error('Command is undefined');
85
- if (guilds && guilds.length > 1) {
86
- for (const guild of guilds) {
87
- await this.remove(command, guild);
88
- }
89
- return;
90
- }
91
- let guild = guilds?.shift();
92
- guild = guild ? this.client.guilds.resolveId(guild) || undefined : undefined;
93
- if (!guild) {
94
- await this.client.application.commands.delete(command);
95
- if (!this.client.isClientLogsSilent)
96
- this.client.logger.log(`Removed application command '${typeof command === 'string' ? command : command.name}' globally`);
97
- }
98
- else {
99
- await this.client.application.commands.delete(command, guild);
100
- if (!this.client.isClientLogsSilent)
101
- this.client.logger.log(`Removed application command '${typeof command === 'string' ? command : command.name}' from guild ${guild}`);
102
- }
103
- }
104
- /**
105
- * Edit application command globally or in guilds
106
- * @param command id of application command or ApplicationCommand class
107
- * @param newCommand new application command data
108
- * @param guilds Edit only from guilds
109
- */
110
- async edit(command, newCommand, ...guilds) {
111
- guilds = (0, discord_js_1.normalizeArray)(guilds);
112
- if (!this.client.isReady())
113
- throw new Error('Client is not ready');
114
- if (!command)
115
- throw new Error('Command is undefined');
116
- if (guilds && guilds.length > 1) {
117
- for (const guild of guilds) {
118
- await this.edit(command, newCommand, guild);
119
- }
120
- return;
121
- }
122
- let guild = guilds?.shift();
123
- guild = guild ? this.client.guilds.resolveId(guild) || undefined : undefined;
124
- if (!guild) {
125
- await this.client.application.commands.edit(command, newCommand);
126
- if (!this.client.isClientLogsSilent)
127
- this.client.logger.log(`Removed application command '${typeof command === 'string' ? command : command.name}' globally`);
128
- }
129
- else {
130
- await this.client.application.commands.edit(command, newCommand, guild);
131
- if (!this.client.isClientLogsSilent)
132
- this.client.logger.log(`Removed application command '${typeof command === 'string' ? command : command.name}' from guild ${guild}`);
133
- }
134
- }
135
- /**
136
- * Get application command from cache by application command data, builder, id, or name globally or from guid
137
- * @param command application command data, builder, id, or name
138
- * @param guild get command from guild
139
- */
140
- get(command, guild) {
141
- const commands = guild ? this.client.guilds.resolve(guild)?.commands.cache : this.client.application?.commands.cache;
142
- if (!commands)
143
- throw new Error('Guild not found in cache');
144
- return commands.find(cmd => (typeof command === 'string' ? cmd.id === command || cmd.name === command : cmd.name === command.name || (command instanceof discord_js_1.ApplicationCommand && cmd.id === command.id)));
145
- }
146
- /**
147
- * Fetch application command by id globally or from guild
148
- * @param commandId command id
149
- * @param guild fetch from guild
150
- */
151
- async fetch(commandId, guild) {
152
- const manager = guild ? this.client.guilds.resolve(guild)?.commands : this.client.application?.commands;
153
- if (!manager)
154
- throw new Error('Guild not found in cache');
155
- return manager.fetch(commandId);
156
- }
157
- /**
158
- * Parse application command builders to command data
159
- * @param commands Application command builders
160
- * @param setPermissions set slash commands permissions
161
- */
162
- parseCommands(commands, setPermissions = true) {
163
- return commands.map(cmd => {
164
- if (cmd?.toJSON === undefined)
165
- return cmd;
166
- if (SlashCommandBuilder_1.SlashCommandBuilder.isSlashCommandBuilder(cmd) && this.client.config.commands.slashCommand.setRequiredPermissions) {
167
- const permissions = setPermissions || this.client.config.commands.slashCommand.permissions.enabled ? this.client.config.commands.slashCommand.permissions.commands.find(cmd_ => cmd_.command.toLowerCase() === cmd.name.toLowerCase())?.permissions : undefined;
168
- if (permissions) {
169
- cmd.setRequiredMemberPermissions(...permissions);
170
- if (!this.client.isClientLogsSilent)
171
- this.client.logger.debug(`Set required permissions for ${cmd.name}`);
172
- }
173
- }
174
- return cmd.toJSON();
175
- });
176
- }
177
- }
178
- exports.ApplicationCommandManager = ApplicationCommandManager;
179
- //# sourceMappingURL=ApplicationCommandManager.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ApplicationCommandManager.js","sourceRoot":"","sources":["../../../../../src/reciple/classes/managers/ApplicationCommandManager.ts"],"names":[],"mappings":"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"}