reciple 6.0.3 → 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.
- package/LICENSE +674 -674
- package/bin/bin.d.mts +2 -0
- package/bin/bin.mjs +73 -0
- package/bin/bin.mjs.map +1 -0
- package/bin/classes/Config.d.ts +32 -0
- package/bin/classes/Config.js +72 -0
- package/bin/classes/Config.js.map +1 -0
- package/bin/esm.d.mts +1 -0
- package/{dist/lib → bin}/esm.mjs +0 -0
- package/bin/esm.mjs.map +1 -0
- package/bin/index.d.ts +5 -0
- package/bin/index.js +22 -0
- package/bin/index.js.map +1 -0
- package/bin/utils/cli.d.ts +4 -0
- package/bin/utils/cli.js +20 -0
- package/bin/utils/cli.js.map +1 -0
- package/bin/utils/logger.d.ts +6 -0
- package/bin/utils/logger.js +61 -0
- package/bin/utils/logger.js.map +1 -0
- package/bin/utils/modules.d.ts +3 -0
- package/bin/utils/modules.js +35 -0
- package/bin/utils/modules.js.map +1 -0
- package/package.json +25 -67
- package/static/config.yml +97 -0
- package/README.md +0 -182
- package/dist/lib/bin.mjs +0 -77
- package/dist/lib/bin.mjs.map +0 -1
- package/dist/lib/esm.mjs.map +0 -1
- package/dist/lib/index.js +0 -34
- package/dist/lib/index.js.map +0 -1
- package/dist/lib/reciple/classes/RecipleClient.js +0 -293
- package/dist/lib/reciple/classes/RecipleClient.js.map +0 -1
- package/dist/lib/reciple/classes/RecipleConfig.js +0 -107
- package/dist/lib/reciple/classes/RecipleConfig.js.map +0 -1
- package/dist/lib/reciple/classes/RecipleModule.js +0 -137
- package/dist/lib/reciple/classes/RecipleModule.js.map +0 -1
- package/dist/lib/reciple/classes/builders/MessageCommandBuilder.js +0 -316
- package/dist/lib/reciple/classes/builders/MessageCommandBuilder.js.map +0 -1
- package/dist/lib/reciple/classes/builders/MessageCommandOptionBuilder.js +0 -127
- package/dist/lib/reciple/classes/builders/MessageCommandOptionBuilder.js.map +0 -1
- package/dist/lib/reciple/classes/builders/SlashCommandBuilder.js +0 -253
- package/dist/lib/reciple/classes/builders/SlashCommandBuilder.js.map +0 -1
- package/dist/lib/reciple/classes/managers/ApplicationCommandManager.js +0 -179
- package/dist/lib/reciple/classes/managers/ApplicationCommandManager.js.map +0 -1
- package/dist/lib/reciple/classes/managers/CommandCooldownManager.js +0 -100
- package/dist/lib/reciple/classes/managers/CommandCooldownManager.js.map +0 -1
- package/dist/lib/reciple/classes/managers/CommandManager.js +0 -65
- package/dist/lib/reciple/classes/managers/CommandManager.js.map +0 -1
- package/dist/lib/reciple/classes/managers/MessageCommandOptionManager.js +0 -26
- package/dist/lib/reciple/classes/managers/MessageCommandOptionManager.js.map +0 -1
- package/dist/lib/reciple/classes/managers/ModuleManager.js +0 -181
- package/dist/lib/reciple/classes/managers/ModuleManager.js.map +0 -1
- package/dist/lib/reciple/flags.js +0 -32
- package/dist/lib/reciple/flags.js.map +0 -1
- package/dist/lib/reciple/permissions.js +0 -31
- package/dist/lib/reciple/permissions.js.map +0 -1
- package/dist/lib/reciple/types/builders.js +0 -12
- package/dist/lib/reciple/types/builders.js.map +0 -1
- package/dist/lib/reciple/types/commands.js +0 -16
- package/dist/lib/reciple/types/commands.js.map +0 -1
- package/dist/lib/reciple/types/paramOptions.js +0 -3
- package/dist/lib/reciple/types/paramOptions.js.map +0 -1
- package/dist/lib/reciple/util.js +0 -72
- package/dist/lib/reciple/util.js.map +0 -1
- package/dist/lib/reciple/version.js +0 -48
- package/dist/lib/reciple/version.js.map +0 -1
- package/dist/types/bin.d.mts +0 -3
- package/dist/types/bin.d.mts.map +0 -1
- package/dist/types/esm.d.mts +0 -2
- package/dist/types/esm.d.mts.map +0 -1
- package/dist/types/index.d.ts +0 -18
- package/dist/types/index.d.ts.map +0 -1
- package/dist/types/reciple/classes/RecipleClient.d.ts +0 -116
- package/dist/types/reciple/classes/RecipleClient.d.ts.map +0 -1
- package/dist/types/reciple/classes/RecipleConfig.d.ts +0 -102
- package/dist/types/reciple/classes/RecipleConfig.d.ts.map +0 -1
- package/dist/types/reciple/classes/RecipleModule.d.ts +0 -88
- package/dist/types/reciple/classes/RecipleModule.d.ts.map +0 -1
- package/dist/types/reciple/classes/builders/MessageCommandBuilder.d.ts +0 -198
- package/dist/types/reciple/classes/builders/MessageCommandBuilder.d.ts.map +0 -1
- package/dist/types/reciple/classes/builders/MessageCommandOptionBuilder.d.ts +0 -54
- package/dist/types/reciple/classes/builders/MessageCommandOptionBuilder.d.ts.map +0 -1
- package/dist/types/reciple/classes/builders/SlashCommandBuilder.d.ts +0 -107
- package/dist/types/reciple/classes/builders/SlashCommandBuilder.d.ts.map +0 -1
- package/dist/types/reciple/classes/managers/ApplicationCommandManager.d.ts +0 -54
- package/dist/types/reciple/classes/managers/ApplicationCommandManager.d.ts.map +0 -1
- package/dist/types/reciple/classes/managers/CommandCooldownManager.d.ts +0 -71
- package/dist/types/reciple/classes/managers/CommandCooldownManager.d.ts.map +0 -1
- package/dist/types/reciple/classes/managers/CommandManager.d.ts +0 -35
- package/dist/types/reciple/classes/managers/CommandManager.d.ts.map +0 -1
- package/dist/types/reciple/classes/managers/MessageCommandOptionManager.d.ts +0 -23
- package/dist/types/reciple/classes/managers/MessageCommandOptionManager.d.ts.map +0 -1
- package/dist/types/reciple/classes/managers/ModuleManager.d.ts +0 -50
- package/dist/types/reciple/classes/managers/ModuleManager.d.ts.map +0 -1
- package/dist/types/reciple/flags.d.ts +0 -18
- package/dist/types/reciple/flags.d.ts.map +0 -1
- package/dist/types/reciple/permissions.d.ts +0 -16
- package/dist/types/reciple/permissions.d.ts.map +0 -1
- package/dist/types/reciple/types/builders.d.ts +0 -206
- package/dist/types/reciple/types/builders.d.ts.map +0 -1
- package/dist/types/reciple/types/commands.d.ts +0 -86
- package/dist/types/reciple/types/commands.d.ts.map +0 -1
- package/dist/types/reciple/types/paramOptions.d.ts +0 -102
- package/dist/types/reciple/types/paramOptions.d.ts.map +0 -1
- package/dist/types/reciple/util.d.ts +0 -27
- package/dist/types/reciple/util.d.ts.map +0 -1
- package/dist/types/reciple/version.d.ts +0 -26
- package/dist/types/reciple/version.d.ts.map +0 -1
- 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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"}
|