@buape/carbon 0.11.0 → 0.12.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/package.json +3 -3
- package/dist/src/abstracts/AnySelectMenu.d.ts +7 -0
- package/dist/src/abstracts/AnySelectMenu.d.ts.map +1 -1
- package/dist/src/abstracts/AnySelectMenu.js +8 -0
- package/dist/src/abstracts/AnySelectMenu.js.map +1 -1
- package/dist/src/abstracts/BaseListener.d.ts +3 -3
- package/dist/src/abstracts/BaseListener.d.ts.map +1 -1
- package/dist/src/abstracts/BaseListener.js.map +1 -1
- package/dist/src/classes/Client.d.ts +5 -0
- package/dist/src/classes/Client.d.ts.map +1 -1
- package/dist/src/classes/Client.js +7 -1
- package/dist/src/classes/Client.js.map +1 -1
- package/dist/src/classes/CommandWithSubcommandGroups.d.ts.map +1 -1
- package/dist/src/classes/CommandWithSubcommandGroups.js +4 -8
- package/dist/src/classes/CommandWithSubcommandGroups.js.map +1 -1
- package/dist/src/classes/CommandWithSubcommands.d.ts.map +1 -1
- package/dist/src/classes/CommandWithSubcommands.js +2 -4
- package/dist/src/classes/CommandWithSubcommands.js.map +1 -1
- package/dist/src/classes/Modal.d.ts +2 -1
- package/dist/src/classes/Modal.d.ts.map +1 -1
- package/dist/src/classes/Modal.js.map +1 -1
- package/dist/src/classes/components/Label.d.ts +3 -3
- package/dist/src/classes/components/Label.d.ts.map +1 -1
- package/dist/src/classes/components/Label.js +6 -2
- package/dist/src/classes/components/Label.js.map +1 -1
- package/dist/src/classes/components/ModalChannelSelectMenu.d.ts +62 -0
- package/dist/src/classes/components/ModalChannelSelectMenu.d.ts.map +1 -0
- package/dist/src/classes/components/ModalChannelSelectMenu.js +73 -0
- package/dist/src/classes/components/ModalChannelSelectMenu.js.map +1 -0
- package/dist/src/classes/components/ModalMentionableSelectMenu.d.ts +58 -0
- package/dist/src/classes/components/ModalMentionableSelectMenu.d.ts.map +1 -0
- package/dist/src/classes/components/ModalMentionableSelectMenu.js +68 -0
- package/dist/src/classes/components/ModalMentionableSelectMenu.js.map +1 -0
- package/dist/src/classes/components/ModalRoleSelectMenu.d.ts +58 -0
- package/dist/src/classes/components/ModalRoleSelectMenu.d.ts.map +1 -0
- package/dist/src/classes/components/ModalRoleSelectMenu.js +68 -0
- package/dist/src/classes/components/ModalRoleSelectMenu.js.map +1 -0
- package/dist/src/classes/components/ModalStringSelectMenu.d.ts +56 -8
- package/dist/src/classes/components/ModalStringSelectMenu.d.ts.map +1 -1
- package/dist/src/classes/components/ModalStringSelectMenu.js +59 -10
- package/dist/src/classes/components/ModalStringSelectMenu.js.map +1 -1
- package/dist/src/classes/components/ModalUserSelectMenu.d.ts +58 -0
- package/dist/src/classes/components/ModalUserSelectMenu.d.ts.map +1 -0
- package/dist/src/classes/components/ModalUserSelectMenu.js +68 -0
- package/dist/src/classes/components/ModalUserSelectMenu.js.map +1 -0
- package/dist/src/internals/ComponentHandler.d.ts.map +1 -1
- package/dist/src/internals/ComponentHandler.js +7 -3
- package/dist/src/internals/ComponentHandler.js.map +1 -1
- package/dist/src/internals/EmojiHandler.d.ts +19 -0
- package/dist/src/internals/EmojiHandler.d.ts.map +1 -0
- package/dist/src/internals/EmojiHandler.js +35 -0
- package/dist/src/internals/EmojiHandler.js.map +1 -0
- package/dist/src/internals/EventHandler.d.ts +2 -2
- package/dist/src/internals/EventHandler.d.ts.map +1 -1
- package/dist/src/internals/EventHandler.js +3 -1
- package/dist/src/internals/EventHandler.js.map +1 -1
- package/dist/src/internals/FieldsHandler.d.ts +46 -16
- package/dist/src/internals/FieldsHandler.d.ts.map +1 -1
- package/dist/src/internals/FieldsHandler.js +87 -26
- package/dist/src/internals/FieldsHandler.js.map +1 -1
- package/dist/src/internals/ModalHandler.d.ts.map +1 -1
- package/dist/src/internals/ModalHandler.js +7 -1
- package/dist/src/internals/ModalHandler.js.map +1 -1
- package/dist/src/internals/OptionsHandler.d.ts +17 -11
- package/dist/src/internals/OptionsHandler.d.ts.map +1 -1
- package/dist/src/internals/OptionsHandler.js +38 -13
- package/dist/src/internals/OptionsHandler.js.map +1 -1
- package/dist/src/plugins/gateway/GatewayPlugin.d.ts.map +1 -1
- package/dist/src/plugins/gateway/GatewayPlugin.js +1 -1
- package/dist/src/plugins/gateway/GatewayPlugin.js.map +1 -1
- package/dist/src/plugins/gateway/index.d.ts +1 -0
- package/dist/src/plugins/gateway/index.d.ts.map +1 -1
- package/dist/src/plugins/gateway/index.js +1 -0
- package/dist/src/plugins/gateway/index.js.map +1 -1
- package/dist/src/plugins/gateway-forwarder/GatewayForwarderPlugin.d.ts +4 -0
- package/dist/src/plugins/gateway-forwarder/GatewayForwarderPlugin.d.ts.map +1 -1
- package/dist/src/plugins/gateway-forwarder/GatewayForwarderPlugin.js +2 -0
- package/dist/src/plugins/gateway-forwarder/GatewayForwarderPlugin.js.map +1 -1
- package/dist/src/structures/Emoji.d.ts +64 -0
- package/dist/src/structures/Emoji.d.ts.map +1 -0
- package/dist/src/structures/Emoji.js +136 -0
- package/dist/src/structures/Emoji.js.map +1 -0
- package/dist/src/structures/Guild.d.ts +13 -2
- package/dist/src/structures/Guild.d.ts.map +1 -1
- package/dist/src/structures/Guild.js +25 -1
- package/dist/src/structures/Guild.js.map +1 -1
- package/dist/src/structures/GuildMember.d.ts +15 -0
- package/dist/src/structures/GuildMember.d.ts.map +1 -1
- package/dist/src/structures/GuildMember.js +14 -0
- package/dist/src/structures/GuildMember.js.map +1 -1
- package/dist/src/types/index.d.ts +4 -0
- package/dist/src/types/index.d.ts.map +1 -1
- package/dist/src/types/index.js.map +1 -1
- package/dist/src/types/listeners.d.ts +3 -0
- package/dist/src/types/listeners.d.ts.map +1 -1
- package/dist/src/utils/payload.d.ts.map +1 -1
- package/dist/src/utils/payload.js +20 -5
- package/dist/src/utils/payload.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +3 -3
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { ComponentType } from "discord-api-types/v10";
|
|
2
|
+
import { BaseModalComponent } from "../../abstracts/BaseModalComponent.js";
|
|
3
|
+
import { parseCustomId } from "../../utils/customIdParser.js";
|
|
4
|
+
export class ModalMentionableSelectMenu extends BaseModalComponent {
|
|
5
|
+
type = ComponentType.MentionableSelect;
|
|
6
|
+
isV2 = false;
|
|
7
|
+
/**
|
|
8
|
+
* This function is called by the handler when a component is received, and is used to parse the custom ID into a key and data object.
|
|
9
|
+
* By default, the ID is parsed in this format: `key:arg1=true;arg2=2;arg3=cheese`, where `arg1`, `arg2`, and `arg3` are the data arguments.
|
|
10
|
+
* It will also automatically parse `true` and `false` as booleans, and will parse numbers as numbers.
|
|
11
|
+
*
|
|
12
|
+
* You can override this to parse the ID in a different format as you see fit, but it must follow these rules:
|
|
13
|
+
* - The ID must have a `key` somewhere in the ID that can be returned by the parser. This key is what Carbon's component handler will use to identify the component and pass an interaction to the correct component.
|
|
14
|
+
* - The data must be able to be arbitrary as far as Carbon's handler is concerned, meaning that any component with the same base key can be treated as the same component with logic within the component's logic methods to handle the data.
|
|
15
|
+
*
|
|
16
|
+
* @param id - The custom ID of the component as received from an interaction event
|
|
17
|
+
* @returns The base key and the data object
|
|
18
|
+
*/
|
|
19
|
+
customIdParser = parseCustomId;
|
|
20
|
+
/**
|
|
21
|
+
* The minimum number of values that must be selected
|
|
22
|
+
*/
|
|
23
|
+
minValues;
|
|
24
|
+
/**
|
|
25
|
+
* The maximum number of values that can be selected
|
|
26
|
+
*/
|
|
27
|
+
maxValues;
|
|
28
|
+
/**
|
|
29
|
+
* Whether this component is required (defaults to true in modals)
|
|
30
|
+
*/
|
|
31
|
+
required;
|
|
32
|
+
/**
|
|
33
|
+
* The placeholder text for the select menu
|
|
34
|
+
*/
|
|
35
|
+
placeholder;
|
|
36
|
+
/**
|
|
37
|
+
* Default values for the select menu
|
|
38
|
+
*/
|
|
39
|
+
defaultValues;
|
|
40
|
+
serialize = () => {
|
|
41
|
+
const data = {
|
|
42
|
+
type: this.type,
|
|
43
|
+
custom_id: this.customId,
|
|
44
|
+
placeholder: this.placeholder,
|
|
45
|
+
min_values: this.minValues,
|
|
46
|
+
max_values: this.maxValues,
|
|
47
|
+
default_values: this.defaultValues
|
|
48
|
+
};
|
|
49
|
+
// In modals, required defaults to true
|
|
50
|
+
if (this.required !== undefined) {
|
|
51
|
+
data.required = this.required;
|
|
52
|
+
}
|
|
53
|
+
return data;
|
|
54
|
+
};
|
|
55
|
+
/**
|
|
56
|
+
* The disabled field is not allowed on modal select components
|
|
57
|
+
* @throws Error when trying to set disabled to true
|
|
58
|
+
*/
|
|
59
|
+
set disabled(value) {
|
|
60
|
+
if (value === true) {
|
|
61
|
+
throw new Error("The 'disabled' field is not allowed on modal select components");
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
get disabled() {
|
|
65
|
+
return undefined;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=ModalMentionableSelectMenu.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ModalMentionableSelectMenu.js","sourceRoot":"","sources":["../../../../src/classes/components/ModalMentionableSelectMenu.ts"],"names":[],"mappings":"AAAA,OAAO,EAEN,aAAa,EACb,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAA;AAI1E,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAA;AAE7D,MAAM,OAAgB,0BAA2B,SAAQ,kBAAkB;IACjE,IAAI,GAAG,aAAa,CAAC,iBAA0B,CAAA;IAC/C,IAAI,GAAG,KAAK,CAAA;IAUrB;;;;;;;;;;;OAWG;IACH,cAAc,GAA0C,aAAa,CAAA;IAErE;;OAEG;IACH,SAAS,CAAS;IAElB;;OAEG;IACH,SAAS,CAAS;IAElB;;OAEG;IACH,QAAQ,CAAU;IAElB;;OAEG;IACH,WAAW,CAAS;IAEpB;;OAEG;IACH,aAAa,CAAkD;IAO/D,SAAS,GAAG,GAAkC,EAAE;QAC/C,MAAM,IAAI,GAAkC;YAC3C,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,SAAS,EAAE,IAAI,CAAC,QAAQ;YACxB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,UAAU,EAAE,IAAI,CAAC,SAAS;YAC1B,UAAU,EAAE,IAAI,CAAC,SAAS;YAC1B,cAAc,EAAE,IAAI,CAAC,aAAa;SAClC,CAAA;QAED,uCAAuC;QACvC,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YACjC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAA;QAC9B,CAAC;QAED,OAAO,IAAI,CAAA;IACZ,CAAC,CAAA;IAED;;;OAGG;IACH,IAAI,QAAQ,CAAC,KAA0B;QACtC,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CACd,gEAAgE,CAChE,CAAA;QACF,CAAC;IACF,CAAC;IAED,IAAI,QAAQ;QACX,OAAO,SAAS,CAAA;IACjB,CAAC;CACD"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { type APIRoleSelectComponent, ComponentType } from "discord-api-types/v10";
|
|
2
|
+
import { BaseModalComponent } from "../../abstracts/BaseModalComponent.js";
|
|
3
|
+
import type { RoleSelectMenuInteraction } from "../../internals/RoleSelectMenuInteraction.js";
|
|
4
|
+
import type { ComponentParserResult } from "../../types/index.js";
|
|
5
|
+
import type { ComponentData } from "../../types/index.js";
|
|
6
|
+
export declare abstract class ModalRoleSelectMenu extends BaseModalComponent {
|
|
7
|
+
readonly type: ComponentType.RoleSelect;
|
|
8
|
+
readonly isV2 = false;
|
|
9
|
+
/**
|
|
10
|
+
* The custom ID of the component.
|
|
11
|
+
* If you want to provide a custom ID with additional data, you should either follow the default parser's format or implement your own custom parser.
|
|
12
|
+
*
|
|
13
|
+
* @see {@link customIdParser}
|
|
14
|
+
*/
|
|
15
|
+
abstract customId: string;
|
|
16
|
+
/**
|
|
17
|
+
* This function is called by the handler when a component is received, and is used to parse the custom ID into a key and data object.
|
|
18
|
+
* By default, the ID is parsed in this format: `key:arg1=true;arg2=2;arg3=cheese`, where `arg1`, `arg2`, and `arg3` are the data arguments.
|
|
19
|
+
* It will also automatically parse `true` and `false` as booleans, and will parse numbers as numbers.
|
|
20
|
+
*
|
|
21
|
+
* You can override this to parse the ID in a different format as you see fit, but it must follow these rules:
|
|
22
|
+
* - The ID must have a `key` somewhere in the ID that can be returned by the parser. This key is what Carbon's component handler will use to identify the component and pass an interaction to the correct component.
|
|
23
|
+
* - The data must be able to be arbitrary as far as Carbon's handler is concerned, meaning that any component with the same base key can be treated as the same component with logic within the component's logic methods to handle the data.
|
|
24
|
+
*
|
|
25
|
+
* @param id - The custom ID of the component as received from an interaction event
|
|
26
|
+
* @returns The base key and the data object
|
|
27
|
+
*/
|
|
28
|
+
customIdParser: (id: string) => ComponentParserResult;
|
|
29
|
+
/**
|
|
30
|
+
* The minimum number of values that must be selected
|
|
31
|
+
*/
|
|
32
|
+
minValues?: number;
|
|
33
|
+
/**
|
|
34
|
+
* The maximum number of values that can be selected
|
|
35
|
+
*/
|
|
36
|
+
maxValues?: number;
|
|
37
|
+
/**
|
|
38
|
+
* Whether this component is required (defaults to true in modals)
|
|
39
|
+
*/
|
|
40
|
+
required?: boolean;
|
|
41
|
+
/**
|
|
42
|
+
* The placeholder text for the select menu
|
|
43
|
+
*/
|
|
44
|
+
placeholder?: string;
|
|
45
|
+
/**
|
|
46
|
+
* Default values for the select menu
|
|
47
|
+
*/
|
|
48
|
+
defaultValues?: APIRoleSelectComponent["default_values"];
|
|
49
|
+
abstract run(interaction: RoleSelectMenuInteraction, data: ComponentData): unknown | Promise<unknown>;
|
|
50
|
+
serialize: () => APIRoleSelectComponent;
|
|
51
|
+
/**
|
|
52
|
+
* The disabled field is not allowed on modal select components
|
|
53
|
+
* @throws Error when trying to set disabled to true
|
|
54
|
+
*/
|
|
55
|
+
set disabled(value: boolean | undefined);
|
|
56
|
+
get disabled(): boolean | undefined;
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=ModalRoleSelectMenu.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ModalRoleSelectMenu.d.ts","sourceRoot":"","sources":["../../../../src/classes/components/ModalRoleSelectMenu.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,KAAK,sBAAsB,EAC3B,aAAa,EACb,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAA;AAC1E,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,8CAA8C,CAAA;AAC7F,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAA;AACjE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAGzD,8BAAsB,mBAAoB,SAAQ,kBAAkB;IACnE,QAAQ,CAAC,IAAI,2BAAoC;IACjD,QAAQ,CAAC,IAAI,SAAQ;IAErB;;;;;OAKG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IAEzB;;;;;;;;;;;OAWG;IACH,cAAc,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,qBAAqB,CAAgB;IAErE;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAElB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAElB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;IAElB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;IAEpB;;OAEG;IACH,aAAa,CAAC,EAAE,sBAAsB,CAAC,gBAAgB,CAAC,CAAA;IAExD,QAAQ,CAAC,GAAG,CACX,WAAW,EAAE,yBAAyB,EACtC,IAAI,EAAE,aAAa,GACjB,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAE7B,SAAS,QAAO,sBAAsB,CAgBrC;IAED;;;OAGG;IACH,IAAI,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,EAMtC;IAED,IAAI,QAAQ,IAAI,OAAO,GAAG,SAAS,CAElC;CACD"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { ComponentType } from "discord-api-types/v10";
|
|
2
|
+
import { BaseModalComponent } from "../../abstracts/BaseModalComponent.js";
|
|
3
|
+
import { parseCustomId } from "../../utils/customIdParser.js";
|
|
4
|
+
export class ModalRoleSelectMenu extends BaseModalComponent {
|
|
5
|
+
type = ComponentType.RoleSelect;
|
|
6
|
+
isV2 = false;
|
|
7
|
+
/**
|
|
8
|
+
* This function is called by the handler when a component is received, and is used to parse the custom ID into a key and data object.
|
|
9
|
+
* By default, the ID is parsed in this format: `key:arg1=true;arg2=2;arg3=cheese`, where `arg1`, `arg2`, and `arg3` are the data arguments.
|
|
10
|
+
* It will also automatically parse `true` and `false` as booleans, and will parse numbers as numbers.
|
|
11
|
+
*
|
|
12
|
+
* You can override this to parse the ID in a different format as you see fit, but it must follow these rules:
|
|
13
|
+
* - The ID must have a `key` somewhere in the ID that can be returned by the parser. This key is what Carbon's component handler will use to identify the component and pass an interaction to the correct component.
|
|
14
|
+
* - The data must be able to be arbitrary as far as Carbon's handler is concerned, meaning that any component with the same base key can be treated as the same component with logic within the component's logic methods to handle the data.
|
|
15
|
+
*
|
|
16
|
+
* @param id - The custom ID of the component as received from an interaction event
|
|
17
|
+
* @returns The base key and the data object
|
|
18
|
+
*/
|
|
19
|
+
customIdParser = parseCustomId;
|
|
20
|
+
/**
|
|
21
|
+
* The minimum number of values that must be selected
|
|
22
|
+
*/
|
|
23
|
+
minValues;
|
|
24
|
+
/**
|
|
25
|
+
* The maximum number of values that can be selected
|
|
26
|
+
*/
|
|
27
|
+
maxValues;
|
|
28
|
+
/**
|
|
29
|
+
* Whether this component is required (defaults to true in modals)
|
|
30
|
+
*/
|
|
31
|
+
required;
|
|
32
|
+
/**
|
|
33
|
+
* The placeholder text for the select menu
|
|
34
|
+
*/
|
|
35
|
+
placeholder;
|
|
36
|
+
/**
|
|
37
|
+
* Default values for the select menu
|
|
38
|
+
*/
|
|
39
|
+
defaultValues;
|
|
40
|
+
serialize = () => {
|
|
41
|
+
const data = {
|
|
42
|
+
type: this.type,
|
|
43
|
+
custom_id: this.customId,
|
|
44
|
+
placeholder: this.placeholder,
|
|
45
|
+
min_values: this.minValues,
|
|
46
|
+
max_values: this.maxValues,
|
|
47
|
+
default_values: this.defaultValues
|
|
48
|
+
};
|
|
49
|
+
// In modals, required defaults to true
|
|
50
|
+
if (this.required !== undefined) {
|
|
51
|
+
data.required = this.required;
|
|
52
|
+
}
|
|
53
|
+
return data;
|
|
54
|
+
};
|
|
55
|
+
/**
|
|
56
|
+
* The disabled field is not allowed on modal select components
|
|
57
|
+
* @throws Error when trying to set disabled to true
|
|
58
|
+
*/
|
|
59
|
+
set disabled(value) {
|
|
60
|
+
if (value === true) {
|
|
61
|
+
throw new Error("The 'disabled' field is not allowed on modal select components");
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
get disabled() {
|
|
65
|
+
return undefined;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=ModalRoleSelectMenu.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ModalRoleSelectMenu.js","sourceRoot":"","sources":["../../../../src/classes/components/ModalRoleSelectMenu.ts"],"names":[],"mappings":"AAAA,OAAO,EAEN,aAAa,EACb,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAA;AAI1E,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAA;AAE7D,MAAM,OAAgB,mBAAoB,SAAQ,kBAAkB;IAC1D,IAAI,GAAG,aAAa,CAAC,UAAmB,CAAA;IACxC,IAAI,GAAG,KAAK,CAAA;IAUrB;;;;;;;;;;;OAWG;IACH,cAAc,GAA0C,aAAa,CAAA;IAErE;;OAEG;IACH,SAAS,CAAS;IAElB;;OAEG;IACH,SAAS,CAAS;IAElB;;OAEG;IACH,QAAQ,CAAU;IAElB;;OAEG;IACH,WAAW,CAAS;IAEpB;;OAEG;IACH,aAAa,CAA2C;IAOxD,SAAS,GAAG,GAA2B,EAAE;QACxC,MAAM,IAAI,GAA2B;YACpC,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,SAAS,EAAE,IAAI,CAAC,QAAQ;YACxB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,UAAU,EAAE,IAAI,CAAC,SAAS;YAC1B,UAAU,EAAE,IAAI,CAAC,SAAS;YAC1B,cAAc,EAAE,IAAI,CAAC,aAAa;SAClC,CAAA;QAED,uCAAuC;QACvC,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YACjC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAA;QAC9B,CAAC;QAED,OAAO,IAAI,CAAA;IACZ,CAAC,CAAA;IAED;;;OAGG;IACH,IAAI,QAAQ,CAAC,KAA0B;QACtC,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CACd,gEAAgE,CAChE,CAAA;QACF,CAAC;IACF,CAAC;IAED,IAAI,QAAQ;QACX,OAAO,SAAS,CAAA;IACjB,CAAC;CACD"}
|
|
@@ -1,10 +1,58 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
1
|
+
import { type APIStringSelectComponent, ComponentType } from "discord-api-types/v10";
|
|
2
|
+
import { BaseModalComponent } from "../../abstracts/BaseModalComponent.js";
|
|
3
|
+
import type { StringSelectMenuInteraction } from "../../internals/StringSelectMenuInteraction.js";
|
|
4
|
+
import type { ComponentParserResult } from "../../types/index.js";
|
|
5
|
+
import type { ComponentData } from "../../types/index.js";
|
|
6
|
+
export declare abstract class ModalStringSelectMenu extends BaseModalComponent {
|
|
7
|
+
readonly type: ComponentType.StringSelect;
|
|
8
|
+
readonly isV2 = false;
|
|
9
|
+
/**
|
|
10
|
+
* The custom ID of the component.
|
|
11
|
+
* If you want to provide a custom ID with additional data, you should either follow the default parser's format or implement your own custom parser.
|
|
12
|
+
*
|
|
13
|
+
* @see {@link customIdParser}
|
|
14
|
+
*/
|
|
15
|
+
abstract customId: string;
|
|
16
|
+
/**
|
|
17
|
+
* This function is called by the handler when a component is received, and is used to parse the custom ID into a key and data object.
|
|
18
|
+
* By default, the ID is parsed in this format: `key:arg1=true;arg2=2;arg3=cheese`, where `arg1`, `arg2`, and `arg3` are the data arguments.
|
|
19
|
+
* It will also automatically parse `true` and `false` as booleans, and will parse numbers as numbers.
|
|
20
|
+
*
|
|
21
|
+
* You can override this to parse the ID in a different format as you see fit, but it must follow these rules:
|
|
22
|
+
* - The ID must have a `key` somewhere in the ID that can be returned by the parser. This key is what Carbon's component handler will use to identify the component and pass an interaction to the correct component.
|
|
23
|
+
* - The data must be able to be arbitrary as far as Carbon's handler is concerned, meaning that any component with the same base key can be treated as the same component with logic within the component's logic methods to handle the data.
|
|
24
|
+
*
|
|
25
|
+
* @param id - The custom ID of the component as received from an interaction event
|
|
26
|
+
* @returns The base key and the data object
|
|
27
|
+
*/
|
|
28
|
+
customIdParser: (id: string) => ComponentParserResult;
|
|
29
|
+
/**
|
|
30
|
+
* The minimum number of values that must be selected
|
|
31
|
+
*/
|
|
32
|
+
minValues?: number;
|
|
33
|
+
/**
|
|
34
|
+
* The maximum number of values that can be selected
|
|
35
|
+
*/
|
|
36
|
+
maxValues?: number;
|
|
37
|
+
/**
|
|
38
|
+
* Whether this component is required (defaults to true in modals)
|
|
39
|
+
*/
|
|
40
|
+
required?: boolean;
|
|
41
|
+
/**
|
|
42
|
+
* The placeholder text for the select menu
|
|
43
|
+
*/
|
|
44
|
+
placeholder?: string;
|
|
45
|
+
/**
|
|
46
|
+
* The options for the select menu
|
|
47
|
+
*/
|
|
48
|
+
abstract options: APIStringSelectComponent["options"];
|
|
49
|
+
abstract run(interaction: StringSelectMenuInteraction, data: ComponentData): unknown | Promise<unknown>;
|
|
50
|
+
serialize: () => APIStringSelectComponent;
|
|
51
|
+
/**
|
|
52
|
+
* The disabled field is not allowed on modal select components
|
|
53
|
+
* @throws Error when trying to set disabled to true
|
|
54
|
+
*/
|
|
55
|
+
set disabled(value: boolean | undefined);
|
|
56
|
+
get disabled(): boolean | undefined;
|
|
9
57
|
}
|
|
10
58
|
//# sourceMappingURL=ModalStringSelectMenu.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModalStringSelectMenu.d.ts","sourceRoot":"","sources":["../../../../src/classes/components/ModalStringSelectMenu.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"ModalStringSelectMenu.d.ts","sourceRoot":"","sources":["../../../../src/classes/components/ModalStringSelectMenu.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,KAAK,wBAAwB,EAC7B,aAAa,EACb,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAA;AAC1E,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,gDAAgD,CAAA;AACjG,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAA;AACjE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAGzD,8BAAsB,qBAAsB,SAAQ,kBAAkB;IACrE,QAAQ,CAAC,IAAI,6BAAsC;IACnD,QAAQ,CAAC,IAAI,SAAQ;IAErB;;;;;OAKG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IAEzB;;;;;;;;;;;OAWG;IACH,cAAc,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,qBAAqB,CAAgB;IAErE;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAElB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAElB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;IAElB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;IAEpB;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,wBAAwB,CAAC,SAAS,CAAC,CAAA;IAErD,QAAQ,CAAC,GAAG,CACX,WAAW,EAAE,2BAA2B,EACxC,IAAI,EAAE,aAAa,GACjB,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAE7B,SAAS,QAAO,wBAAwB,CAgBvC;IAED;;;OAGG;IACH,IAAI,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,EAMtC;IAED,IAAI,QAAQ,IAAI,OAAO,GAAG,SAAS,CAElC;CACD"}
|
|
@@ -1,15 +1,64 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
1
|
+
import { ComponentType } from "discord-api-types/v10";
|
|
2
|
+
import { BaseModalComponent } from "../../abstracts/BaseModalComponent.js";
|
|
3
|
+
import { parseCustomId } from "../../utils/customIdParser.js";
|
|
4
|
+
export class ModalStringSelectMenu extends BaseModalComponent {
|
|
5
|
+
type = ComponentType.StringSelect;
|
|
6
|
+
isV2 = false;
|
|
7
|
+
/**
|
|
8
|
+
* This function is called by the handler when a component is received, and is used to parse the custom ID into a key and data object.
|
|
9
|
+
* By default, the ID is parsed in this format: `key:arg1=true;arg2=2;arg3=cheese`, where `arg1`, `arg2`, and `arg3` are the data arguments.
|
|
10
|
+
* It will also automatically parse `true` and `false` as booleans, and will parse numbers as numbers.
|
|
11
|
+
*
|
|
12
|
+
* You can override this to parse the ID in a different format as you see fit, but it must follow these rules:
|
|
13
|
+
* - The ID must have a `key` somewhere in the ID that can be returned by the parser. This key is what Carbon's component handler will use to identify the component and pass an interaction to the correct component.
|
|
14
|
+
* - The data must be able to be arbitrary as far as Carbon's handler is concerned, meaning that any component with the same base key can be treated as the same component with logic within the component's logic methods to handle the data.
|
|
15
|
+
*
|
|
16
|
+
* @param id - The custom ID of the component as received from an interaction event
|
|
17
|
+
* @returns The base key and the data object
|
|
18
|
+
*/
|
|
19
|
+
customIdParser = parseCustomId;
|
|
20
|
+
/**
|
|
21
|
+
* The minimum number of values that must be selected
|
|
22
|
+
*/
|
|
23
|
+
minValues;
|
|
24
|
+
/**
|
|
25
|
+
* The maximum number of values that can be selected
|
|
26
|
+
*/
|
|
27
|
+
maxValues;
|
|
28
|
+
/**
|
|
29
|
+
* Whether this component is required (defaults to true in modals)
|
|
30
|
+
*/
|
|
31
|
+
required;
|
|
32
|
+
/**
|
|
33
|
+
* The placeholder text for the select menu
|
|
34
|
+
*/
|
|
35
|
+
placeholder;
|
|
36
|
+
serialize = () => {
|
|
37
|
+
const data = {
|
|
38
|
+
type: this.type,
|
|
39
|
+
custom_id: this.customId,
|
|
40
|
+
placeholder: this.placeholder,
|
|
41
|
+
min_values: this.minValues,
|
|
42
|
+
max_values: this.maxValues,
|
|
43
|
+
options: this.options
|
|
8
44
|
};
|
|
45
|
+
// In modals, required defaults to true
|
|
46
|
+
if (this.required !== undefined) {
|
|
47
|
+
data.required = this.required;
|
|
48
|
+
}
|
|
49
|
+
return data;
|
|
50
|
+
};
|
|
51
|
+
/**
|
|
52
|
+
* The disabled field is not allowed on modal select components
|
|
53
|
+
* @throws Error when trying to set disabled to true
|
|
54
|
+
*/
|
|
55
|
+
set disabled(value) {
|
|
56
|
+
if (value === true) {
|
|
57
|
+
throw new Error("The 'disabled' field is not allowed on modal select components");
|
|
58
|
+
}
|
|
9
59
|
}
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
return ["disabled"];
|
|
60
|
+
get disabled() {
|
|
61
|
+
return undefined;
|
|
13
62
|
}
|
|
14
63
|
}
|
|
15
64
|
//# sourceMappingURL=ModalStringSelectMenu.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModalStringSelectMenu.js","sourceRoot":"","sources":["../../../../src/classes/components/ModalStringSelectMenu.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"ModalStringSelectMenu.js","sourceRoot":"","sources":["../../../../src/classes/components/ModalStringSelectMenu.ts"],"names":[],"mappings":"AAAA,OAAO,EAEN,aAAa,EACb,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAA;AAI1E,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAA;AAE7D,MAAM,OAAgB,qBAAsB,SAAQ,kBAAkB;IAC5D,IAAI,GAAG,aAAa,CAAC,YAAqB,CAAA;IAC1C,IAAI,GAAG,KAAK,CAAA;IAUrB;;;;;;;;;;;OAWG;IACH,cAAc,GAA0C,aAAa,CAAA;IAErE;;OAEG;IACH,SAAS,CAAS;IAElB;;OAEG;IACH,SAAS,CAAS;IAElB;;OAEG;IACH,QAAQ,CAAU;IAElB;;OAEG;IACH,WAAW,CAAS;IAYpB,SAAS,GAAG,GAA6B,EAAE;QAC1C,MAAM,IAAI,GAA6B;YACtC,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,SAAS,EAAE,IAAI,CAAC,QAAQ;YACxB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,UAAU,EAAE,IAAI,CAAC,SAAS;YAC1B,UAAU,EAAE,IAAI,CAAC,SAAS;YAC1B,OAAO,EAAE,IAAI,CAAC,OAAO;SACrB,CAAA;QAED,uCAAuC;QACvC,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YACjC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAA;QAC9B,CAAC;QAED,OAAO,IAAI,CAAA;IACZ,CAAC,CAAA;IAED;;;OAGG;IACH,IAAI,QAAQ,CAAC,KAA0B;QACtC,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CACd,gEAAgE,CAChE,CAAA;QACF,CAAC;IACF,CAAC;IAED,IAAI,QAAQ;QACX,OAAO,SAAS,CAAA;IACjB,CAAC;CACD"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { type APIUserSelectComponent, ComponentType } from "discord-api-types/v10";
|
|
2
|
+
import { BaseModalComponent } from "../../abstracts/BaseModalComponent.js";
|
|
3
|
+
import type { UserSelectMenuInteraction } from "../../internals/UserSelectMenuInteraction.js";
|
|
4
|
+
import type { ComponentParserResult } from "../../types/index.js";
|
|
5
|
+
import type { ComponentData } from "../../types/index.js";
|
|
6
|
+
export declare abstract class ModalUserSelectMenu extends BaseModalComponent {
|
|
7
|
+
readonly type: ComponentType.UserSelect;
|
|
8
|
+
readonly isV2 = false;
|
|
9
|
+
/**
|
|
10
|
+
* The custom ID of the component.
|
|
11
|
+
* If you want to provide a custom ID with additional data, you should either follow the default parser's format or implement your own custom parser.
|
|
12
|
+
*
|
|
13
|
+
* @see {@link customIdParser}
|
|
14
|
+
*/
|
|
15
|
+
abstract customId: string;
|
|
16
|
+
/**
|
|
17
|
+
* This function is called by the handler when a component is received, and is used to parse the custom ID into a key and data object.
|
|
18
|
+
* By default, the ID is parsed in this format: `key:arg1=true;arg2=2;arg3=cheese`, where `arg1`, `arg2`, and `arg3` are the data arguments.
|
|
19
|
+
* It will also automatically parse `true` and `false` as booleans, and will parse numbers as numbers.
|
|
20
|
+
*
|
|
21
|
+
* You can override this to parse the ID in a different format as you see fit, but it must follow these rules:
|
|
22
|
+
* - The ID must have a `key` somewhere in the ID that can be returned by the parser. This key is what Carbon's component handler will use to identify the component and pass an interaction to the correct component.
|
|
23
|
+
* - The data must be able to be arbitrary as far as Carbon's handler is concerned, meaning that any component with the same base key can be treated as the same component with logic within the component's logic methods to handle the data.
|
|
24
|
+
*
|
|
25
|
+
* @param id - The custom ID of the component as received from an interaction event
|
|
26
|
+
* @returns The base key and the data object
|
|
27
|
+
*/
|
|
28
|
+
customIdParser: (id: string) => ComponentParserResult;
|
|
29
|
+
/**
|
|
30
|
+
* The minimum number of values that must be selected
|
|
31
|
+
*/
|
|
32
|
+
minValues?: number;
|
|
33
|
+
/**
|
|
34
|
+
* The maximum number of values that can be selected
|
|
35
|
+
*/
|
|
36
|
+
maxValues?: number;
|
|
37
|
+
/**
|
|
38
|
+
* Whether this component is required (defaults to true in modals)
|
|
39
|
+
*/
|
|
40
|
+
required?: boolean;
|
|
41
|
+
/**
|
|
42
|
+
* The placeholder text for the select menu
|
|
43
|
+
*/
|
|
44
|
+
placeholder?: string;
|
|
45
|
+
/**
|
|
46
|
+
* Default values for the select menu
|
|
47
|
+
*/
|
|
48
|
+
defaultValues?: APIUserSelectComponent["default_values"];
|
|
49
|
+
abstract run(interaction: UserSelectMenuInteraction, data: ComponentData): unknown | Promise<unknown>;
|
|
50
|
+
serialize: () => APIUserSelectComponent;
|
|
51
|
+
/**
|
|
52
|
+
* The disabled field is not allowed on modal select components
|
|
53
|
+
* @throws Error when trying to set disabled to true
|
|
54
|
+
*/
|
|
55
|
+
set disabled(value: boolean | undefined);
|
|
56
|
+
get disabled(): boolean | undefined;
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=ModalUserSelectMenu.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ModalUserSelectMenu.d.ts","sourceRoot":"","sources":["../../../../src/classes/components/ModalUserSelectMenu.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,KAAK,sBAAsB,EAC3B,aAAa,EACb,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAA;AAC1E,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,8CAA8C,CAAA;AAC7F,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAA;AACjE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAGzD,8BAAsB,mBAAoB,SAAQ,kBAAkB;IACnE,QAAQ,CAAC,IAAI,2BAAoC;IACjD,QAAQ,CAAC,IAAI,SAAQ;IAErB;;;;;OAKG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IAEzB;;;;;;;;;;;OAWG;IACH,cAAc,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,qBAAqB,CAAgB;IAErE;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAElB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAElB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;IAElB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;IAEpB;;OAEG;IACH,aAAa,CAAC,EAAE,sBAAsB,CAAC,gBAAgB,CAAC,CAAA;IAExD,QAAQ,CAAC,GAAG,CACX,WAAW,EAAE,yBAAyB,EACtC,IAAI,EAAE,aAAa,GACjB,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAE7B,SAAS,QAAO,sBAAsB,CAgBrC;IAED;;;OAGG;IACH,IAAI,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,EAMtC;IAED,IAAI,QAAQ,IAAI,OAAO,GAAG,SAAS,CAElC;CACD"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { ComponentType } from "discord-api-types/v10";
|
|
2
|
+
import { BaseModalComponent } from "../../abstracts/BaseModalComponent.js";
|
|
3
|
+
import { parseCustomId } from "../../utils/customIdParser.js";
|
|
4
|
+
export class ModalUserSelectMenu extends BaseModalComponent {
|
|
5
|
+
type = ComponentType.UserSelect;
|
|
6
|
+
isV2 = false;
|
|
7
|
+
/**
|
|
8
|
+
* This function is called by the handler when a component is received, and is used to parse the custom ID into a key and data object.
|
|
9
|
+
* By default, the ID is parsed in this format: `key:arg1=true;arg2=2;arg3=cheese`, where `arg1`, `arg2`, and `arg3` are the data arguments.
|
|
10
|
+
* It will also automatically parse `true` and `false` as booleans, and will parse numbers as numbers.
|
|
11
|
+
*
|
|
12
|
+
* You can override this to parse the ID in a different format as you see fit, but it must follow these rules:
|
|
13
|
+
* - The ID must have a `key` somewhere in the ID that can be returned by the parser. This key is what Carbon's component handler will use to identify the component and pass an interaction to the correct component.
|
|
14
|
+
* - The data must be able to be arbitrary as far as Carbon's handler is concerned, meaning that any component with the same base key can be treated as the same component with logic within the component's logic methods to handle the data.
|
|
15
|
+
*
|
|
16
|
+
* @param id - The custom ID of the component as received from an interaction event
|
|
17
|
+
* @returns The base key and the data object
|
|
18
|
+
*/
|
|
19
|
+
customIdParser = parseCustomId;
|
|
20
|
+
/**
|
|
21
|
+
* The minimum number of values that must be selected
|
|
22
|
+
*/
|
|
23
|
+
minValues;
|
|
24
|
+
/**
|
|
25
|
+
* The maximum number of values that can be selected
|
|
26
|
+
*/
|
|
27
|
+
maxValues;
|
|
28
|
+
/**
|
|
29
|
+
* Whether this component is required (defaults to true in modals)
|
|
30
|
+
*/
|
|
31
|
+
required;
|
|
32
|
+
/**
|
|
33
|
+
* The placeholder text for the select menu
|
|
34
|
+
*/
|
|
35
|
+
placeholder;
|
|
36
|
+
/**
|
|
37
|
+
* Default values for the select menu
|
|
38
|
+
*/
|
|
39
|
+
defaultValues;
|
|
40
|
+
serialize = () => {
|
|
41
|
+
const data = {
|
|
42
|
+
type: this.type,
|
|
43
|
+
custom_id: this.customId,
|
|
44
|
+
placeholder: this.placeholder,
|
|
45
|
+
min_values: this.minValues,
|
|
46
|
+
max_values: this.maxValues,
|
|
47
|
+
default_values: this.defaultValues
|
|
48
|
+
};
|
|
49
|
+
// In modals, required defaults to true
|
|
50
|
+
if (this.required !== undefined) {
|
|
51
|
+
data.required = this.required;
|
|
52
|
+
}
|
|
53
|
+
return data;
|
|
54
|
+
};
|
|
55
|
+
/**
|
|
56
|
+
* The disabled field is not allowed on modal select components
|
|
57
|
+
* @throws Error when trying to set disabled to true
|
|
58
|
+
*/
|
|
59
|
+
set disabled(value) {
|
|
60
|
+
if (value === true) {
|
|
61
|
+
throw new Error("The 'disabled' field is not allowed on modal select components");
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
get disabled() {
|
|
65
|
+
return undefined;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=ModalUserSelectMenu.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ModalUserSelectMenu.js","sourceRoot":"","sources":["../../../../src/classes/components/ModalUserSelectMenu.ts"],"names":[],"mappings":"AAAA,OAAO,EAEN,aAAa,EACb,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAA;AAI1E,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAA;AAE7D,MAAM,OAAgB,mBAAoB,SAAQ,kBAAkB;IAC1D,IAAI,GAAG,aAAa,CAAC,UAAmB,CAAA;IACxC,IAAI,GAAG,KAAK,CAAA;IAUrB;;;;;;;;;;;OAWG;IACH,cAAc,GAA0C,aAAa,CAAA;IAErE;;OAEG;IACH,SAAS,CAAS;IAElB;;OAEG;IACH,SAAS,CAAS;IAElB;;OAEG;IACH,QAAQ,CAAU;IAElB;;OAEG;IACH,WAAW,CAAS;IAEpB;;OAEG;IACH,aAAa,CAA2C;IAOxD,SAAS,GAAG,GAA2B,EAAE;QACxC,MAAM,IAAI,GAA2B;YACpC,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,SAAS,EAAE,IAAI,CAAC,QAAQ;YACxB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,UAAU,EAAE,IAAI,CAAC,SAAS;YAC1B,UAAU,EAAE,IAAI,CAAC,SAAS;YAC1B,cAAc,EAAE,IAAI,CAAC,aAAa;SAClC,CAAA;QAED,uCAAuC;QACvC,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YACjC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAA;QAC9B,CAAC;QAED,OAAO,IAAI,CAAA;IACZ,CAAC,CAAA;IAED;;;OAGG;IACH,IAAI,QAAQ,CAAC,KAA0B;QACtC,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CACd,gEAAgE,CAChE,CAAA;QACF,CAAC;IACF,CAAC;IAED,IAAI,QAAQ;QACX,OAAO,SAAS,CAAA;IACjB,CAAC;CACD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ComponentHandler.d.ts","sourceRoot":"","sources":["../../../src/internals/ComponentHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAEN,KAAK,8BAA8B,EACnC,KAAK,kCAAkC,EAKvC,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAA;AAC3C,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,iDAAiD,CAAA;AActG,qBAAa,gBAAiB,SAAQ,IAAI;IACzC,UAAU,EAAE,+BAA+B,EAAE,CAAK;IAElD,gBAAgB,EAAE,GAAG,CACpB,GAAG,MAAM,IAAI,MAAM,EAAE,EACrB;QACC,OAAO,EAAE,CAAC,IAAI,EAAE,kCAAkC,KAAK,IAAI,CAAA;KAC3D,CACD,CAAY;IACb;;;OAGG;IACH,iBAAiB,CAAC,SAAS,EAAE,+BAA+B;IAK5D;;;OAGG;IACG,iBAAiB,CAAC,IAAI,EAAE,8BAA8B;
|
|
1
|
+
{"version":3,"file":"ComponentHandler.d.ts","sourceRoot":"","sources":["../../../src/internals/ComponentHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAEN,KAAK,8BAA8B,EACnC,KAAK,kCAAkC,EAKvC,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAA;AAC3C,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,iDAAiD,CAAA;AActG,qBAAa,gBAAiB,SAAQ,IAAI;IACzC,UAAU,EAAE,+BAA+B,EAAE,CAAK;IAElD,gBAAgB,EAAE,GAAG,CACpB,GAAG,MAAM,IAAI,MAAM,EAAE,EACrB;QACC,OAAO,EAAE,CAAC,IAAI,EAAE,kCAAkC,KAAK,IAAI,CAAA;KAC3D,CACD,CAAY;IACb;;;OAGG;IACH,iBAAiB,CAAC,SAAS,EAAE,+BAA+B;IAK5D;;;OAGG;IACG,iBAAiB,CAAC,IAAI,EAAE,8BAA8B;CA2M5D"}
|
|
@@ -29,7 +29,7 @@ export class ComponentHandler extends Base {
|
|
|
29
29
|
* @internal
|
|
30
30
|
*/
|
|
31
31
|
async handleInteraction(data) {
|
|
32
|
-
|
|
32
|
+
let component = this.components.find((x) => {
|
|
33
33
|
const componentKey = x.customIdParser(x.customId).key;
|
|
34
34
|
const interactionKey = x.customIdParser(data.data.custom_id).key;
|
|
35
35
|
return (componentKey === interactionKey && x.type === data.data.component_type);
|
|
@@ -48,11 +48,15 @@ export class ComponentHandler extends Base {
|
|
|
48
48
|
.catch(() => {
|
|
49
49
|
console.warn(`Failed to acknowledge one-off component interaction for message ${data.message.id}`);
|
|
50
50
|
});
|
|
51
|
+
return;
|
|
51
52
|
}
|
|
52
|
-
|
|
53
|
+
component = this.components.find((x) => {
|
|
54
|
+
const componentKey = x.customIdParser(x.customId).key;
|
|
55
|
+
return componentKey === "*" && x.type === data.data.component_type;
|
|
56
|
+
});
|
|
57
|
+
if (!component) {
|
|
53
58
|
throw new Error(`Unknown component with type ${data.data.component_type} and custom ID ${data.data.custom_id} was received, did you forget to register the component? See https://carbon.buape.com/concepts/component-registration for more information.`);
|
|
54
59
|
}
|
|
55
|
-
return;
|
|
56
60
|
}
|
|
57
61
|
const parsed = component.customIdParser(data.data.custom_id);
|
|
58
62
|
if (component instanceof Button) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ComponentHandler.js","sourceRoot":"","sources":["../../../src/internals/ComponentHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAKN,uBAAuB,EAEvB,MAAM,EACN,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAA;AAE3C,OAAO,EAAE,MAAM,EAAE,MAAM,iCAAiC,CAAA;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,4CAA4C,CAAA;AAC9E,OAAO,EAAE,qBAAqB,EAAE,MAAM,gDAAgD,CAAA;AACtF,OAAO,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAA;AACxE,OAAO,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAA;AAC5E,OAAO,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAA;AACxE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAC1D,OAAO,EAAE,4BAA4B,EAAE,MAAM,mCAAmC,CAAA;AAChF,OAAO,EAAE,gCAAgC,EAAE,MAAM,uCAAuC,CAAA;AACxF,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAA;AAC1E,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAA;AAC9E,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAA;AAE1E,MAAM,OAAO,gBAAiB,SAAQ,IAAI;IACzC,UAAU,GAAsC,EAAE,CAAA;IAElD,gBAAgB,GAKZ,IAAI,GAAG,EAAE,CAAA;IACb;;;OAGG;IACH,iBAAiB,CAAC,SAA0C;QAC3D,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC;YACrE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QAChC,CAAC;IACF,CAAC;IACD;;;OAGG;IACH,KAAK,CAAC,iBAAiB,CAAC,IAAoC;QAC3D,
|
|
1
|
+
{"version":3,"file":"ComponentHandler.js","sourceRoot":"","sources":["../../../src/internals/ComponentHandler.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Base } from "../abstracts/Base.js";
|
|
2
|
+
import { ApplicationEmoji } from "../structures/Emoji.js";
|
|
3
|
+
/**
|
|
4
|
+
* This class is specifically used for application emojis that you manage from the Discord Developer Portal
|
|
5
|
+
*/
|
|
6
|
+
export declare class EmojiHandler extends Base {
|
|
7
|
+
list(): Promise<ApplicationEmoji[]>;
|
|
8
|
+
get(id: string): Promise<ApplicationEmoji>;
|
|
9
|
+
getByName(name: string): Promise<ApplicationEmoji | undefined>;
|
|
10
|
+
/**
|
|
11
|
+
* Upload a new emoji to the application
|
|
12
|
+
* @param name The name of the emoji
|
|
13
|
+
* @param image The image of the emoji in base64 format
|
|
14
|
+
* @returns The created ApplicationEmoji
|
|
15
|
+
*/
|
|
16
|
+
create(name: string, image: string): Promise<ApplicationEmoji>;
|
|
17
|
+
delete(id: string): Promise<void>;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=EmojiHandler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EmojiHandler.d.ts","sourceRoot":"","sources":["../../../src/internals/EmojiHandler.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAA;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAEzD;;GAEG;AACH,qBAAa,YAAa,SAAQ,IAAI;IACxB,IAAI;IAWJ,GAAG,CAAC,EAAE,EAAE,MAAM;IAWd,SAAS,CAAC,IAAI,EAAE,MAAM;IAKnC;;;;;OAKG;IACU,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;IAYlC,MAAM,CAAC,EAAE,EAAE,MAAM;CAK9B"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { Routes } from "discord-api-types/v10";
|
|
2
|
+
import { Base } from "../abstracts/Base.js";
|
|
3
|
+
import { ApplicationEmoji } from "../structures/Emoji.js";
|
|
4
|
+
/**
|
|
5
|
+
* This class is specifically used for application emojis that you manage from the Discord Developer Portal
|
|
6
|
+
*/
|
|
7
|
+
export class EmojiHandler extends Base {
|
|
8
|
+
async list() {
|
|
9
|
+
const emojis = (await this.client.rest.get(Routes.applicationEmojis(this.client.options.clientId)));
|
|
10
|
+
console.log(emojis);
|
|
11
|
+
return emojis.items.map((emoji) => new ApplicationEmoji(this.client, emoji, this.client.options.clientId));
|
|
12
|
+
}
|
|
13
|
+
async get(id) {
|
|
14
|
+
const emoji = (await this.client.rest.get(Routes.applicationEmoji(this.client.options.clientId, id)));
|
|
15
|
+
return new ApplicationEmoji(this.client, emoji, this.client.options.clientId);
|
|
16
|
+
}
|
|
17
|
+
async getByName(name) {
|
|
18
|
+
const emojis = await this.list();
|
|
19
|
+
return emojis.find((emoji) => emoji.name === name);
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Upload a new emoji to the application
|
|
23
|
+
* @param name The name of the emoji
|
|
24
|
+
* @param image The image of the emoji in base64 format
|
|
25
|
+
* @returns The created ApplicationEmoji
|
|
26
|
+
*/
|
|
27
|
+
async create(name, image) {
|
|
28
|
+
const emoji = (await this.client.rest.post(Routes.applicationEmojis(this.client.options.clientId), { body: { name, image } }));
|
|
29
|
+
return new ApplicationEmoji(this.client, emoji, this.client.options.clientId);
|
|
30
|
+
}
|
|
31
|
+
async delete(id) {
|
|
32
|
+
await this.client.rest.delete(Routes.applicationEmoji(this.client.options.clientId, id));
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=EmojiHandler.js.map
|