@buape/carbon 0.13.0 → 0.14.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/dist/package.json +8 -7
- package/dist/src/abstracts/BaseCommand.d.ts +4 -0
- package/dist/src/abstracts/BaseCommand.d.ts.map +1 -1
- package/dist/src/abstracts/BaseCommand.js +23 -0
- package/dist/src/abstracts/BaseCommand.js.map +1 -1
- package/dist/src/abstracts/BaseComponent.d.ts +2 -2
- package/dist/src/abstracts/BaseComponent.d.ts.map +1 -1
- package/dist/src/abstracts/BaseInteraction.d.ts +52 -0
- package/dist/src/abstracts/BaseInteraction.d.ts.map +1 -1
- package/dist/src/abstracts/BaseInteraction.js +43 -5
- package/dist/src/abstracts/BaseInteraction.js.map +1 -1
- package/dist/src/abstracts/BaseModalComponent.d.ts +3 -10
- package/dist/src/abstracts/BaseModalComponent.d.ts.map +1 -1
- package/dist/src/abstracts/BaseModalComponent.js.map +1 -1
- package/dist/src/adapters/bun/index.d.ts +2 -2
- package/dist/src/adapters/bun/index.d.ts.map +1 -1
- package/dist/src/classes/Client.d.ts +16 -5
- package/dist/src/classes/Client.d.ts.map +1 -1
- package/dist/src/classes/Client.js +51 -12
- package/dist/src/classes/Client.js.map +1 -1
- package/dist/src/classes/Listener.d.ts +2 -2
- package/dist/src/classes/Listener.d.ts.map +1 -1
- package/dist/src/classes/Modal.d.ts +2 -3
- package/dist/src/classes/Modal.d.ts.map +1 -1
- package/dist/src/classes/Modal.js.map +1 -1
- package/dist/src/classes/RequestClient.d.ts +18 -2
- package/dist/src/classes/RequestClient.d.ts.map +1 -1
- package/dist/src/classes/RequestClient.js +263 -65
- package/dist/src/classes/RequestClient.js.map +1 -1
- package/dist/src/classes/components/Checkbox.d.ts +12 -0
- package/dist/src/classes/components/Checkbox.d.ts.map +1 -0
- package/dist/src/classes/components/Checkbox.js +20 -0
- package/dist/src/classes/components/Checkbox.js.map +1 -0
- package/dist/src/classes/components/CheckboxGroup.d.ts +24 -0
- package/dist/src/classes/components/CheckboxGroup.d.ts.map +1 -0
- package/dist/src/classes/components/CheckboxGroup.js +37 -0
- package/dist/src/classes/components/CheckboxGroup.js.map +1 -0
- package/dist/src/classes/components/Container.d.ts +6 -2
- package/dist/src/classes/components/Container.d.ts.map +1 -1
- package/dist/src/classes/components/Container.js +11 -0
- package/dist/src/classes/components/Container.js.map +1 -1
- package/dist/src/classes/components/File.d.ts +2 -2
- package/dist/src/classes/components/File.d.ts.map +1 -1
- package/dist/src/classes/components/File.js +4 -1
- package/dist/src/classes/components/File.js.map +1 -1
- package/dist/src/classes/components/FileUpload.d.ts +3 -2
- package/dist/src/classes/components/FileUpload.d.ts.map +1 -1
- package/dist/src/classes/components/FileUpload.js +2 -2
- package/dist/src/classes/components/FileUpload.js.map +1 -1
- package/dist/src/classes/components/Label.d.ts +9 -5
- package/dist/src/classes/components/Label.d.ts.map +1 -1
- package/dist/src/classes/components/Label.js +1 -2
- package/dist/src/classes/components/Label.js.map +1 -1
- package/dist/src/classes/components/MediaGallery.d.ts +8 -13
- package/dist/src/classes/components/MediaGallery.d.ts.map +1 -1
- package/dist/src/classes/components/MediaGallery.js +5 -0
- package/dist/src/classes/components/MediaGallery.js.map +1 -1
- package/dist/src/classes/components/RadioGroup.d.ts +24 -0
- package/dist/src/classes/components/RadioGroup.d.ts.map +1 -0
- package/dist/src/classes/components/RadioGroup.js +33 -0
- package/dist/src/classes/components/RadioGroup.js.map +1 -0
- package/dist/src/classes/components/Row.d.ts.map +1 -1
- package/dist/src/classes/components/Row.js +2 -3
- package/dist/src/classes/components/Row.js.map +1 -1
- package/dist/src/classes/components/Section.d.ts +4 -3
- package/dist/src/classes/components/Section.d.ts.map +1 -1
- package/dist/src/classes/components/Section.js +22 -0
- package/dist/src/classes/components/Section.js.map +1 -1
- package/dist/src/classes/components/TextDisplay.d.ts +2 -2
- package/dist/src/classes/components/TextDisplay.d.ts.map +1 -1
- package/dist/src/classes/components/TextDisplay.js +3 -0
- package/dist/src/classes/components/TextDisplay.js.map +1 -1
- package/dist/src/classes/components/Thumbnail.d.ts +3 -2
- package/dist/src/classes/components/Thumbnail.d.ts.map +1 -1
- package/dist/src/classes/components/Thumbnail.js +11 -0
- package/dist/src/classes/components/Thumbnail.js.map +1 -1
- package/dist/src/index.d.ts +3 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +3 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/internals/AutocompleteInteraction.d.ts +1 -1
- package/dist/src/internals/AutocompleteInteraction.d.ts.map +1 -1
- package/dist/src/internals/CommandInteraction.d.ts +4 -0
- package/dist/src/internals/CommandInteraction.d.ts.map +1 -1
- package/dist/src/internals/CommandInteraction.js +30 -0
- package/dist/src/internals/CommandInteraction.js.map +1 -1
- package/dist/src/internals/ComponentHandler.d.ts +4 -10
- package/dist/src/internals/ComponentHandler.d.ts.map +1 -1
- package/dist/src/internals/ComponentHandler.js +46 -38
- package/dist/src/internals/ComponentHandler.js.map +1 -1
- package/dist/src/internals/EmojiHandler.d.ts.map +1 -1
- package/dist/src/internals/EmojiHandler.js +0 -1
- package/dist/src/internals/EmojiHandler.js.map +1 -1
- package/dist/src/internals/EventHandler.d.ts +13 -2
- package/dist/src/internals/EventHandler.d.ts.map +1 -1
- package/dist/src/internals/EventHandler.js +14 -11
- package/dist/src/internals/EventHandler.js.map +1 -1
- package/dist/src/internals/EventQueue.d.ts +59 -0
- package/dist/src/internals/EventQueue.d.ts.map +1 -0
- package/dist/src/internals/EventQueue.js +131 -0
- package/dist/src/internals/EventQueue.js.map +1 -0
- package/dist/src/internals/OptionsHandler.d.ts +9 -1
- package/dist/src/internals/OptionsHandler.d.ts.map +1 -1
- package/dist/src/internals/OptionsHandler.js +20 -1
- package/dist/src/internals/OptionsHandler.js.map +1 -1
- package/dist/src/internals/TemporaryListenerManager.d.ts +20 -0
- package/dist/src/internals/TemporaryListenerManager.d.ts.map +1 -0
- package/dist/src/internals/TemporaryListenerManager.js +59 -0
- package/dist/src/internals/TemporaryListenerManager.js.map +1 -0
- package/dist/src/permissions.d.ts +1 -0
- package/dist/src/permissions.d.ts.map +1 -1
- package/dist/src/plugins/client-manager/ClientManager.d.ts.map +1 -1
- package/dist/src/plugins/client-manager/ClientManager.js +7 -0
- package/dist/src/plugins/client-manager/ClientManager.js.map +1 -1
- package/dist/src/plugins/gateway/BabyCache.d.ts +13 -4
- package/dist/src/plugins/gateway/BabyCache.d.ts.map +1 -1
- package/dist/src/plugins/gateway/BabyCache.js +47 -0
- package/dist/src/plugins/gateway/BabyCache.js.map +1 -1
- package/dist/src/plugins/gateway/GatewayPlugin.d.ts +3 -0
- package/dist/src/plugins/gateway/GatewayPlugin.d.ts.map +1 -1
- package/dist/src/plugins/gateway/GatewayPlugin.js +75 -15
- package/dist/src/plugins/gateway/GatewayPlugin.js.map +1 -1
- package/dist/src/plugins/gateway/utils/heartbeat.d.ts +1 -0
- package/dist/src/plugins/gateway/utils/heartbeat.d.ts.map +1 -1
- package/dist/src/plugins/gateway/utils/heartbeat.js +13 -8
- package/dist/src/plugins/gateway/utils/heartbeat.js.map +1 -1
- package/dist/src/plugins/gateway-forwarder/GatewayForwarderPlugin.d.ts.map +1 -1
- package/dist/src/plugins/gateway-forwarder/GatewayForwarderPlugin.js +5 -1
- package/dist/src/plugins/gateway-forwarder/GatewayForwarderPlugin.js.map +1 -1
- package/dist/src/plugins/voice/GuildDeleteListener.d.ts +7 -0
- package/dist/src/plugins/voice/GuildDeleteListener.d.ts.map +1 -0
- package/dist/src/plugins/voice/GuildDeleteListener.js +11 -0
- package/dist/src/plugins/voice/GuildDeleteListener.js.map +1 -0
- package/dist/src/plugins/voice/VoicePlugin.d.ts +15 -0
- package/dist/src/plugins/voice/VoicePlugin.d.ts.map +1 -0
- package/dist/src/plugins/voice/VoicePlugin.js +54 -0
- package/dist/src/plugins/voice/VoicePlugin.js.map +1 -0
- package/dist/src/plugins/voice/index.d.ts +2 -0
- package/dist/src/plugins/voice/index.d.ts.map +1 -0
- package/dist/src/plugins/voice/index.js +2 -0
- package/dist/src/plugins/voice/index.js.map +1 -0
- package/dist/src/structures/DmChannel.d.ts +4 -0
- package/dist/src/structures/DmChannel.d.ts.map +1 -1
- package/dist/src/structures/DmChannel.js +6 -0
- package/dist/src/structures/DmChannel.js.map +1 -1
- package/dist/src/structures/GroupDmChannel.d.ts +4 -0
- package/dist/src/structures/GroupDmChannel.d.ts.map +1 -1
- package/dist/src/structures/GroupDmChannel.js +6 -0
- package/dist/src/structures/GroupDmChannel.js.map +1 -1
- package/dist/src/structures/GuildMember.d.ts +10 -5
- package/dist/src/structures/GuildMember.d.ts.map +1 -1
- package/dist/src/structures/GuildMember.js.map +1 -1
- package/dist/src/structures/User.d.ts +1 -1
- package/dist/src/structures/User.d.ts.map +1 -1
- package/dist/src/structures/User.js +3 -3
- package/dist/src/structures/User.js.map +1 -1
- package/dist/src/types/index.d.ts +54 -1
- 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 +4 -2
- package/dist/src/types/listeners.d.ts.map +1 -1
- package/dist/src/utils/LRUCache.d.ts +46 -0
- package/dist/src/utils/LRUCache.d.ts.map +1 -0
- package/dist/src/utils/LRUCache.js +78 -0
- package/dist/src/utils/LRUCache.js.map +1 -0
- package/dist/src/utils/customIdParser.d.ts.map +1 -1
- package/dist/src/utils/customIdParser.js +6 -2
- package/dist/src/utils/customIdParser.js.map +1 -1
- package/dist/src/utils/payload.d.ts.map +1 -1
- package/dist/src/utils/payload.js +2 -1
- package/dist/src/utils/payload.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +8 -7
- package/dist/src/classes/ApplicationManager.d.ts +0 -88
- package/dist/src/classes/ApplicationManager.d.ts.map +0 -1
- package/dist/src/classes/ApplicationManager.js +0 -179
- package/dist/src/classes/ApplicationManager.js.map +0 -1
- package/dist/src/classes/ClientWithCaching.d.ts +0 -51
- package/dist/src/classes/ClientWithCaching.d.ts.map +0 -1
- package/dist/src/classes/ClientWithCaching.js +0 -108
- package/dist/src/classes/ClientWithCaching.js.map +0 -1
- package/dist/src/classes/components/ModalChannelSelectMenu.d.ts +0 -62
- package/dist/src/classes/components/ModalChannelSelectMenu.d.ts.map +0 -1
- package/dist/src/classes/components/ModalChannelSelectMenu.js +0 -73
- package/dist/src/classes/components/ModalChannelSelectMenu.js.map +0 -1
- package/dist/src/classes/components/ModalMentionableSelectMenu.d.ts +0 -58
- package/dist/src/classes/components/ModalMentionableSelectMenu.d.ts.map +0 -1
- package/dist/src/classes/components/ModalMentionableSelectMenu.js +0 -68
- package/dist/src/classes/components/ModalMentionableSelectMenu.js.map +0 -1
- package/dist/src/classes/components/ModalRoleSelectMenu.d.ts +0 -58
- package/dist/src/classes/components/ModalRoleSelectMenu.d.ts.map +0 -1
- package/dist/src/classes/components/ModalRoleSelectMenu.js +0 -68
- package/dist/src/classes/components/ModalRoleSelectMenu.js.map +0 -1
- package/dist/src/classes/components/ModalStringSelectMenu.d.ts +0 -58
- package/dist/src/classes/components/ModalStringSelectMenu.d.ts.map +0 -1
- package/dist/src/classes/components/ModalStringSelectMenu.js +0 -64
- package/dist/src/classes/components/ModalStringSelectMenu.js.map +0 -1
- package/dist/src/classes/components/ModalUserSelectMenu.d.ts +0 -58
- package/dist/src/classes/components/ModalUserSelectMenu.d.ts.map +0 -1
- package/dist/src/classes/components/ModalUserSelectMenu.js +0 -68
- package/dist/src/classes/components/ModalUserSelectMenu.js.map +0 -1
- package/dist/src/internals/Cache.d.ts +0 -76
- package/dist/src/internals/Cache.d.ts.map +0 -1
- package/dist/src/internals/Cache.js +0 -122
- package/dist/src/internals/Cache.js.map +0 -1
- package/dist/src/plugins/multi-app/ApplicationManager.d.ts +0 -120
- package/dist/src/plugins/multi-app/ApplicationManager.d.ts.map +0 -1
- package/dist/src/plugins/multi-app/ApplicationManager.js +0 -207
- package/dist/src/plugins/multi-app/ApplicationManager.js.map +0 -1
- package/dist/src/plugins/multi-app/index.d.ts +0 -2
- package/dist/src/plugins/multi-app/index.d.ts.map +0 -1
- package/dist/src/plugins/multi-app/index.js +0 -2
- package/dist/src/plugins/multi-app/index.js.map +0 -1
package/dist/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@buape/carbon",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.14.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "./dist/src/index.js",
|
|
6
6
|
"repository": "github:buape/carbon",
|
|
@@ -25,15 +25,16 @@
|
|
|
25
25
|
},
|
|
26
26
|
"license": "MIT",
|
|
27
27
|
"dependencies": {
|
|
28
|
-
"@types/node": "^
|
|
29
|
-
"discord-api-types": "0.38.
|
|
28
|
+
"@types/node": "^25.0.9",
|
|
29
|
+
"discord-api-types": "0.38.37"
|
|
30
30
|
},
|
|
31
31
|
"optionalDependencies": {
|
|
32
|
-
"@cloudflare/workers-types": "4.
|
|
33
|
-
"@
|
|
34
|
-
"@
|
|
32
|
+
"@cloudflare/workers-types": "4.20260120.0",
|
|
33
|
+
"@discordjs/voice": "0.19.0",
|
|
34
|
+
"@hono/node-server": "1.19.9",
|
|
35
|
+
"@types/bun": "1.3.6",
|
|
35
36
|
"@types/ws": "8.18.1",
|
|
36
|
-
"ws": "8.
|
|
37
|
+
"ws": "8.19.0"
|
|
37
38
|
},
|
|
38
39
|
"files": [
|
|
39
40
|
"dist",
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import { ApplicationCommandType, type RESTPostAPIApplicationCommandsJSONBody } from "discord-api-types/v10";
|
|
2
|
+
import type { Client } from "../classes/Client.js";
|
|
2
3
|
import { ApplicationIntegrationType, type ArrayOrSingle, type BaseMessageInteractiveComponent, type ConditionalCommandOption, InteractionContextType, type Permission } from "../index.js";
|
|
3
4
|
/**
|
|
4
5
|
* Represents the base data of a command that the user creates
|
|
5
6
|
*/
|
|
6
7
|
export declare abstract class BaseCommand {
|
|
8
|
+
id?: string;
|
|
7
9
|
/**
|
|
8
10
|
* The name of the command (e.g. "ping" for /ping)
|
|
9
11
|
*/
|
|
@@ -69,5 +71,7 @@ export declare abstract class BaseCommand {
|
|
|
69
71
|
* @internal
|
|
70
72
|
*/
|
|
71
73
|
abstract serializeOptions(): RESTPostAPIApplicationCommandsJSONBody["options"];
|
|
74
|
+
getMention(client: Client): Promise<string>;
|
|
75
|
+
private findMatchingCommand;
|
|
72
76
|
}
|
|
73
77
|
//# sourceMappingURL=BaseCommand.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseCommand.d.ts","sourceRoot":"","sources":["../../../src/abstracts/BaseCommand.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"BaseCommand.d.ts","sourceRoot":"","sources":["../../../src/abstracts/BaseCommand.ts"],"names":[],"mappings":"AAAA,OAAO,EAEN,sBAAsB,EACtB,KAAK,sCAAsC,EAC3C,MAAM,uBAAuB,CAAA;AAC9B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAClD,OAAO,EACN,0BAA0B,EAC1B,KAAK,aAAa,EAClB,KAAK,+BAA+B,EACpC,KAAK,wBAAwB,EAC7B,sBAAsB,EACtB,KAAK,UAAU,EACf,MAAM,aAAa,CAAA;AAEpB;;GAEG;AACH,8BAAsB,WAAW;IAChC,EAAE,CAAC,EAAE,MAAM,CAAA;IACX;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB;;;OAGG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC1C;;;OAGG;IACH,wBAAwB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACjD;;;OAGG;IACH,KAAK,EAAE,OAAO,GAAG,wBAAwB,CAAQ;IACjD;;;OAGG;IACH,SAAS,EAAE,OAAO,GAAG,wBAAwB,CAAQ;IACrD;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,sBAAsB,CAAA;IACrC;;OAEG;IACH,gBAAgB,EAAE,0BAA0B,EAAE,CAG7C;IACD;;OAEG;IACH,QAAQ,EAAE,sBAAsB,EAAE,CAIjC;IAED;;;OAGG;IACH,UAAU,CAAC,EAAE,aAAa,CAAC,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,OAAO,UAAU,CAAC,CAAC,CAAA;IAExE;;;OAGG;IACH,UAAU,CAAC,EAAE,+BAA+B,EAAE,CAAA;IAE9C;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;IAEnB;;;OAGG;IACH,SAAS;IAyCT;;;OAGG;IACH,QAAQ,CAAC,gBAAgB,IAAI,sCAAsC,CAAC,SAAS,CAAC;IAExE,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IASjD,OAAO,CAAC,mBAAmB;CAU3B"}
|
|
@@ -4,6 +4,7 @@ import { ApplicationIntegrationType, InteractionContextType } from "../index.js"
|
|
|
4
4
|
* Represents the base data of a command that the user creates
|
|
5
5
|
*/
|
|
6
6
|
export class BaseCommand {
|
|
7
|
+
id;
|
|
7
8
|
/**
|
|
8
9
|
* A description of the command
|
|
9
10
|
*/
|
|
@@ -100,5 +101,27 @@ export class BaseCommand {
|
|
|
100
101
|
};
|
|
101
102
|
return data;
|
|
102
103
|
}
|
|
104
|
+
async getMention(client) {
|
|
105
|
+
if (this.id)
|
|
106
|
+
return `</${this.name}:${this.id}>`;
|
|
107
|
+
const commands = await client.getDiscordCommands();
|
|
108
|
+
const match = this.findMatchingCommand(commands);
|
|
109
|
+
if (!match)
|
|
110
|
+
return `/${this.name}`;
|
|
111
|
+
this.id = match.id;
|
|
112
|
+
return `</${this.name}:${this.id}>`;
|
|
113
|
+
}
|
|
114
|
+
findMatchingCommand(commands) {
|
|
115
|
+
return commands.find((cmd) => {
|
|
116
|
+
if (cmd.name !== this.name)
|
|
117
|
+
return false;
|
|
118
|
+
if (cmd.type !== this.type)
|
|
119
|
+
return false;
|
|
120
|
+
if (!cmd.guild_id) {
|
|
121
|
+
return !this.guildIds || this.guildIds.length === 0;
|
|
122
|
+
}
|
|
123
|
+
return this.guildIds?.includes(cmd.guild_id) ?? true;
|
|
124
|
+
});
|
|
125
|
+
}
|
|
103
126
|
}
|
|
104
127
|
//# sourceMappingURL=BaseCommand.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseCommand.js","sourceRoot":"","sources":["../../../src/abstracts/BaseCommand.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"BaseCommand.js","sourceRoot":"","sources":["../../../src/abstracts/BaseCommand.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { APIMessageComponent,
|
|
1
|
+
import type { APIMessageComponent, APIModalComponent2, ComponentType } from "discord-api-types/v10";
|
|
2
2
|
export declare abstract class BaseComponent {
|
|
3
3
|
/**
|
|
4
4
|
* The type of the component
|
|
@@ -15,6 +15,6 @@ export declare abstract class BaseComponent {
|
|
|
15
15
|
* Generation of ids won't use another id that exists in the message if you have one defined for another component.
|
|
16
16
|
*/
|
|
17
17
|
id?: number;
|
|
18
|
-
abstract serialize: () => APIMessageComponent |
|
|
18
|
+
abstract serialize: () => APIMessageComponent | APIModalComponent2;
|
|
19
19
|
}
|
|
20
20
|
//# sourceMappingURL=BaseComponent.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseComponent.d.ts","sourceRoot":"","sources":["../../../src/abstracts/BaseComponent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,mBAAmB,EACnB,
|
|
1
|
+
{"version":3,"file":"BaseComponent.d.ts","sourceRoot":"","sources":["../../../src/abstracts/BaseComponent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,mBAAmB,EACnB,kBAAkB,EAClB,aAAa,EACb,MAAM,uBAAuB,CAAA;AAE9B,8BAAsB,aAAa;IAClC;;OAEG;IACH,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,aAAa,GAAG,MAAM,CAAA;IAE9C;;OAEG;IACH,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;IAE/B;;;;;OAKG;IACH,EAAE,CAAC,EAAE,MAAM,CAAA;IAEX,QAAQ,CAAC,SAAS,EAAE,MAAM,mBAAmB,GAAG,kBAAkB,CAAA;CAClE"}
|
|
@@ -96,6 +96,10 @@ export declare abstract class BaseInteraction<T extends APIInteraction> extends
|
|
|
96
96
|
* The custom ID of the component that was pressed
|
|
97
97
|
*/
|
|
98
98
|
customId: string;
|
|
99
|
+
/**
|
|
100
|
+
* The message object returned by the interaction reply
|
|
101
|
+
*/
|
|
102
|
+
message: Message<false>;
|
|
99
103
|
/**
|
|
100
104
|
* If this is a select menu, this will be the values of the selected options
|
|
101
105
|
*/
|
|
@@ -105,10 +109,58 @@ export declare abstract class BaseInteraction<T extends APIInteraction> extends
|
|
|
105
109
|
* Whether the interaction was successful
|
|
106
110
|
*/
|
|
107
111
|
success: false;
|
|
112
|
+
/**
|
|
113
|
+
* The message object returned by the interaction reply
|
|
114
|
+
*/
|
|
115
|
+
message: Message<false>;
|
|
108
116
|
/**
|
|
109
117
|
* The reason the interaction failed
|
|
110
118
|
*/
|
|
111
119
|
reason: "timed out";
|
|
112
120
|
}>;
|
|
121
|
+
/**
|
|
122
|
+
* This function will edit to the interaction and wait for a component to be pressed.
|
|
123
|
+
* Any components passed in the message will not have run() functions called and
|
|
124
|
+
* will only trigger the interaction.acknowledge() function.
|
|
125
|
+
* This function will also return a promise that resolves
|
|
126
|
+
* to the custom ID of the component that was pressed.
|
|
127
|
+
*
|
|
128
|
+
* @param data The message data to send
|
|
129
|
+
* @param message The message to edit (defaults to the interaction's original message)
|
|
130
|
+
* @param {number} [timeout=300000] After this many milliseconds, the promise will resolve to null
|
|
131
|
+
*
|
|
132
|
+
* @returns Will return null if the interaction has not yet been replied to or if the message provided no longer exists
|
|
133
|
+
*/
|
|
134
|
+
editAndWaitForComponent(data: MessagePayload, message?: Message, timeout?: number): Promise<{
|
|
135
|
+
/**
|
|
136
|
+
* Whether the interaction was successful
|
|
137
|
+
*/
|
|
138
|
+
success: true;
|
|
139
|
+
/**
|
|
140
|
+
* The custom ID of the component that was pressed
|
|
141
|
+
*/
|
|
142
|
+
customId: string;
|
|
143
|
+
/**
|
|
144
|
+
* The message object returned by the interaction reply
|
|
145
|
+
*/
|
|
146
|
+
message: Message<false>;
|
|
147
|
+
/**
|
|
148
|
+
* If this is a select menu, this will be the values of the selected options
|
|
149
|
+
*/
|
|
150
|
+
values?: string[];
|
|
151
|
+
} | {
|
|
152
|
+
/**
|
|
153
|
+
* Whether the interaction was successful
|
|
154
|
+
*/
|
|
155
|
+
success: false;
|
|
156
|
+
/**
|
|
157
|
+
* The message object returned by the interaction reply
|
|
158
|
+
*/
|
|
159
|
+
message: Message<false>;
|
|
160
|
+
/**
|
|
161
|
+
* The reason the interaction failed
|
|
162
|
+
*/
|
|
163
|
+
reason: "timed out";
|
|
164
|
+
} | null>;
|
|
113
165
|
}
|
|
114
166
|
//# sourceMappingURL=BaseInteraction.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseInteraction.d.ts","sourceRoot":"","sources":["../../../src/abstracts/BaseInteraction.ts"],"names":[],"mappings":"AAAA,OAAO,EAEN,KAAK,cAAc,EAGnB,KAAK,eAAe,EAOpB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAEN,KAAK,MAAM,EAGX,KAAK,EACL,KAAK,EACL,OAAO,EACP,KAAK,KAAK,EAGV,IAAI,EACJ,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAA;AAC1D,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"BaseInteraction.d.ts","sourceRoot":"","sources":["../../../src/abstracts/BaseInteraction.ts"],"names":[],"mappings":"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"}
|
|
@@ -93,8 +93,7 @@ export class BaseInteraction extends Base {
|
|
|
93
93
|
for (const childComponent of component.components) {
|
|
94
94
|
if (childComponent instanceof BaseMessageInteractiveComponent) {
|
|
95
95
|
const key = childComponent.customIdParser(childComponent.customId).key;
|
|
96
|
-
|
|
97
|
-
if (!existingComponent) {
|
|
96
|
+
if (!this.client.componentHandler.hasComponentWithKey(key)) {
|
|
98
97
|
this.client.componentHandler.registerComponent(childComponent);
|
|
99
98
|
}
|
|
100
99
|
}
|
|
@@ -103,8 +102,7 @@ export class BaseInteraction extends Base {
|
|
|
103
102
|
else if (component instanceof Section) {
|
|
104
103
|
if (component.accessory instanceof BaseMessageInteractiveComponent) {
|
|
105
104
|
const key = component.accessory.customIdParser(component.accessory.customId).key;
|
|
106
|
-
|
|
107
|
-
if (!existingComponent) {
|
|
105
|
+
if (!this.client.componentHandler.hasComponentWithKey(key)) {
|
|
108
106
|
this.client.componentHandler.registerComponent(component.accessory);
|
|
109
107
|
}
|
|
110
108
|
}
|
|
@@ -217,7 +215,7 @@ export class BaseInteraction extends Base {
|
|
|
217
215
|
return new Promise((resolve) => {
|
|
218
216
|
const timer = setTimeout(() => {
|
|
219
217
|
this.client.componentHandler.oneOffComponents.delete(id);
|
|
220
|
-
resolve({ success: false, reason: "timed out" });
|
|
218
|
+
resolve({ success: false, message, reason: "timed out" });
|
|
221
219
|
}, timeout);
|
|
222
220
|
this.client.componentHandler.oneOffComponents.set(id, {
|
|
223
221
|
resolve: (data) => {
|
|
@@ -226,6 +224,46 @@ export class BaseInteraction extends Base {
|
|
|
226
224
|
resolve({
|
|
227
225
|
success: true,
|
|
228
226
|
customId: data.custom_id,
|
|
227
|
+
message,
|
|
228
|
+
values: "values" in data ? data.values : undefined
|
|
229
|
+
});
|
|
230
|
+
}
|
|
231
|
+
});
|
|
232
|
+
});
|
|
233
|
+
}
|
|
234
|
+
/**
|
|
235
|
+
* This function will edit to the interaction and wait for a component to be pressed.
|
|
236
|
+
* Any components passed in the message will not have run() functions called and
|
|
237
|
+
* will only trigger the interaction.acknowledge() function.
|
|
238
|
+
* This function will also return a promise that resolves
|
|
239
|
+
* to the custom ID of the component that was pressed.
|
|
240
|
+
*
|
|
241
|
+
* @param data The message data to send
|
|
242
|
+
* @param message The message to edit (defaults to the interaction's original message)
|
|
243
|
+
* @param {number} [timeout=300000] After this many milliseconds, the promise will resolve to null
|
|
244
|
+
*
|
|
245
|
+
* @returns Will return null if the interaction has not yet been replied to or if the message provided no longer exists
|
|
246
|
+
*/
|
|
247
|
+
async editAndWaitForComponent(data, message, timeout = 300000) {
|
|
248
|
+
const editedMessage = message
|
|
249
|
+
? await message.edit(data)
|
|
250
|
+
: await this.message?.edit(data);
|
|
251
|
+
if (!editedMessage)
|
|
252
|
+
return null;
|
|
253
|
+
const id = `${editedMessage.id}-${editedMessage.channelId}`;
|
|
254
|
+
return new Promise((resolve) => {
|
|
255
|
+
const timer = setTimeout(() => {
|
|
256
|
+
this.client.componentHandler.oneOffComponents.delete(id);
|
|
257
|
+
resolve({ success: false, message: editedMessage, reason: "timed out" });
|
|
258
|
+
}, timeout);
|
|
259
|
+
this.client.componentHandler.oneOffComponents.set(id, {
|
|
260
|
+
resolve: (data) => {
|
|
261
|
+
clearTimeout(timer);
|
|
262
|
+
this.client.componentHandler.oneOffComponents.delete(id);
|
|
263
|
+
resolve({
|
|
264
|
+
success: true,
|
|
265
|
+
customId: data.custom_id,
|
|
266
|
+
message: editedMessage,
|
|
229
267
|
values: "values" in data ? data.values : undefined
|
|
230
268
|
});
|
|
231
269
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseInteraction.js","sourceRoot":"","sources":["../../../src/abstracts/BaseInteraction.ts"],"names":[],"mappings":"AAAA,OAAO,EAIN,uBAAuB,EAEvB,YAAY,EAKZ,MAAM,EACN,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EACN,+BAA+B,EAE/B,SAAS,EACT,cAAc,EACd,KAAK,EACL,KAAK,EACL,OAAO,EAEP,GAAG,EACH,OAAO,EACP,IAAI,EACJ,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAA;
|
|
1
|
+
{"version":3,"file":"BaseInteraction.js","sourceRoot":"","sources":["../../../src/abstracts/BaseInteraction.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,16 +1,9 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { APICheckboxActionComponent, APICheckboxGroupActionComponent, APIFileUploadComponent, APIRadioGroupActionComponent, APITextInputComponent, ComponentType } from "discord-api-types/v10";
|
|
2
|
+
import type { APILabelComponent2 } from "../types/index.js";
|
|
2
3
|
import { BaseComponent } from "./BaseComponent.js";
|
|
3
|
-
export type APIFileUploadComponent = {
|
|
4
|
-
type: 19;
|
|
5
|
-
id?: number;
|
|
6
|
-
custom_id: string;
|
|
7
|
-
min_values?: number;
|
|
8
|
-
max_values?: number;
|
|
9
|
-
required?: boolean;
|
|
10
|
-
};
|
|
11
4
|
export declare abstract class BaseModalComponent extends BaseComponent {
|
|
12
5
|
abstract type: ComponentType;
|
|
13
6
|
readonly isV2 = true;
|
|
14
|
-
abstract serialize: () => APITextInputComponent |
|
|
7
|
+
abstract serialize: () => APITextInputComponent | APILabelComponent2 | APIFileUploadComponent | APICheckboxGroupActionComponent | APICheckboxActionComponent | APIRadioGroupActionComponent;
|
|
15
8
|
}
|
|
16
9
|
//# sourceMappingURL=BaseModalComponent.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseModalComponent.d.ts","sourceRoot":"","sources":["../../../src/abstracts/BaseModalComponent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,
|
|
1
|
+
{"version":3,"file":"BaseModalComponent.d.ts","sourceRoot":"","sources":["../../../src/abstracts/BaseModalComponent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,0BAA0B,EAC1B,+BAA+B,EAC/B,sBAAsB,EACtB,4BAA4B,EAC5B,qBAAqB,EACrB,aAAa,EACb,MAAM,uBAAuB,CAAA;AAC9B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAElD,8BAAsB,kBAAmB,SAAQ,aAAa;IAC7D,SAAkB,IAAI,EAAE,aAAa,CAAA;IAErC,QAAQ,CAAC,IAAI,QAAO;IAEpB,QAAQ,CAAC,SAAS,EAAE,MACjB,qBAAqB,GACrB,kBAAkB,GAClB,sBAAsB,GACtB,+BAA+B,GAC/B,0BAA0B,GAC1B,4BAA4B,CAAA;CAC/B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseModalComponent.js","sourceRoot":"","sources":["../../../src/abstracts/BaseModalComponent.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"BaseModalComponent.js","sourceRoot":"","sources":["../../../src/abstracts/BaseModalComponent.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAElD,MAAM,OAAgB,kBAAmB,SAAQ,aAAa;IAGpD,IAAI,GAAG,IAAI,CAAA;CASpB"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import Bun from "bun";
|
|
2
2
|
import type { Client } from "../../index.js";
|
|
3
3
|
import type { ClientManager } from "../../plugins/client-manager/ClientManager.js";
|
|
4
|
-
export type Server = Bun.
|
|
5
|
-
export type ServerOptions =
|
|
4
|
+
export type Server = ReturnType<typeof Bun.serve>;
|
|
5
|
+
export type ServerOptions = Parameters<typeof Bun.serve>[0];
|
|
6
6
|
/**
|
|
7
7
|
* Creates a server for the client or client manager using Bun.serve
|
|
8
8
|
* @param client The Carbon client or client manager to create the server for
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/adapters/bun/index.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,KAAK,CAAA;AACrB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAC5C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,+CAA+C,CAAA;AAGlF,MAAM,MAAM,MAAM,GAAG,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/adapters/bun/index.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,KAAK,CAAA;AACrB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAC5C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,+CAA+C,CAAA;AAGlF,MAAM,MAAM,MAAM,GAAG,UAAU,CAAC,OAAO,GAAG,CAAC,KAAK,CAAC,CAAA;AACjD,MAAM,MAAM,aAAa,GAAG,UAAU,CAAC,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;AAE3D;;;;;GAKG;AACH,wBAAgB,YAAY,CAC3B,MAAM,EAAE,MAAM,GAAG,aAAa,EAC9B,OAAO,EAAE,aAAa,GACpB,MAAM,CAMR"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type APIInteraction } from "discord-api-types/v10";
|
|
1
|
+
import { type APIApplicationCommand, type APIInteraction } from "discord-api-types/v10";
|
|
2
2
|
import type { BaseCommand } from "../abstracts/BaseCommand.js";
|
|
3
3
|
import type { BaseListener } from "../abstracts/BaseListener.js";
|
|
4
4
|
import type { BaseMessageInteractiveComponent } from "../abstracts/BaseMessageInteractiveComponent.js";
|
|
@@ -7,13 +7,16 @@ import { CommandHandler } from "../internals/CommandHandler.js";
|
|
|
7
7
|
import { ComponentHandler } from "../internals/ComponentHandler.js";
|
|
8
8
|
import { EmojiHandler } from "../internals/EmojiHandler.js";
|
|
9
9
|
import { EventHandler } from "../internals/EventHandler.js";
|
|
10
|
+
import type { EventQueueOptions } from "../internals/EventQueue.js";
|
|
10
11
|
import { ModalHandler } from "../internals/ModalHandler.js";
|
|
12
|
+
import { TemporaryListenerManager } from "../internals/TemporaryListenerManager.js";
|
|
11
13
|
import { Guild } from "../structures/Guild.js";
|
|
12
14
|
import { GuildMember } from "../structures/GuildMember.js";
|
|
13
15
|
import { Message } from "../structures/Message.js";
|
|
14
16
|
import { Role } from "../structures/Role.js";
|
|
15
17
|
import { User } from "../structures/User.js";
|
|
16
18
|
import { Webhook, type WebhookInput } from "../structures/Webhook.js";
|
|
19
|
+
import type { Modal } from "./Modal.js";
|
|
17
20
|
import { RequestClient, type RequestClientOptions } from "./RequestClient.js";
|
|
18
21
|
/**
|
|
19
22
|
* The options used for initializing the client
|
|
@@ -69,6 +72,10 @@ export interface ClientOptions {
|
|
|
69
72
|
* If set, all commands will be deployed to these guilds instead of globally.
|
|
70
73
|
*/
|
|
71
74
|
devGuilds?: string[];
|
|
75
|
+
/**
|
|
76
|
+
* Configuration for the event queue worker pool
|
|
77
|
+
*/
|
|
78
|
+
eventQueue?: EventQueueOptions;
|
|
72
79
|
}
|
|
73
80
|
/**
|
|
74
81
|
* The main client used to interact with Discord
|
|
@@ -97,10 +104,6 @@ export declare class Client {
|
|
|
97
104
|
* The event listeners that the client has registered
|
|
98
105
|
*/
|
|
99
106
|
listeners: BaseListener[];
|
|
100
|
-
/**
|
|
101
|
-
* The components that the client has globally registered
|
|
102
|
-
*/
|
|
103
|
-
components: BaseMessageInteractiveComponent[];
|
|
104
107
|
/**
|
|
105
108
|
* The rest client used to interact with the Discord API
|
|
106
109
|
*/
|
|
@@ -125,10 +128,15 @@ export declare class Client {
|
|
|
125
128
|
* @internal
|
|
126
129
|
*/
|
|
127
130
|
eventHandler: EventHandler;
|
|
131
|
+
/**
|
|
132
|
+
* The manager for temporary event listeners with automatic cleanup
|
|
133
|
+
*/
|
|
134
|
+
temporaryListeners: TemporaryListenerManager;
|
|
128
135
|
/**
|
|
129
136
|
* The handler for application emojis for this application
|
|
130
137
|
*/
|
|
131
138
|
emoji: EmojiHandler;
|
|
139
|
+
private cachedGlobalCommands;
|
|
132
140
|
/**
|
|
133
141
|
* The ID of the shard this client is running on, if sharding is enabled
|
|
134
142
|
*/
|
|
@@ -147,6 +155,7 @@ export declare class Client {
|
|
|
147
155
|
commands?: BaseCommand[];
|
|
148
156
|
listeners?: BaseListener[];
|
|
149
157
|
components?: BaseMessageInteractiveComponent[];
|
|
158
|
+
modals?: Modal[];
|
|
150
159
|
}, plugins?: Plugin[]);
|
|
151
160
|
getPlugin<T extends Plugin>(id: string): T | undefined;
|
|
152
161
|
private appendRoutes;
|
|
@@ -225,6 +234,8 @@ export declare class Client {
|
|
|
225
234
|
* @returns The webhook data
|
|
226
235
|
*/
|
|
227
236
|
fetchWebhook(input: WebhookInput): Promise<Webhook<false>>;
|
|
237
|
+
getDiscordCommands(force?: boolean): Promise<APIApplicationCommand[]>;
|
|
238
|
+
private updateCommandIdsFromDeployment;
|
|
228
239
|
}
|
|
229
240
|
/**
|
|
230
241
|
* @hidden
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Client.d.ts","sourceRoot":"","sources":["../../../src/classes/Client.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"Client.d.ts","sourceRoot":"","sources":["../../../src/classes/Client.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,7 @@ import { ComponentHandler } from "../internals/ComponentHandler.js";
|
|
|
5
5
|
import { EmojiHandler } from "../internals/EmojiHandler.js";
|
|
6
6
|
import { EventHandler } from "../internals/EventHandler.js";
|
|
7
7
|
import { ModalHandler } from "../internals/ModalHandler.js";
|
|
8
|
+
import { TemporaryListenerManager } from "../internals/TemporaryListenerManager.js";
|
|
8
9
|
import { Guild } from "../structures/Guild.js";
|
|
9
10
|
import { GuildMember } from "../structures/GuildMember.js";
|
|
10
11
|
import { Message } from "../structures/Message.js";
|
|
@@ -37,10 +38,6 @@ export class Client {
|
|
|
37
38
|
* The event listeners that the client has registered
|
|
38
39
|
*/
|
|
39
40
|
listeners = [];
|
|
40
|
-
/**
|
|
41
|
-
* The components that the client has globally registered
|
|
42
|
-
*/
|
|
43
|
-
components = [];
|
|
44
41
|
/**
|
|
45
42
|
* The rest client used to interact with the Discord API
|
|
46
43
|
*/
|
|
@@ -65,10 +62,15 @@ export class Client {
|
|
|
65
62
|
* @internal
|
|
66
63
|
*/
|
|
67
64
|
eventHandler;
|
|
65
|
+
/**
|
|
66
|
+
* The manager for temporary event listeners with automatic cleanup
|
|
67
|
+
*/
|
|
68
|
+
temporaryListeners;
|
|
68
69
|
/**
|
|
69
70
|
* The handler for application emojis for this application
|
|
70
71
|
*/
|
|
71
72
|
emoji;
|
|
73
|
+
cachedGlobalCommands = null;
|
|
72
74
|
/**
|
|
73
75
|
* The ID of the shard this client is running on, if sharding is enabled
|
|
74
76
|
*/
|
|
@@ -95,15 +97,15 @@ export class Client {
|
|
|
95
97
|
this.options = options;
|
|
96
98
|
this.commands = handlers.commands ?? [];
|
|
97
99
|
this.listeners = handlers.listeners ?? [];
|
|
98
|
-
this.components = handlers.components ?? [];
|
|
99
100
|
// Remove trailing slashes from the base URL
|
|
100
101
|
options.baseUrl = options.baseUrl.replace(/\/+$/, "");
|
|
101
102
|
this.commandHandler = new CommandHandler(this);
|
|
102
103
|
this.componentHandler = new ComponentHandler(this);
|
|
103
104
|
this.modalHandler = new ModalHandler(this);
|
|
104
105
|
this.eventHandler = new EventHandler(this);
|
|
106
|
+
this.temporaryListeners = new TemporaryListenerManager(this);
|
|
105
107
|
this.emoji = new EmojiHandler(this);
|
|
106
|
-
for (const component of
|
|
108
|
+
for (const component of handlers.components ?? []) {
|
|
107
109
|
this.componentHandler.registerComponent(component);
|
|
108
110
|
}
|
|
109
111
|
for (const command of this.commands) {
|
|
@@ -111,6 +113,9 @@ export class Client {
|
|
|
111
113
|
this.componentHandler.registerComponent(component);
|
|
112
114
|
}
|
|
113
115
|
}
|
|
116
|
+
for (const modal of handlers.modals ?? []) {
|
|
117
|
+
this.modalHandler.registerModal(modal);
|
|
118
|
+
}
|
|
114
119
|
this.rest = new RequestClient(options.token, options.requestOptions);
|
|
115
120
|
this.appendRoutes();
|
|
116
121
|
for (const plugin of plugins) {
|
|
@@ -166,19 +171,23 @@ export class Client {
|
|
|
166
171
|
// If devGuilds is set, deploy all commands to those guilds (for development)
|
|
167
172
|
if (this.options.devGuilds && this.options.devGuilds.length > 0) {
|
|
168
173
|
for (const guildId of this.options.devGuilds) {
|
|
169
|
-
await this.rest.put(Routes.applicationGuildCommands(this.options.clientId, guildId), { body: commands.map((c) => c.serialize()) });
|
|
174
|
+
const deployed = (await this.rest.put(Routes.applicationGuildCommands(this.options.clientId, guildId), { body: commands.map((c) => c.serialize()) }));
|
|
175
|
+
this.updateCommandIdsFromDeployment(deployed);
|
|
170
176
|
}
|
|
171
177
|
return new Response("OK (devGuilds)", { status: 202 });
|
|
172
178
|
}
|
|
173
179
|
// Deploy guild-specific commands
|
|
174
180
|
for (const [guildId, cmds] of Object.entries(guildCommandsMap)) {
|
|
175
|
-
await this.rest.put(Routes.applicationGuildCommands(this.options.clientId, guildId), { body: cmds });
|
|
181
|
+
const deployed = (await this.rest.put(Routes.applicationGuildCommands(this.options.clientId, guildId), { body: cmds }));
|
|
182
|
+
this.updateCommandIdsFromDeployment(deployed);
|
|
176
183
|
}
|
|
177
184
|
// Deploy global commands
|
|
178
185
|
if (globalCommands.length > 0) {
|
|
179
|
-
await this.rest.put(Routes.applicationCommands(this.options.clientId), {
|
|
186
|
+
const deployed = (await this.rest.put(Routes.applicationCommands(this.options.clientId), {
|
|
180
187
|
body: globalCommands.map((c) => c.serialize())
|
|
181
|
-
});
|
|
188
|
+
}));
|
|
189
|
+
this.updateCommandIdsFromDeployment(deployed);
|
|
190
|
+
this.cachedGlobalCommands = deployed;
|
|
182
191
|
}
|
|
183
192
|
return new Response("OK", { status: 202 });
|
|
184
193
|
}
|
|
@@ -192,10 +201,12 @@ export class Client {
|
|
|
192
201
|
if (!isValid)
|
|
193
202
|
return new Response("Unauthorized", { status: 401 });
|
|
194
203
|
const payload = (await req.json());
|
|
195
|
-
// All ping webhooks should respond with 204 and an empty body
|
|
196
204
|
if (payload.type === ApplicationWebhookType.Ping)
|
|
197
205
|
return new Response(null, { status: 204 });
|
|
198
|
-
this.eventHandler.handleEvent({ ...payload.event.data, clientId: this.options.clientId }, payload.event.type);
|
|
206
|
+
const enqueued = this.eventHandler.handleEvent({ ...payload.event.data, clientId: this.options.clientId }, payload.event.type);
|
|
207
|
+
if (!enqueued) {
|
|
208
|
+
return new Response("Event queue full, retry later", { status: 429 });
|
|
209
|
+
}
|
|
199
210
|
return new Response(null, { status: 204 });
|
|
200
211
|
}
|
|
201
212
|
/**
|
|
@@ -367,5 +378,33 @@ export class Client {
|
|
|
367
378
|
const webhook = new Webhook(input);
|
|
368
379
|
return webhook.fetch();
|
|
369
380
|
}
|
|
381
|
+
async getDiscordCommands(force = false) {
|
|
382
|
+
if (!force && this.cachedGlobalCommands) {
|
|
383
|
+
return this.cachedGlobalCommands;
|
|
384
|
+
}
|
|
385
|
+
const commands = (await this.rest.get(Routes.applicationCommands(this.options.clientId)));
|
|
386
|
+
this.cachedGlobalCommands = commands;
|
|
387
|
+
this.updateCommandIdsFromDeployment(commands);
|
|
388
|
+
return commands;
|
|
389
|
+
}
|
|
390
|
+
updateCommandIdsFromDeployment(commands) {
|
|
391
|
+
for (const deployed of commands) {
|
|
392
|
+
const match = this.commands.find((command) => {
|
|
393
|
+
if (command.name !== deployed.name)
|
|
394
|
+
return false;
|
|
395
|
+
if (command.type !== deployed.type)
|
|
396
|
+
return false;
|
|
397
|
+
if (deployed.guild_id) {
|
|
398
|
+
if (!command.guildIds || command.guildIds.length === 0)
|
|
399
|
+
return true;
|
|
400
|
+
return command.guildIds.includes(deployed.guild_id);
|
|
401
|
+
}
|
|
402
|
+
return !command.guildIds || command.guildIds.length === 0;
|
|
403
|
+
});
|
|
404
|
+
if (match) {
|
|
405
|
+
match.id = deployed.id;
|
|
406
|
+
}
|
|
407
|
+
}
|
|
408
|
+
}
|
|
370
409
|
}
|
|
371
410
|
//# sourceMappingURL=Client.js.map
|