@jubbio/core 1.1.20 → 1.3.2
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/dist/Client.js +13 -14
- package/dist/cjs/Client.d.ts +157 -0
- package/dist/cjs/Client.js +640 -0
- package/dist/cjs/builders/ActionRowBuilder.d.ts +53 -0
- package/dist/cjs/builders/ActionRowBuilder.js +68 -0
- package/dist/cjs/builders/ButtonBuilder.d.ts +77 -0
- package/dist/cjs/builders/ButtonBuilder.js +96 -0
- package/dist/cjs/builders/EmbedBuilder.d.ts +157 -0
- package/dist/cjs/builders/EmbedBuilder.js +208 -0
- package/dist/cjs/builders/ModalBuilder.d.ts +122 -0
- package/dist/cjs/builders/ModalBuilder.js +162 -0
- package/dist/cjs/builders/SelectMenuBuilder.d.ts +123 -0
- package/dist/cjs/builders/SelectMenuBuilder.js +165 -0
- package/dist/cjs/builders/SlashCommandBuilder.d.ts +197 -0
- package/dist/cjs/builders/SlashCommandBuilder.js +324 -0
- package/dist/cjs/builders/index.d.ts +9 -0
- package/dist/cjs/builders/index.js +26 -0
- package/dist/cjs/enums.d.ts +191 -0
- package/dist/cjs/enums.js +211 -0
- package/dist/cjs/index.d.ts +25 -0
- package/dist/cjs/index.js +130 -0
- package/dist/cjs/managers/BaseManager.d.ts +69 -0
- package/dist/cjs/managers/BaseManager.js +106 -0
- package/dist/cjs/managers/ChannelManager.d.ts +95 -0
- package/dist/cjs/managers/ChannelManager.js +205 -0
- package/dist/cjs/managers/GuildMemberManager.d.ts +74 -0
- package/dist/cjs/managers/GuildMemberManager.js +157 -0
- package/dist/cjs/managers/RoleManager.d.ts +84 -0
- package/dist/cjs/managers/RoleManager.js +207 -0
- package/dist/cjs/managers/index.d.ts +7 -0
- package/dist/cjs/managers/index.js +24 -0
- package/dist/cjs/rest/REST.d.ts +527 -0
- package/dist/cjs/rest/REST.js +904 -0
- package/dist/cjs/rest/index.d.ts +1 -0
- package/dist/cjs/rest/index.js +18 -0
- package/dist/cjs/sharding/ShardingManager.d.ts +179 -0
- package/dist/cjs/sharding/ShardingManager.js +375 -0
- package/dist/cjs/sharding/index.d.ts +4 -0
- package/dist/cjs/sharding/index.js +21 -0
- package/dist/cjs/structures/Channel.d.ts +122 -0
- package/dist/cjs/structures/Channel.js +240 -0
- package/dist/cjs/structures/Collection.d.ts +53 -0
- package/dist/cjs/structures/Collection.js +115 -0
- package/dist/cjs/structures/Guild.d.ts +59 -0
- package/dist/cjs/structures/Guild.js +94 -0
- package/dist/cjs/structures/GuildMember.d.ts +174 -0
- package/dist/cjs/structures/GuildMember.js +311 -0
- package/dist/cjs/structures/Interaction.d.ts +245 -0
- package/dist/cjs/structures/Interaction.js +450 -0
- package/dist/cjs/structures/Message.d.ts +98 -0
- package/dist/cjs/structures/Message.js +195 -0
- package/dist/cjs/structures/User.d.ts +37 -0
- package/dist/cjs/structures/User.js +65 -0
- package/dist/cjs/structures/index.d.ts +7 -0
- package/dist/cjs/structures/index.js +25 -0
- package/dist/cjs/structures.d.ts +1 -0
- package/dist/cjs/structures.js +19 -0
- package/dist/cjs/types.d.ts +255 -0
- package/dist/cjs/types.js +3 -0
- package/dist/cjs/utils/BitField.d.ts +66 -0
- package/dist/cjs/utils/BitField.js +138 -0
- package/dist/cjs/utils/Collection.d.ts +116 -0
- package/dist/cjs/utils/Collection.js +265 -0
- package/dist/cjs/utils/Collector.d.ts +152 -0
- package/dist/cjs/utils/Collector.js +314 -0
- package/dist/cjs/utils/DataResolver.d.ts +61 -0
- package/dist/cjs/utils/DataResolver.js +146 -0
- package/dist/cjs/utils/Formatters.d.ts +145 -0
- package/dist/cjs/utils/Formatters.js +213 -0
- package/dist/cjs/utils/IntentsBitField.d.ts +85 -0
- package/dist/cjs/utils/IntentsBitField.js +99 -0
- package/dist/cjs/utils/Partials.d.ts +104 -0
- package/dist/cjs/utils/Partials.js +148 -0
- package/dist/cjs/utils/PermissionsBitField.d.ts +118 -0
- package/dist/cjs/utils/PermissionsBitField.js +145 -0
- package/dist/cjs/utils/SnowflakeUtil.d.ts +63 -0
- package/dist/cjs/utils/SnowflakeUtil.js +93 -0
- package/dist/cjs/utils/Sweepers.d.ts +119 -0
- package/dist/cjs/utils/Sweepers.js +249 -0
- package/dist/cjs/utils/index.d.ts +13 -0
- package/dist/cjs/utils/index.js +30 -0
- package/dist/esm/Client.js +634 -0
- package/dist/esm/builders/ActionRowBuilder.js +64 -0
- package/dist/esm/builders/ButtonBuilder.js +92 -0
- package/dist/esm/builders/EmbedBuilder.js +204 -0
- package/dist/esm/builders/ModalBuilder.js +157 -0
- package/dist/esm/builders/SelectMenuBuilder.js +161 -0
- package/dist/esm/builders/SlashCommandBuilder.js +311 -0
- package/dist/esm/builders/index.js +10 -0
- package/dist/esm/enums.js +208 -0
- package/dist/esm/index.js +34 -0
- package/dist/esm/managers/BaseManager.js +100 -0
- package/dist/esm/managers/ChannelManager.js +200 -0
- package/dist/esm/managers/GuildMemberManager.js +153 -0
- package/dist/esm/managers/RoleManager.js +203 -0
- package/dist/esm/managers/index.js +8 -0
- package/dist/esm/rest/REST.js +900 -0
- package/dist/esm/rest/index.js +2 -0
- package/dist/esm/sharding/ShardingManager.js +366 -0
- package/dist/esm/sharding/index.js +5 -0
- package/dist/esm/structures/Channel.js +232 -0
- package/dist/esm/structures/Collection.js +111 -0
- package/dist/esm/structures/Guild.js +90 -0
- package/dist/esm/structures/GuildMember.js +306 -0
- package/dist/esm/structures/Interaction.js +438 -0
- package/dist/esm/structures/Message.js +191 -0
- package/dist/esm/structures/User.js +61 -0
- package/dist/esm/structures/index.js +9 -0
- package/dist/esm/structures.js +3 -0
- package/dist/esm/types.js +2 -0
- package/dist/esm/utils/BitField.js +134 -0
- package/dist/esm/utils/Collection.js +261 -0
- package/dist/esm/utils/Collector.js +305 -0
- package/dist/esm/utils/DataResolver.js +142 -0
- package/dist/esm/utils/Formatters.js +191 -0
- package/dist/esm/utils/IntentsBitField.js +93 -0
- package/dist/esm/utils/Partials.js +137 -0
- package/dist/esm/utils/PermissionsBitField.js +141 -0
- package/dist/esm/utils/SnowflakeUtil.js +89 -0
- package/dist/esm/utils/Sweepers.js +245 -0
- package/dist/esm/utils/index.js +14 -0
- package/dist/rest/REST.js +8 -1
- package/dist/structures/Interaction.js +3 -5
- package/dist/structures/Message.js +56 -2
- package/package.json +14 -4
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* SelectMenuBuilder for creating select menus
|
|
4
|
+
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.SelectMenuBuilder = exports.StringSelectMenuOptionBuilder = exports.StringSelectMenuBuilder = void 0;
|
|
7
|
+
/**
|
|
8
|
+
* A builder for creating string select menus
|
|
9
|
+
*/
|
|
10
|
+
class StringSelectMenuBuilder {
|
|
11
|
+
data;
|
|
12
|
+
constructor(data = {}) {
|
|
13
|
+
this.data = { type: 3, ...data };
|
|
14
|
+
if (!this.data.options)
|
|
15
|
+
this.data.options = [];
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Sets the custom ID of this select menu
|
|
19
|
+
* @param customId The custom ID
|
|
20
|
+
*/
|
|
21
|
+
setCustomId(customId) {
|
|
22
|
+
this.data.custom_id = customId;
|
|
23
|
+
return this;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Sets the placeholder of this select menu
|
|
27
|
+
* @param placeholder The placeholder
|
|
28
|
+
*/
|
|
29
|
+
setPlaceholder(placeholder) {
|
|
30
|
+
this.data.placeholder = placeholder;
|
|
31
|
+
return this;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Sets the minimum values of this select menu
|
|
35
|
+
* @param minValues The minimum values
|
|
36
|
+
*/
|
|
37
|
+
setMinValues(minValues) {
|
|
38
|
+
this.data.min_values = minValues;
|
|
39
|
+
return this;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Sets the maximum values of this select menu
|
|
43
|
+
* @param maxValues The maximum values
|
|
44
|
+
*/
|
|
45
|
+
setMaxValues(maxValues) {
|
|
46
|
+
this.data.max_values = maxValues;
|
|
47
|
+
return this;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Sets whether this select menu is disabled
|
|
51
|
+
* @param disabled Whether the select menu is disabled
|
|
52
|
+
*/
|
|
53
|
+
setDisabled(disabled = true) {
|
|
54
|
+
this.data.disabled = disabled;
|
|
55
|
+
return this;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Adds options to this select menu
|
|
59
|
+
* @param options The options to add
|
|
60
|
+
*/
|
|
61
|
+
addOptions(...options) {
|
|
62
|
+
if (!this.data.options)
|
|
63
|
+
this.data.options = [];
|
|
64
|
+
this.data.options.push(...options);
|
|
65
|
+
return this;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Sets the options of this select menu
|
|
69
|
+
* @param options The options to set
|
|
70
|
+
*/
|
|
71
|
+
setOptions(...options) {
|
|
72
|
+
this.data.options = options;
|
|
73
|
+
return this;
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Removes, replaces, or inserts options
|
|
77
|
+
* @param index The index to start at
|
|
78
|
+
* @param deleteCount The number of options to remove
|
|
79
|
+
* @param options The options to insert
|
|
80
|
+
*/
|
|
81
|
+
spliceOptions(index, deleteCount, ...options) {
|
|
82
|
+
if (!this.data.options)
|
|
83
|
+
this.data.options = [];
|
|
84
|
+
this.data.options.splice(index, deleteCount, ...options);
|
|
85
|
+
return this;
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Returns the JSON representation of this select menu
|
|
89
|
+
*/
|
|
90
|
+
toJSON() {
|
|
91
|
+
return { ...this.data };
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Creates a new select menu builder from existing data
|
|
95
|
+
* @param other The select menu data to copy
|
|
96
|
+
*/
|
|
97
|
+
static from(other) {
|
|
98
|
+
return new StringSelectMenuBuilder(other instanceof StringSelectMenuBuilder ? other.data : other);
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
exports.StringSelectMenuBuilder = StringSelectMenuBuilder;
|
|
102
|
+
exports.SelectMenuBuilder = StringSelectMenuBuilder;
|
|
103
|
+
/**
|
|
104
|
+
* A builder for creating select menu options
|
|
105
|
+
*/
|
|
106
|
+
class StringSelectMenuOptionBuilder {
|
|
107
|
+
data;
|
|
108
|
+
constructor(data = {}) {
|
|
109
|
+
this.data = { ...data };
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Sets the label of this option
|
|
113
|
+
* @param label The label
|
|
114
|
+
*/
|
|
115
|
+
setLabel(label) {
|
|
116
|
+
this.data.label = label;
|
|
117
|
+
return this;
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* Sets the value of this option
|
|
121
|
+
* @param value The value
|
|
122
|
+
*/
|
|
123
|
+
setValue(value) {
|
|
124
|
+
this.data.value = value;
|
|
125
|
+
return this;
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Sets the description of this option
|
|
129
|
+
* @param description The description
|
|
130
|
+
*/
|
|
131
|
+
setDescription(description) {
|
|
132
|
+
this.data.description = description;
|
|
133
|
+
return this;
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* Sets the emoji of this option
|
|
137
|
+
* @param emoji The emoji
|
|
138
|
+
*/
|
|
139
|
+
setEmoji(emoji) {
|
|
140
|
+
if (typeof emoji === 'string') {
|
|
141
|
+
this.data.emoji = { name: emoji };
|
|
142
|
+
}
|
|
143
|
+
else {
|
|
144
|
+
this.data.emoji = emoji;
|
|
145
|
+
}
|
|
146
|
+
return this;
|
|
147
|
+
}
|
|
148
|
+
/**
|
|
149
|
+
* Sets whether this option is the default
|
|
150
|
+
* @param isDefault Whether this option is the default
|
|
151
|
+
*/
|
|
152
|
+
setDefault(isDefault = true) {
|
|
153
|
+
this.data.default = isDefault;
|
|
154
|
+
return this;
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* Returns the JSON representation of this option
|
|
158
|
+
*/
|
|
159
|
+
toJSON() {
|
|
160
|
+
return { ...this.data };
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
exports.StringSelectMenuOptionBuilder = StringSelectMenuOptionBuilder;
|
|
164
|
+
exports.default = StringSelectMenuBuilder;
|
|
165
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2VsZWN0TWVudUJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYnVpbGRlcnMvU2VsZWN0TWVudUJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOztHQUVHOzs7QUFvQkg7O0dBRUc7QUFDSCxNQUFhLHVCQUF1QjtJQUNsQixJQUFJLENBQWtDO0lBRXRELFlBQVksT0FBd0MsRUFBRTtRQUNwRCxJQUFJLENBQUMsSUFBSSxHQUFHLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRSxHQUFHLElBQUksRUFBRSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU87WUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7SUFDakQsQ0FBQztJQUVEOzs7T0FHRztJQUNILFdBQVcsQ0FBQyxRQUFnQjtRQUMxQixJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUM7UUFDL0IsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsY0FBYyxDQUFDLFdBQW1CO1FBQ2hDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztRQUNwQyxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRDs7O09BR0c7SUFDSCxZQUFZLENBQUMsU0FBaUI7UUFDNUIsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEdBQUcsU0FBUyxDQUFDO1FBQ2pDLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVEOzs7T0FHRztJQUNILFlBQVksQ0FBQyxTQUFpQjtRQUM1QixJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsR0FBRyxTQUFTLENBQUM7UUFDakMsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsV0FBVyxDQUFDLFFBQVEsR0FBRyxJQUFJO1FBQ3pCLElBQUksQ0FBQyxJQUFJLENBQUMsUUFB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QXlCLENBQUM7SUFDakQsQ0FBQztDQUNGO0FBOURELHNFQThEQztBQUtELGtCQUFlLHVCQUF1QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBTZWxlY3RNZW51QnVpbGRlciBmb3IgY3JlYXRpbmcgc2VsZWN0IG1lbnVzXG4gKi9cblxuZXhwb3J0IGludGVyZmFjZSBBUElTZWxlY3RNZW51T3B0aW9uIHtcbiAgbGFiZWw6IHN0cmluZztcbiAgdmFsdWU6IHN0cmluZztcbiAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIGVtb2ppPzogeyBpZD86IHN0cmluZzsgbmFtZT86IHN0cmluZzsgYW5pbWF0ZWQ/OiBib29sZWFuIH07XG4gIGRlZmF1bHQ/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFQSVNlbGVjdE1lbnVDb21wb25lbnQge1xuICB0eXBlOiAzO1xuICBjdXN0b21faWQ6IHN0cmluZztcbiAgb3B0aW9ucz86IEFQSVNlbGVjdE1lbnVPcHRpb25bXTtcbiAgcGxhY2Vob2xkZXI/OiBzdHJpbmc7XG4gIG1pbl92YWx1ZXM/OiBudW1iZXI7XG4gIG1heF92YWx1ZXM/OiBudW1iZXI7XG4gIGRpc2FibGVkPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBBIGJ1aWxkZXIgZm9yIGNyZWF0aW5nIHN0cmluZyBzZWxlY3QgbWVudXNcbiAqL1xuZXhwb3J0IGNsYXNzIFN0cmluZ1NlbGVjdE1lbnVCdWlsZGVyIHtcbiAgcHVibGljIHJlYWRvbmx5IGRhdGE6IFBhcnRpYWw8QVBJU2VsZWN0TWVudUNvbXBvbmVudD47XG5cbiAgY29uc3RydWN0b3IoZGF0YTogUGFydGlhbDxBUElTZWxlY3RNZW51Q29tcG9uZW50PiA9IHt9KSB7XG4gICAgdGhpcy5kYXRhID0geyB0eXBlOiAzLCAuLi5kYXRhIH07XG4gICAgaWYgKCF0aGlzLmRhdGEub3B0aW9ucykgdGhpcy5kYXRhLm9wdGlvbnMgPSBbXTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBjdXN0b20gSUQgb2YgdGhpcyBzZWxlY3QgbWVudVxuICAgKiBAcGFyYW0gY3VzdG9tSWQgVGhlIGN1c3RvbSBJRFxuICAgKi9cbiAgc2V0Q3VzdG9tSWQoY3VzdG9tSWQ6IHN0cmluZyk6IHRoaXMge1xuICAgIHRoaXMuZGF0YS5jdXN0b21faWQgPSBjdXN0b21JZDtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBwbGFjZWhvbGRlciBvZiB0aGlzIHNlbGVjdCBtZW51XG4gICAqIEBwYXJhbSBwbGFjZWhvbGRlciBUaGUgcGxhY2Vob2xkZXJcbiAgICovXG4gIHNldFBsYWNlaG9sZGVyKHBsYWNlaG9sZGVyOiBzdHJpbmcpOiB0aGlzIHtcbiAgICB0aGlzLmRhdGEucGxhY2Vob2xkZXIgPSBwbGFjZWhvbGRlcjtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBtaW5pbXVtIHZhbHVlcyBvZiB0aGlzIHNlbGVjdCBtZW51XG4gICAqIEBwYXJhbSBtaW5WYWx1ZXMgVGhlIG1pbmltdW0gdmFsdWVzXG4gICAqL1xuICBzZXRNaW5WYWx1ZXMobWluVmFsdWVzOiBudW1iZXIpOiB0aGlzIHtcbiAgICB0aGlzLmRhdGEubWluX3ZhbHVlcyA9IG1pblZhbHVlcztcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBtYXhpbXVtIHZhbHVlcyBvZiB0aGlzIHNlbGVjdCBtZW51XG4gICAqIEBwYXJhbSBtYXhWYWx1ZXMgVGhlIG1heGltdW0gdmFsdWVzXG4gICAqL1xuICBzZXRNYXhWYWx1ZXMobWF4VmFsdWVzOiBudW1iZXIpOiB0aGlzIHtcbiAgICB0aGlzLmRhdGEubWF4X3ZhbHVlcyA9IG1heFZhbHVlcztcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHdoZXRoZXIgdGhpcyBzZWxlY3QgbWVudSBpcyBkaXNhYmxlZFxuICAgKiBAcGFyYW0gZGlzYWJsZWQgV2hldGhlciB0aGUgc2VsZWN0IG1lbnUgaXMgZGlzYWJsZWRcbiAgICovXG4gIHNldERpc2FibGVkKGRpc2FibGVkID0gdHJ1ZSk6IHRoaXMge1xuICAgIHRoaXMuZGF0YS5kaXNhYmxlZCA9IGRpc2FibGVkO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgb3B0aW9ucyB0byB0aGlzIHNlbGVjdCBtZW51XG4gICAqIEBwYXJhbSBvcHRpb25zIFRoZSBvcHRpb25zIHRvIGFkZFxuICAgKi9cbiAgYWRkT3B0aW9ucyguLi5vcHRpb25zOiBBUElTZWxlY3RNZW51T3B0aW9uW10pOiB0aGlzIHtcbiAgICBpZiAoIXRoaXMuZGF0YS5vcHRpb25zKSB0aGlzLmRhdGEub3B0aW9ucyA9IFtdO1xuICAgIHRoaXMuZGF0YS5vcHRpb25zLnB1c2goLi4ub3B0aW9ucyk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgb3B0aW9ucyBvZiB0aGlzIHNlbGVjdCBtZW51XG4gICAqIEBwYXJhbSBvcHRpb25zIFRoZSBvcHRpb25zIHRvIHNldFxuICAgKi9cbiAgc2V0T3B0aW9ucyguLi5vcHRpb25zOiBBUElTZWxlY3RNZW51T3B0aW9uW10pOiB0aGlzIHtcbiAgICB0aGlzLmRhdGEub3B0aW9ucyA9IG9wdGlvbnM7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogUmVtb3ZlcywgcmVwbGFjZXMsIG9yIGluc2VydHMgb3B0aW9uc1xuICAgKiBAcGFyYW0gaW5kZXggVGhlIGluZGV4IHRvIHN0YXJ0IGF0XG4gICAqIEBwYXJhbSBkZWxldGVDb3VudCBUaGUgbnVtYmVyIG9mIG9wdGlvbnMgdG8gcmVtb3ZlXG4gICAqIEBwYXJhbSBvcHRpb25zIFRoZSBvcHRpb25zIHRvIGluc2VydFxuICAgKi9cbiAgc3BsaWNlT3B0aW9ucyhpbmRleDogbnVtYmVyLCBkZWxldGVDb3VudDogbnVtYmVyLCAuLi5vcHRpb25zOiBBUElTZWxlY3RNZW51T3B0aW9uW10pOiB0aGlzIHtcbiAgICBpZiAoIXRoaXMuZGF0YS5vcHRpb25zKSB0aGlzLmRhdGEub3B0aW9ucyA9IFtdO1xuICAgIHRoaXMuZGF0YS5vcHRpb25zLnNwbGljZShpbmRleCwgZGVsZXRlQ291bnQsIC4uLm9wdGlvbnMpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIEpTT04gcmVwcmVzZW50YXRpb24gb2YgdGhpcyBzZWxlY3QgbWVudVxuICAgKi9cbiAgdG9KU09OKCk6IEFQSVNlbGVjdE1lbnVDb21wb25lbnQge1xuICAgIHJldHVybiB7IC4uLnRoaXMuZGF0YSB9IGFzIEFQSVNlbGVjdE1lbnVDb21wb25lbnQ7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIG5ldyBzZWxlY3QgbWVudSBidWlsZGVyIGZyb20gZXhpc3RpbmcgZGF0YVxuICAgKiBAcGFyYW0gb3RoZXIgVGhlIHNlbGVjdCBtZW51IGRhdGEgdG8gY29weVxuICAgKi9cbiAgc3RhdGljIGZyb20ob3RoZXI6IFBhcnRpYWw8QVBJU2VsZWN0TWVudUNvbXBvbmVudD4gfCBTdHJpbmdTZWxlY3RNZW51QnVpbGRlcik6IFN0cmluZ1NlbGVjdE1lbnVCdWlsZGVyIHtcbiAgICByZXR1cm4gbmV3IFN0cmluZ1NlbGVjdE1lbnVCdWlsZGVyKG90aGVyIGluc3RhbmNlb2YgU3RyaW5nU2VsZWN0TWVudUJ1aWxkZXIgPyBvdGhlci5kYXRhIDogb3RoZXIpO1xuICB9XG59XG5cbi8qKlxuICogQSBidWlsZGVyIGZvciBjcmVhdGluZyBzZWxlY3QgbWVudSBvcHRpb25zXG4gKi9cbmV4cG9ydCBjbGFzcyBTdHJpbmdTZWxlY3RNZW51T3B0aW9uQnVpbGRlciB7XG4gIHB1YmxpYyByZWFkb25seSBkYXRhOiBQYXJ0aWFsPEFQSVNlbGVjdE1lbnVPcHRpb24+O1xuXG4gIGNvbnN0cnVjdG9yKGRhdGE6IFBhcnRpYWw8QVBJU2VsZWN0TWVudU9wdGlvbj4gPSB7fSkge1xuICAgIHRoaXMuZGF0YSA9IHsgLi4uZGF0YSB9O1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIGxhYmVsIG9mIHRoaXMgb3B0aW9uXG4gICAqIEBwYXJhbSBsYWJlbCBUaGUgbGFiZWxcbiAgICovXG4gIHNldExhYmVsKGxhYmVsOiBzdHJpbmcpOiB0aGlzIHtcbiAgICB0aGlzLmRhdGEubGFiZWwgPSBsYWJlbDtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSB2YWx1ZSBvZiB0aGlzIG9wdGlvblxuICAgKiBAcGFyYW0gdmFsdWUgVGhlIHZhbHVlXG4gICAqL1xuICBzZXRWYWx1ZSh2YWx1ZTogc3RyaW5nKTogdGhpcyB7XG4gICAgdGhpcy5kYXRhLnZhbHVlID0gdmFsdWU7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgZGVzY3JpcHRpb24gb2YgdGhpcyBvcHRpb25cbiAgICogQHBhcmFtIGRlc2NyaXB0aW9uIFRoZSBkZXNjcmlwdGlvblxuICAgKi9cbiAgc2V0RGVzY3JpcHRpb24oZGVzY3JpcHRpb246IHN0cmluZyk6IHRoaXMge1xuICAgIHRoaXMuZGF0YS5kZXNjcmlwdGlvbiA9IGRlc2NyaXB0aW9uO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIGVtb2ppIG9mIHRoaXMgb3B0aW9uXG4gICAqIEBwYXJhbSBlbW9qaSBUaGUgZW1vamlcbiAgICovXG4gIHNldEVtb2ppKGVtb2ppOiB7IGlkPzogc3RyaW5nOyBuYW1lPzogc3RyaW5nOyBhbmltYXRlZD86IGJvb2xlYW4gfSB8IHN0cmluZyk6IHRoaXMge1xuICAgIGlmICh0eXBlb2YgZW1vamkgPT09ICdzdHJpbmcnKSB7XG4gICAgICB0aGlzLmRhdGEuZW1vamkgPSB7IG5hbWU6IGVtb2ppIH07XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZGF0YS5lbW9qaSA9IGVtb2ppO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHdoZXRoZXIgdGhpcyBvcHRpb24gaXMgdGhlIGRlZmF1bHRcbiAgICogQHBhcmFtIGlzRGVmYXVsdCBXaGV0aGVyIHRoaXMgb3B0aW9uIGlzIHRoZSBkZWZhdWx0XG4gICAqL1xuICBzZXREZWZhdWx0KGlzRGVmYXVsdCA9IHRydWUpOiB0aGlzIHtcbiAgICB0aGlzLmRhdGEuZGVmYXVsdCA9IGlzRGVmYXVsdDtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBKU09OIHJlcHJlc2VudGF0aW9uIG9mIHRoaXMgb3B0aW9uXG4gICAqL1xuICB0b0pTT04oKTogQVBJU2VsZWN0TWVudU9wdGlvbiB7XG4gICAgcmV0dXJuIHsgLi4udGhpcy5kYXRhIH0gYXMgQVBJU2VsZWN0TWVudU9wdGlvbjtcbiAgfVxufVxuXG4vLyBBbGlhcyBmb3IgREpTIGNvbXBhdGliaWxpdHlcbmV4cG9ydCB7IFN0cmluZ1NlbGVjdE1lbnVCdWlsZGVyIGFzIFNlbGVjdE1lbnVCdWlsZGVyIH07XG5cbmV4cG9ydCBkZWZhdWx0IFN0cmluZ1NlbGVjdE1lbnVCdWlsZGVyO1xuIl19
|
|
@@ -0,0 +1,197 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SlashCommandBuilder for creating slash commands
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Application command option types
|
|
6
|
+
*/
|
|
7
|
+
export declare enum ApplicationCommandOptionType {
|
|
8
|
+
Subcommand = 1,
|
|
9
|
+
SubcommandGroup = 2,
|
|
10
|
+
String = 3,
|
|
11
|
+
Integer = 4,
|
|
12
|
+
Boolean = 5,
|
|
13
|
+
User = 6,
|
|
14
|
+
Channel = 7,
|
|
15
|
+
Role = 8,
|
|
16
|
+
Mentionable = 9,
|
|
17
|
+
Number = 10,
|
|
18
|
+
Attachment = 11
|
|
19
|
+
}
|
|
20
|
+
export interface APIApplicationCommandOptionChoice {
|
|
21
|
+
name: string;
|
|
22
|
+
value: string | number;
|
|
23
|
+
}
|
|
24
|
+
export interface APIApplicationCommandOption {
|
|
25
|
+
type: ApplicationCommandOptionType;
|
|
26
|
+
name: string;
|
|
27
|
+
description: string;
|
|
28
|
+
required?: boolean;
|
|
29
|
+
choices?: APIApplicationCommandOptionChoice[];
|
|
30
|
+
options?: APIApplicationCommandOption[];
|
|
31
|
+
min_value?: number;
|
|
32
|
+
max_value?: number;
|
|
33
|
+
min_length?: number;
|
|
34
|
+
max_length?: number;
|
|
35
|
+
autocomplete?: boolean;
|
|
36
|
+
channel_types?: number[];
|
|
37
|
+
}
|
|
38
|
+
export interface APIApplicationCommand {
|
|
39
|
+
name: string;
|
|
40
|
+
description: string;
|
|
41
|
+
options?: APIApplicationCommandOption[];
|
|
42
|
+
default_member_permissions?: string;
|
|
43
|
+
dm_permission?: boolean;
|
|
44
|
+
nsfw?: boolean;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* A builder for creating slash command options
|
|
48
|
+
*/
|
|
49
|
+
declare class SlashCommandOptionBuilder {
|
|
50
|
+
protected data: Partial<APIApplicationCommandOption>;
|
|
51
|
+
constructor(type: ApplicationCommandOptionType);
|
|
52
|
+
setName(name: string): this;
|
|
53
|
+
setDescription(description: string): this;
|
|
54
|
+
setRequired(required?: boolean): this;
|
|
55
|
+
toJSON(): APIApplicationCommandOption;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* String option builder
|
|
59
|
+
*/
|
|
60
|
+
export declare class SlashCommandStringOption extends SlashCommandOptionBuilder {
|
|
61
|
+
constructor();
|
|
62
|
+
addChoices(...choices: APIApplicationCommandOptionChoice[]): this;
|
|
63
|
+
setChoices(...choices: APIApplicationCommandOptionChoice[]): this;
|
|
64
|
+
setMinLength(minLength: number): this;
|
|
65
|
+
setMaxLength(maxLength: number): this;
|
|
66
|
+
setAutocomplete(autocomplete?: boolean): this;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Integer option builder
|
|
70
|
+
*/
|
|
71
|
+
export declare class SlashCommandIntegerOption extends SlashCommandOptionBuilder {
|
|
72
|
+
constructor();
|
|
73
|
+
addChoices(...choices: APIApplicationCommandOptionChoice[]): this;
|
|
74
|
+
setMinValue(minValue: number): this;
|
|
75
|
+
setMaxValue(maxValue: number): this;
|
|
76
|
+
setAutocomplete(autocomplete?: boolean): this;
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Number option builder
|
|
80
|
+
*/
|
|
81
|
+
export declare class SlashCommandNumberOption extends SlashCommandOptionBuilder {
|
|
82
|
+
constructor();
|
|
83
|
+
addChoices(...choices: APIApplicationCommandOptionChoice[]): this;
|
|
84
|
+
setMinValue(minValue: number): this;
|
|
85
|
+
setMaxValue(maxValue: number): this;
|
|
86
|
+
setAutocomplete(autocomplete?: boolean): this;
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Boolean option builder
|
|
90
|
+
*/
|
|
91
|
+
export declare class SlashCommandBooleanOption extends SlashCommandOptionBuilder {
|
|
92
|
+
constructor();
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* User option builder
|
|
96
|
+
*/
|
|
97
|
+
export declare class SlashCommandUserOption extends SlashCommandOptionBuilder {
|
|
98
|
+
constructor();
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Channel option builder
|
|
102
|
+
*/
|
|
103
|
+
export declare class SlashCommandChannelOption extends SlashCommandOptionBuilder {
|
|
104
|
+
constructor();
|
|
105
|
+
addChannelTypes(...types: number[]): this;
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Role option builder
|
|
109
|
+
*/
|
|
110
|
+
export declare class SlashCommandRoleOption extends SlashCommandOptionBuilder {
|
|
111
|
+
constructor();
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Mentionable option builder
|
|
115
|
+
*/
|
|
116
|
+
export declare class SlashCommandMentionableOption extends SlashCommandOptionBuilder {
|
|
117
|
+
constructor();
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* Attachment option builder
|
|
121
|
+
*/
|
|
122
|
+
export declare class SlashCommandAttachmentOption extends SlashCommandOptionBuilder {
|
|
123
|
+
constructor();
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* A builder for creating slash commands
|
|
127
|
+
*/
|
|
128
|
+
export declare class SlashCommandBuilder {
|
|
129
|
+
readonly data: Partial<APIApplicationCommand>;
|
|
130
|
+
constructor();
|
|
131
|
+
/**
|
|
132
|
+
* Sets the name of this command
|
|
133
|
+
* @param name The name
|
|
134
|
+
*/
|
|
135
|
+
setName(name: string): this;
|
|
136
|
+
/**
|
|
137
|
+
* Sets the description of this command
|
|
138
|
+
* @param description The description
|
|
139
|
+
*/
|
|
140
|
+
setDescription(description: string): this;
|
|
141
|
+
/**
|
|
142
|
+
* Sets the default member permissions required to use this command
|
|
143
|
+
* @param permissions The permissions
|
|
144
|
+
*/
|
|
145
|
+
setDefaultMemberPermissions(permissions: bigint | string | null): this;
|
|
146
|
+
/**
|
|
147
|
+
* Sets whether this command is available in DMs
|
|
148
|
+
* @param enabled Whether the command is available in DMs
|
|
149
|
+
*/
|
|
150
|
+
setDMPermission(enabled: boolean): this;
|
|
151
|
+
/**
|
|
152
|
+
* Sets whether this command is NSFW
|
|
153
|
+
* @param nsfw Whether the command is NSFW
|
|
154
|
+
*/
|
|
155
|
+
setNSFW(nsfw?: boolean): this;
|
|
156
|
+
/**
|
|
157
|
+
* Adds a string option
|
|
158
|
+
*/
|
|
159
|
+
addStringOption(fn: (option: SlashCommandStringOption) => SlashCommandStringOption): this;
|
|
160
|
+
/**
|
|
161
|
+
* Adds an integer option
|
|
162
|
+
*/
|
|
163
|
+
addIntegerOption(fn: (option: SlashCommandIntegerOption) => SlashCommandIntegerOption): this;
|
|
164
|
+
/**
|
|
165
|
+
* Adds a number option
|
|
166
|
+
*/
|
|
167
|
+
addNumberOption(fn: (option: SlashCommandNumberOption) => SlashCommandNumberOption): this;
|
|
168
|
+
/**
|
|
169
|
+
* Adds a boolean option
|
|
170
|
+
*/
|
|
171
|
+
addBooleanOption(fn: (option: SlashCommandBooleanOption) => SlashCommandBooleanOption): this;
|
|
172
|
+
/**
|
|
173
|
+
* Adds a user option
|
|
174
|
+
*/
|
|
175
|
+
addUserOption(fn: (option: SlashCommandUserOption) => SlashCommandUserOption): this;
|
|
176
|
+
/**
|
|
177
|
+
* Adds a channel option
|
|
178
|
+
*/
|
|
179
|
+
addChannelOption(fn: (option: SlashCommandChannelOption) => SlashCommandChannelOption): this;
|
|
180
|
+
/**
|
|
181
|
+
* Adds a role option
|
|
182
|
+
*/
|
|
183
|
+
addRoleOption(fn: (option: SlashCommandRoleOption) => SlashCommandRoleOption): this;
|
|
184
|
+
/**
|
|
185
|
+
* Adds a mentionable option
|
|
186
|
+
*/
|
|
187
|
+
addMentionableOption(fn: (option: SlashCommandMentionableOption) => SlashCommandMentionableOption): this;
|
|
188
|
+
/**
|
|
189
|
+
* Adds an attachment option
|
|
190
|
+
*/
|
|
191
|
+
addAttachmentOption(fn: (option: SlashCommandAttachmentOption) => SlashCommandAttachmentOption): this;
|
|
192
|
+
/**
|
|
193
|
+
* Returns the JSON representation of this command
|
|
194
|
+
*/
|
|
195
|
+
toJSON(): APIApplicationCommand;
|
|
196
|
+
}
|
|
197
|
+
export default SlashCommandBuilder;
|