@buape/carbon 0.9.0 → 0.11.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 +5 -5
- package/dist/src/abstracts/AnySelectMenu.d.ts +1 -0
- package/dist/src/abstracts/AnySelectMenu.d.ts.map +1 -1
- package/dist/src/abstracts/AnySelectMenu.js +11 -3
- package/dist/src/abstracts/AnySelectMenu.js.map +1 -1
- package/dist/src/abstracts/BaseChannel.d.ts +7 -1
- package/dist/src/abstracts/BaseChannel.d.ts.map +1 -1
- package/dist/src/abstracts/BaseChannel.js +18 -10
- package/dist/src/abstracts/BaseChannel.js.map +1 -1
- package/dist/src/abstracts/BaseCommand.d.ts +7 -5
- package/dist/src/abstracts/BaseCommand.d.ts.map +1 -1
- package/dist/src/abstracts/BaseCommand.js +4 -2
- package/dist/src/abstracts/BaseCommand.js.map +1 -1
- package/dist/src/abstracts/BaseComponent.d.ts +1 -1
- package/dist/src/abstracts/BaseComponent.d.ts.map +1 -1
- package/dist/src/abstracts/BaseComponentInteraction.d.ts.map +1 -1
- package/dist/src/abstracts/BaseComponentInteraction.js +2 -0
- package/dist/src/abstracts/BaseComponentInteraction.js.map +1 -1
- package/dist/src/abstracts/BaseGuildChannel.d.ts +0 -9
- package/dist/src/abstracts/BaseGuildChannel.d.ts.map +1 -1
- package/dist/src/abstracts/BaseGuildChannel.js +0 -20
- package/dist/src/abstracts/BaseGuildChannel.js.map +1 -1
- package/dist/src/abstracts/BaseGuildTextChannel.d.ts +10 -3
- package/dist/src/abstracts/BaseGuildTextChannel.d.ts.map +1 -1
- package/dist/src/abstracts/BaseGuildTextChannel.js +16 -4
- package/dist/src/abstracts/BaseGuildTextChannel.js.map +1 -1
- package/dist/src/abstracts/BaseInteraction.d.ts +13 -4
- package/dist/src/abstracts/BaseInteraction.d.ts.map +1 -1
- package/dist/src/abstracts/BaseInteraction.js +36 -23
- package/dist/src/abstracts/BaseInteraction.js.map +1 -1
- package/dist/src/abstracts/BaseMessageInteractiveComponent.d.ts +7 -5
- package/dist/src/abstracts/BaseMessageInteractiveComponent.d.ts.map +1 -1
- package/dist/src/abstracts/BaseMessageInteractiveComponent.js +4 -2
- package/dist/src/abstracts/BaseMessageInteractiveComponent.js.map +1 -1
- package/dist/src/abstracts/BaseModalComponent.d.ts +3 -24
- package/dist/src/abstracts/BaseModalComponent.d.ts.map +1 -1
- package/dist/src/abstracts/BaseModalComponent.js +0 -28
- package/dist/src/abstracts/BaseModalComponent.js.map +1 -1
- package/dist/src/abstracts/GuildThreadOnlyChannel.d.ts +16 -1
- package/dist/src/abstracts/GuildThreadOnlyChannel.d.ts.map +1 -1
- package/dist/src/abstracts/GuildThreadOnlyChannel.js +33 -0
- package/dist/src/abstracts/GuildThreadOnlyChannel.js.map +1 -1
- package/dist/src/classes/Client.d.ts +7 -4
- package/dist/src/classes/Client.d.ts.map +1 -1
- package/dist/src/classes/Client.js +15 -4
- package/dist/src/classes/Client.js.map +1 -1
- package/dist/src/classes/ClientWithCaching.d.ts +51 -0
- package/dist/src/classes/ClientWithCaching.d.ts.map +1 -0
- package/dist/src/classes/ClientWithCaching.js +108 -0
- package/dist/src/classes/ClientWithCaching.js.map +1 -0
- package/dist/src/classes/Command.d.ts +4 -1
- package/dist/src/classes/Command.d.ts.map +1 -1
- package/dist/src/classes/Command.js +12 -1
- package/dist/src/classes/Command.js.map +1 -1
- package/dist/src/classes/Listener.d.ts.map +1 -1
- package/dist/src/classes/Listener.js +1 -1
- package/dist/src/classes/Listener.js.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 +1 -1
- package/dist/src/classes/Modal.js.map +1 -1
- package/dist/src/classes/components/Container.d.ts +2 -1
- package/dist/src/classes/components/Container.d.ts.map +1 -1
- package/dist/src/classes/components/Container.js.map +1 -1
- package/dist/src/classes/components/Label.d.ts +27 -0
- package/dist/src/classes/components/Label.d.ts.map +1 -0
- package/dist/src/classes/components/Label.js +32 -0
- package/dist/src/classes/components/Label.js.map +1 -0
- package/dist/src/classes/components/ModalStringSelectMenu.d.ts +10 -0
- package/dist/src/classes/components/ModalStringSelectMenu.d.ts.map +1 -0
- package/dist/src/classes/components/ModalStringSelectMenu.js +15 -0
- package/dist/src/classes/components/ModalStringSelectMenu.js.map +1 -0
- package/dist/src/classes/components/Row.d.ts +3 -4
- package/dist/src/classes/components/Row.d.ts.map +1 -1
- package/dist/src/classes/components/Row.js +0 -1
- package/dist/src/classes/components/Row.js.map +1 -1
- package/dist/src/classes/components/TextInput.d.ts +17 -4
- package/dist/src/classes/components/TextInput.d.ts.map +1 -1
- package/dist/src/classes/components/TextInput.js +14 -1
- package/dist/src/classes/components/TextInput.js.map +1 -1
- package/dist/src/functions/channelFactory.d.ts +2 -2
- package/dist/src/functions/channelFactory.d.ts.map +1 -1
- package/dist/src/index.d.ts +5 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +6 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/internals/Cache.d.ts +76 -0
- package/dist/src/internals/Cache.d.ts.map +1 -0
- package/dist/src/internals/Cache.js +122 -0
- package/dist/src/internals/Cache.js.map +1 -0
- package/dist/src/internals/CommandHandler.d.ts +1 -0
- package/dist/src/internals/CommandHandler.d.ts.map +1 -1
- package/dist/src/internals/CommandHandler.js +45 -13
- package/dist/src/internals/CommandHandler.js.map +1 -1
- package/dist/src/internals/ComponentHandler.d.ts.map +1 -1
- package/dist/src/internals/ComponentHandler.js +84 -12
- package/dist/src/internals/ComponentHandler.js.map +1 -1
- package/dist/src/internals/FieldsHandler.d.ts +10 -2
- package/dist/src/internals/FieldsHandler.d.ts.map +1 -1
- package/dist/src/internals/FieldsHandler.js +32 -7
- package/dist/src/internals/FieldsHandler.js.map +1 -1
- package/dist/src/internals/OptionsHandler.d.ts.map +1 -1
- package/dist/src/internals/OptionsHandler.js +12 -4
- package/dist/src/internals/OptionsHandler.js.map +1 -1
- package/dist/src/permissions.d.ts +1 -0
- package/dist/src/permissions.d.ts.map +1 -1
- package/dist/src/plugins/gateway/GatewayPlugin.d.ts +46 -2
- package/dist/src/plugins/gateway/GatewayPlugin.d.ts.map +1 -1
- package/dist/src/plugins/gateway/GatewayPlugin.js +120 -6
- package/dist/src/plugins/gateway/GatewayPlugin.js.map +1 -1
- package/dist/src/plugins/gateway/types.d.ts +58 -0
- package/dist/src/plugins/gateway/types.d.ts.map +1 -1
- package/dist/src/plugins/gateway/types.js.map +1 -1
- package/dist/src/plugins/gateway/utils/payload.d.ts +7 -5
- package/dist/src/plugins/gateway/utils/payload.d.ts.map +1 -1
- package/dist/src/plugins/gateway/utils/payload.js +18 -0
- package/dist/src/plugins/gateway/utils/payload.js.map +1 -1
- package/dist/src/plugins/gateway/utils/rateLimit.d.ts +41 -0
- package/dist/src/plugins/gateway/utils/rateLimit.d.ts.map +1 -0
- package/dist/src/plugins/gateway/utils/rateLimit.js +61 -0
- package/dist/src/plugins/gateway/utils/rateLimit.js.map +1 -0
- package/dist/src/plugins/gateway-forwarder/ShardedGatewayForwarderPlugin.d.ts +1 -0
- package/dist/src/plugins/gateway-forwarder/ShardedGatewayForwarderPlugin.d.ts.map +1 -1
- package/dist/src/plugins/gateway-forwarder/ShardedGatewayForwarderPlugin.js +1 -0
- package/dist/src/plugins/gateway-forwarder/ShardedGatewayForwarderPlugin.js.map +1 -1
- package/dist/src/plugins/paginator/GoToPageModal.d.ts +18 -0
- package/dist/src/plugins/paginator/GoToPageModal.d.ts.map +1 -0
- package/dist/src/plugins/paginator/GoToPageModal.js +56 -0
- package/dist/src/plugins/paginator/GoToPageModal.js.map +1 -0
- package/dist/src/plugins/paginator/Paginator.d.ts +2 -0
- package/dist/src/plugins/paginator/Paginator.d.ts.map +1 -1
- package/dist/src/plugins/paginator/Paginator.js +40 -12
- package/dist/src/plugins/paginator/Paginator.js.map +1 -1
- package/dist/src/plugins/paginator/index.d.ts +2 -1
- package/dist/src/plugins/paginator/index.d.ts.map +1 -1
- package/dist/src/plugins/paginator/index.js +2 -1
- package/dist/src/plugins/paginator/index.js.map +1 -1
- package/dist/src/plugins/sharding/ShardingPlugin.d.ts +2 -1
- package/dist/src/plugins/sharding/ShardingPlugin.d.ts.map +1 -1
- package/dist/src/plugins/sharding/ShardingPlugin.js +9 -1
- package/dist/src/plugins/sharding/ShardingPlugin.js.map +1 -1
- package/dist/src/structures/DmChannel.d.ts +1 -2
- package/dist/src/structures/DmChannel.d.ts.map +1 -1
- package/dist/src/structures/DmChannel.js.map +1 -1
- package/dist/src/structures/GroupDmChannel.d.ts +1 -2
- package/dist/src/structures/GroupDmChannel.d.ts.map +1 -1
- package/dist/src/structures/GroupDmChannel.js.map +1 -1
- package/dist/src/structures/Guild.d.ts +6 -2
- package/dist/src/structures/Guild.d.ts.map +1 -1
- package/dist/src/structures/Guild.js +102 -94
- package/dist/src/structures/Guild.js.map +1 -1
- package/dist/src/structures/GuildAnnouncementChannel.d.ts +10 -0
- package/dist/src/structures/GuildAnnouncementChannel.d.ts.map +1 -1
- package/dist/src/structures/GuildAnnouncementChannel.js +20 -0
- package/dist/src/structures/GuildAnnouncementChannel.js.map +1 -1
- package/dist/src/structures/GuildCategoryChannel.d.ts +11 -1
- package/dist/src/structures/GuildCategoryChannel.d.ts.map +1 -1
- package/dist/src/structures/GuildCategoryChannel.js +21 -0
- package/dist/src/structures/GuildCategoryChannel.js.map +1 -1
- package/dist/src/structures/GuildMember.d.ts +6 -2
- package/dist/src/structures/GuildMember.d.ts.map +1 -1
- package/dist/src/structures/GuildMember.js +35 -27
- package/dist/src/structures/GuildMember.js.map +1 -1
- package/dist/src/structures/GuildStageOrVoiceChannel.d.ts +9 -0
- package/dist/src/structures/GuildStageOrVoiceChannel.d.ts.map +1 -1
- package/dist/src/structures/GuildStageOrVoiceChannel.js +21 -1
- package/dist/src/structures/GuildStageOrVoiceChannel.js.map +1 -1
- package/dist/src/structures/GuildTextChannel.d.ts +10 -1
- package/dist/src/structures/GuildTextChannel.d.ts.map +1 -1
- package/dist/src/structures/GuildTextChannel.js +21 -0
- package/dist/src/structures/GuildTextChannel.js.map +1 -1
- package/dist/src/structures/Message.d.ts +9 -5
- package/dist/src/structures/Message.d.ts.map +1 -1
- package/dist/src/structures/Message.js +77 -65
- package/dist/src/structures/Message.js.map +1 -1
- package/dist/src/structures/Poll.d.ts +5 -1
- package/dist/src/structures/Poll.d.ts.map +1 -1
- package/dist/src/structures/Poll.js +15 -9
- package/dist/src/structures/Poll.js.map +1 -1
- package/dist/src/structures/Role.d.ts +5 -1
- package/dist/src/structures/Role.d.ts.map +1 -1
- package/dist/src/structures/Role.js +37 -29
- package/dist/src/structures/Role.js.map +1 -1
- package/dist/src/structures/ThreadMember.d.ts +5 -1
- package/dist/src/structures/ThreadMember.d.ts.map +1 -1
- package/dist/src/structures/ThreadMember.js +21 -13
- package/dist/src/structures/ThreadMember.js.map +1 -1
- package/dist/src/structures/User.d.ts +5 -1
- package/dist/src/structures/User.d.ts.map +1 -1
- package/dist/src/structures/User.js +32 -24
- package/dist/src/structures/User.js.map +1 -1
- package/dist/src/structures/Webhook.d.ts +5 -1
- package/dist/src/structures/Webhook.d.ts.map +1 -1
- package/dist/src/structures/Webhook.js +32 -24
- package/dist/src/structures/Webhook.js.map +1 -1
- package/dist/src/types/index.d.ts +10 -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 +25 -19
- package/dist/src/types/listeners.d.ts.map +1 -1
- package/dist/src/types/listeners.js +1 -1
- package/dist/src/types/listeners.js.map +1 -1
- package/dist/src/utils/customIdParser.d.ts.map +1 -1
- package/dist/src/utils/customIdParser.js +21 -4
- package/dist/src/utils/customIdParser.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +5 -5
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Label.js","sourceRoot":"","sources":["../../../../src/classes/components/Label.ts"],"names":[],"mappings":"AAAA,OAAO,EAGN,aAAa,EACb,MAAM,uBAAuB,CAAA;AAC9B,yEAAyE;AACzE,OAAO,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAA;AAI1E,MAAM,OAAgB,KAAM,SAAQ,kBAAkB;IAC5C,IAAI,GAAG,aAAa,CAAC,KAAK,CAAA;IAC1B,IAAI,GAAG,KAAK,CAAA;IAOrB;;OAEG;IACH,WAAW,CAAS;IAEpB;;OAEG;IACH,SAAS,CAA8B;IAEvC;;OAEG;IACH,QAAQ,GAAG,OAAO,CAAA;IAElB,YAAY,SAAuC;QAClD,KAAK,EAAE,CAAA;QACP,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;IAC3B,CAAC;IAED,SAAS,GAAG,GAAsB,EAAE;QACnC,OAAO;YACN,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,EAA8B;SACjE,CAAA;IACF,CAAC,CAAA;CACD"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { StringSelectMenu } from "./StringSelectMenu.js";
|
|
2
|
+
export declare abstract class ModalStringSelectMenu extends StringSelectMenu {
|
|
3
|
+
required: boolean;
|
|
4
|
+
disabled: false;
|
|
5
|
+
serializeExtra(): {
|
|
6
|
+
required: boolean;
|
|
7
|
+
};
|
|
8
|
+
protected get serializeDeleteKeys(): string[];
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=ModalStringSelectMenu.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ModalStringSelectMenu.d.ts","sourceRoot":"","sources":["../../../../src/classes/components/ModalStringSelectMenu.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAExD,8BAAsB,qBAAsB,SAAQ,gBAAgB;IACnE,QAAQ,UAAQ;IACP,QAAQ,EAAE,KAAK,CAAQ;IAEhC,cAAc;;;IAOd,SAAS,KAAK,mBAAmB,IAAI,MAAM,EAAE,CAE5C;CACD"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { StringSelectMenu } from "./StringSelectMenu.js";
|
|
2
|
+
export class ModalStringSelectMenu extends StringSelectMenu {
|
|
3
|
+
required = false;
|
|
4
|
+
disabled = false;
|
|
5
|
+
serializeExtra() {
|
|
6
|
+
return {
|
|
7
|
+
required: this.required
|
|
8
|
+
};
|
|
9
|
+
}
|
|
10
|
+
// Discord will give an error if this key is in the payload
|
|
11
|
+
get serializeDeleteKeys() {
|
|
12
|
+
return ["disabled"];
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=ModalStringSelectMenu.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ModalStringSelectMenu.js","sourceRoot":"","sources":["../../../../src/classes/components/ModalStringSelectMenu.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAExD,MAAM,OAAgB,qBAAsB,SAAQ,gBAAgB;IACnE,QAAQ,GAAG,KAAK,CAAA;IACP,QAAQ,GAAU,KAAK,CAAA;IAEhC,cAAc;QACb,OAAO;YACN,QAAQ,EAAE,IAAI,CAAC,QAAQ;SACvB,CAAA;IACF,CAAC;IAED,2DAA2D;IAC3D,IAAc,mBAAmB;QAChC,OAAO,CAAC,UAAU,CAAC,CAAA;IACpB,CAAC;CACD"}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import { ComponentType } from "discord-api-types/v10";
|
|
1
|
+
import { type APIActionRowComponent, type APIComponentInMessageActionRow, ComponentType } from "discord-api-types/v10";
|
|
2
2
|
import { BaseComponent } from "../../abstracts/BaseComponent.js";
|
|
3
3
|
import type { BaseMessageInteractiveComponent } from "../../abstracts/BaseMessageInteractiveComponent.js";
|
|
4
|
-
|
|
5
|
-
export declare class Row<T extends BaseMessageInteractiveComponent | BaseModalComponent = BaseMessageInteractiveComponent> extends BaseComponent {
|
|
4
|
+
export declare class Row<T extends BaseMessageInteractiveComponent> extends BaseComponent {
|
|
6
5
|
readonly type: ComponentType.ActionRow;
|
|
7
6
|
readonly isV2 = false;
|
|
8
7
|
/**
|
|
@@ -24,6 +23,6 @@ export declare class Row<T extends BaseMessageInteractiveComponent | BaseModalCo
|
|
|
24
23
|
* Remove all components from the action row
|
|
25
24
|
*/
|
|
26
25
|
removeAllComponents(): void;
|
|
27
|
-
serialize: () =>
|
|
26
|
+
serialize: () => APIActionRowComponent<APIComponentInMessageActionRow>;
|
|
28
27
|
}
|
|
29
28
|
//# sourceMappingURL=Row.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Row.d.ts","sourceRoot":"","sources":["../../../../src/classes/components/Row.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"Row.d.ts","sourceRoot":"","sources":["../../../../src/classes/components/Row.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,KAAK,qBAAqB,EAC1B,KAAK,8BAA8B,EACnC,aAAa,EACb,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAA;AAChE,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,oDAAoD,CAAA;AAEzG,qBAAa,GAAG,CACf,CAAC,SAAS,+BAA+B,CACxC,SAAQ,aAAa;IACtB,QAAQ,CAAC,IAAI,0BAAmC;IAChD,QAAQ,CAAC,IAAI,SAAQ;IAErB;;OAEG;IACH,UAAU,EAAE,CAAC,EAAE,CAAK;gBAER,UAAU,CAAC,EAAE,CAAC,EAAE;IAK5B;;;OAGG;IACH,YAAY,CAAC,SAAS,EAAE,CAAC;IAIzB;;;OAGG;IACH,eAAe,CAAC,SAAS,EAAE,CAAC;IAM5B;;OAEG;IACH,mBAAmB;IAInB,SAAS,QAAO,qBAAqB,CAAC,8BAA8B,CAAC,CAKpE;CACD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Row.js","sourceRoot":"","sources":["../../../../src/classes/components/Row.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"Row.js","sourceRoot":"","sources":["../../../../src/classes/components/Row.ts"],"names":[],"mappings":"AAAA,OAAO,EAGN,aAAa,EACb,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAA;AAGhE,MAAM,OAAO,GAEX,SAAQ,aAAa;IACb,IAAI,GAAG,aAAa,CAAC,SAAkB,CAAA;IACvC,IAAI,GAAG,KAAK,CAAA;IAErB;;OAEG;IACH,UAAU,GAAQ,EAAE,CAAA;IAEpB,YAAY,UAAgB;QAC3B,KAAK,EAAE,CAAA;QACP,IAAI,UAAU;YAAE,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;IAC7C,CAAC;IAED;;;OAGG;IACH,YAAY,CAAC,SAAY;QACxB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IAChC,CAAC;IAED;;;OAGG;IACH,eAAe,CAAC,SAAY;QAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;QAChD,IAAI,KAAK,KAAK,CAAC,CAAC;YAAE,OAAM;QACxB,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;IACjC,CAAC;IAED;;OAEG;IACH,mBAAmB;QAClB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAA;IACrB,CAAC;IAED,SAAS,GAAG,GAA0D,EAAE;QACvE,OAAO;YACN,IAAI,EAAE,aAAa,CAAC,SAAS;YAC7B,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC;SACrE,CAAA;IACF,CAAC,CAAA;CACD"}
|
|
@@ -1,16 +1,29 @@
|
|
|
1
1
|
import { type APITextInputComponent, ComponentType, TextInputStyle } from "discord-api-types/v10";
|
|
2
2
|
import { BaseModalComponent } from "../../abstracts/BaseModalComponent.js";
|
|
3
|
+
import type { ComponentParserResult } from "../../types/index.js";
|
|
3
4
|
export declare abstract class TextInput extends BaseModalComponent {
|
|
4
5
|
readonly type: ComponentType.TextInput;
|
|
5
6
|
readonly isV2 = false;
|
|
6
7
|
/**
|
|
7
|
-
* The custom ID of the
|
|
8
|
+
* The custom ID of the component.
|
|
9
|
+
* 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.
|
|
10
|
+
*
|
|
11
|
+
* @see {@link customIdParser}
|
|
8
12
|
*/
|
|
9
13
|
abstract customId: string;
|
|
10
14
|
/**
|
|
11
|
-
*
|
|
12
|
-
|
|
13
|
-
|
|
15
|
+
* 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.
|
|
16
|
+
* 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.
|
|
17
|
+
* It will also automatically parse `true` and `false` as booleans, and will parse numbers as numbers.
|
|
18
|
+
*
|
|
19
|
+
* You can override this to parse the ID in a different format as you see fit, but it must follow these rules:
|
|
20
|
+
* - 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.
|
|
21
|
+
* - 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.
|
|
22
|
+
*
|
|
23
|
+
* @param id - The custom ID of the component as received from an interaction event
|
|
24
|
+
* @returns The base key and the data object
|
|
25
|
+
*/
|
|
26
|
+
customIdParser: (id: string) => ComponentParserResult;
|
|
14
27
|
/**
|
|
15
28
|
* The style of the text input
|
|
16
29
|
* @default TextInputStyle.Short
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TextInput.d.ts","sourceRoot":"","sources":["../../../../src/classes/components/TextInput.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,KAAK,qBAAqB,EAC1B,aAAa,EACb,cAAc,EACd,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAA;
|
|
1
|
+
{"version":3,"file":"TextInput.d.ts","sourceRoot":"","sources":["../../../../src/classes/components/TextInput.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,KAAK,qBAAqB,EAC1B,aAAa,EACb,cAAc,EACd,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAA;AAC1E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAA;AAGjE,8BAAsB,SAAU,SAAQ,kBAAkB;IACzD,QAAQ,CAAC,IAAI,0BAAmC;IAChD,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;;;OAGG;IACH,KAAK,EAAE,cAAc,CAAuB;IAE5C;;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,KAAK,CAAC,EAAE,MAAM,CAAA;IAEd;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;IAEpB,SAAS,QAAO,qBAAqB,CAWpC;CACD"}
|
|
@@ -1,8 +1,22 @@
|
|
|
1
1
|
import { ComponentType, TextInputStyle } from "discord-api-types/v10";
|
|
2
2
|
import { BaseModalComponent } from "../../abstracts/BaseModalComponent.js";
|
|
3
|
+
import { parseCustomId } from "../../utils/customIdParser.js";
|
|
3
4
|
export class TextInput extends BaseModalComponent {
|
|
4
5
|
type = ComponentType.TextInput;
|
|
5
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;
|
|
6
20
|
/**
|
|
7
21
|
* The style of the text input
|
|
8
22
|
* @default TextInputStyle.Short
|
|
@@ -33,7 +47,6 @@ export class TextInput extends BaseModalComponent {
|
|
|
33
47
|
type: ComponentType.TextInput,
|
|
34
48
|
custom_id: this.customId,
|
|
35
49
|
style: this.style,
|
|
36
|
-
label: this.label,
|
|
37
50
|
min_length: this.minLength,
|
|
38
51
|
max_length: this.maxLength,
|
|
39
52
|
required: this.required,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TextInput.js","sourceRoot":"","sources":["../../../../src/classes/components/TextInput.ts"],"names":[],"mappings":"AAAA,OAAO,EAEN,aAAa,EACb,cAAc,EACd,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAA;AAE1E,MAAM,OAAgB,SAAU,SAAQ,kBAAkB;IAChD,IAAI,GAAG,aAAa,CAAC,SAAkB,CAAA;IACvC,IAAI,GAAG,KAAK,CAAA;
|
|
1
|
+
{"version":3,"file":"TextInput.js","sourceRoot":"","sources":["../../../../src/classes/components/TextInput.ts"],"names":[],"mappings":"AAAA,OAAO,EAEN,aAAa,EACb,cAAc,EACd,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAA;AAE1E,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAA;AAE7D,MAAM,OAAgB,SAAU,SAAQ,kBAAkB;IAChD,IAAI,GAAG,aAAa,CAAC,SAAkB,CAAA;IACvC,IAAI,GAAG,KAAK,CAAA;IAUrB;;;;;;;;;;;OAWG;IACH,cAAc,GAA0C,aAAa,CAAA;IAErE;;;OAGG;IACH,KAAK,GAAmB,cAAc,CAAC,KAAK,CAAA;IAE5C;;OAEG;IACH,SAAS,CAAS;IAElB;;OAEG;IACH,SAAS,CAAS;IAElB;;OAEG;IACH,QAAQ,CAAU;IAElB;;OAEG;IACH,KAAK,CAAS;IAEd;;OAEG;IACH,WAAW,CAAS;IAEpB,SAAS,GAAG,GAA0B,EAAE;QACvC,OAAO;YACN,IAAI,EAAE,aAAa,CAAC,SAAS;YAC7B,SAAS,EAAE,IAAI,CAAC,QAAQ;YACxB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,UAAU,EAAE,IAAI,CAAC,SAAS;YAC1B,UAAU,EAAE,IAAI,CAAC,SAAS;YAC1B,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,WAAW,EAAE,IAAI,CAAC,WAAW;SAC7B,CAAA;IACF,CAAC,CAAA;CACD"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type APIChannel, type ThreadChannelType } from "discord-api-types/v10";
|
|
1
|
+
import { type APIChannel, ChannelType, type ThreadChannelType } from "discord-api-types/v10";
|
|
2
2
|
import type { Client } from "../classes/Client.js";
|
|
3
3
|
import { DmChannel } from "../structures/DmChannel.js";
|
|
4
4
|
import { GroupDmChannel } from "../structures/GroupDmChannel.js";
|
|
@@ -10,5 +10,5 @@ import { GuildStageChannel, GuildVoiceChannel } from "../structures/GuildStageOr
|
|
|
10
10
|
import { GuildTextChannel } from "../structures/GuildTextChannel.js";
|
|
11
11
|
import { GuildThreadChannel } from "../structures/GuildThreadChannel.js";
|
|
12
12
|
export type AnyChannel = DmChannel | GroupDmChannel | GuildTextChannel | GuildVoiceChannel | GuildStageChannel | GuildCategoryChannel | GuildAnnouncementChannel | GuildThreadChannel<ThreadChannelType> | GuildForumChannel | GuildMediaChannel;
|
|
13
|
-
export declare const channelFactory: (client: Client, channelData: APIChannel) => DmChannel<false> | GroupDmChannel<false> | GuildTextChannel<false> | GuildVoiceChannel<false> | GuildCategoryChannel<false> | GuildAnnouncementChannel<false> | GuildThreadChannel<
|
|
13
|
+
export declare const channelFactory: (client: Client, channelData: APIChannel) => DmChannel<false> | GroupDmChannel<false> | GuildTextChannel<false> | GuildVoiceChannel<false> | GuildCategoryChannel<false> | GuildAnnouncementChannel<false> | GuildThreadChannel<ChannelType.AnnouncementThread | ChannelType.PublicThread | ChannelType.PrivateThread, false> | GuildStageChannel<false> | GuildForumChannel<false> | GuildMediaChannel | null;
|
|
14
14
|
//# sourceMappingURL=channelFactory.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"channelFactory.d.ts","sourceRoot":"","sources":["../../../src/functions/channelFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,KAAK,UAAU,
|
|
1
|
+
{"version":3,"file":"channelFactory.d.ts","sourceRoot":"","sources":["../../../src/functions/channelFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,KAAK,UAAU,EACf,WAAW,EACX,KAAK,iBAAiB,EACtB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAA;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAA;AAChE,OAAO,EAAE,wBAAwB,EAAE,MAAM,2CAA2C,CAAA;AACpF,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAA;AAC5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAA;AACtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAA;AACtE,OAAO,EACN,iBAAiB,EACjB,iBAAiB,EACjB,MAAM,2CAA2C,CAAA;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAA;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAA;AAExE,MAAM,MAAM,UAAU,GACnB,SAAS,GACT,cAAc,GACd,gBAAgB,GAChB,iBAAiB,GACjB,iBAAiB,GACjB,oBAAoB,GACpB,wBAAwB,GACxB,kBAAkB,CAAC,iBAAiB,CAAC,GACrC,iBAAiB,GACjB,iBAAiB,CAAA;AAEpB,eAAO,MAAM,cAAc,GAAI,QAAQ,MAAM,EAAE,aAAa,UAAU,sWA2BrE,CAAA"}
|
package/dist/src/index.d.ts
CHANGED
|
@@ -27,7 +27,9 @@ export * from "./classes/RequestClient.js";
|
|
|
27
27
|
export * from "./classes/components/RoleSelectMenu.js";
|
|
28
28
|
export * from "./classes/components/Row.js";
|
|
29
29
|
export * from "./classes/components/StringSelectMenu.js";
|
|
30
|
+
export * from "./classes/components/StringSelectMenu.js";
|
|
30
31
|
export * from "./classes/components/TextInput.js";
|
|
32
|
+
export * from "./classes/components/Label.js";
|
|
31
33
|
export * from "./classes/components/UserSelectMenu.js";
|
|
32
34
|
export * from "./classes/components/Container.js";
|
|
33
35
|
export * from "./classes/components/MediaGallery.js";
|
|
@@ -47,6 +49,7 @@ export * from "./internals/ChannelSelectMenuInteraction.js";
|
|
|
47
49
|
export * from "./internals/CommandHandler.js";
|
|
48
50
|
export * from "./internals/CommandInteraction.js";
|
|
49
51
|
export * from "./internals/ComponentHandler.js";
|
|
52
|
+
export * from "./internals/EventHandler.js";
|
|
50
53
|
export * from "./internals/FieldsHandler.js";
|
|
51
54
|
export * from "./internals/MentionableSelectMenuInteraction.js";
|
|
52
55
|
export * from "./internals/ModalHandler.js";
|
|
@@ -67,10 +70,12 @@ export * from "./structures/GuildStageOrVoiceChannel.js";
|
|
|
67
70
|
export * from "./structures/GuildTextChannel.js";
|
|
68
71
|
export * from "./structures/GuildThreadChannel.js";
|
|
69
72
|
export * from "./structures/Message.js";
|
|
73
|
+
export * from "./structures/Poll.js";
|
|
70
74
|
export * from "./structures/Role.js";
|
|
71
75
|
export * from "./structures/ThreadMember.js";
|
|
72
76
|
export * from "./structures/User.js";
|
|
73
77
|
export * from "./structures/Webhook.js";
|
|
78
|
+
export * from "./plugins/paginator/index.js";
|
|
74
79
|
export * from "discord-api-types/v10";
|
|
75
80
|
export * from "./types/index.js";
|
|
76
81
|
export * from "./permissions.js";
|
package/dist/src/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,cAAc,8BAA8B,CAAA;AAC5C,cAAc,yCAAyC,CAAA;AACvD,cAAc,qBAAqB,CAAA;AACnC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,4BAA4B,CAAA;AAC1C,cAAc,8BAA8B,CAAA;AAC5C,cAAc,yCAAyC,CAAA;AACvD,cAAc,iCAAiC,CAAA;AAC/C,cAAc,qCAAqC,CAAA;AACnD,cAAc,gCAAgC,CAAA;AAC9C,cAAc,6BAA6B,CAAA;AAC3C,cAAc,uCAAuC,CAAA;AACrD,cAAc,uBAAuB,CAAA;AACrC,cAAc,mCAAmC,CAAA;AACjD,cAAc,gDAAgD,CAAA;AAG9D,cAAc,gCAAgC,CAAA;AAC9C,cAAc,2CAA2C,CAAA;AACzD,cAAc,qBAAqB,CAAA;AACnC,cAAc,sBAAsB,CAAA;AACpC,cAAc,0CAA0C,CAAA;AACxD,cAAc,qCAAqC,CAAA;AACnD,cAAc,oBAAoB,CAAA;AAClC,cAAc,uBAAuB,CAAA;AACrC,cAAc,+CAA+C,CAAA;AAC7D,cAAc,oBAAoB,CAAA;AAClC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,wCAAwC,CAAA;AACtD,cAAc,6BAA6B,CAAA;AAC3C,cAAc,0CAA0C,CAAA;AACxD,cAAc,mCAAmC,CAAA;AACjD,cAAc,wCAAwC,CAAA;AACtD,cAAc,mCAAmC,CAAA;AACjD,cAAc,sCAAsC,CAAA;AACpD,cAAc,qCAAqC,CAAA;AACnD,cAAc,iCAAiC,CAAA;AAC/C,cAAc,mCAAmC,CAAA;AACjD,cAAc,8BAA8B,CAAA;AAC5C,cAAc,mCAAmC,CAAA;AAGjD,cAAc,uBAAuB,CAAA;AACrC,cAAc,0BAA0B,CAAA;AACxC,cAAc,4BAA4B,CAAA;AAG1C,cAAc,+BAA+B,CAAA;AAC7C,cAAc,6BAA6B,CAAA;AAG3C,cAAc,wCAAwC,CAAA;AACtD,cAAc,kCAAkC,CAAA;AAChD,cAAc,6CAA6C,CAAA;AAC3D,cAAc,+BAA+B,CAAA;AAC7C,cAAc,mCAAmC,CAAA;AACjD,cAAc,iCAAiC,CAAA;AAC/C,cAAc,8BAA8B,CAAA;AAC5C,cAAc,iDAAiD,CAAA;AAC/D,cAAc,6BAA6B,CAAA;AAC3C,cAAc,iCAAiC,CAAA;AAC/C,cAAc,+BAA+B,CAAA;AAC7C,cAAc,0CAA0C,CAAA;AACxD,cAAc,4CAA4C,CAAA;AAC1D,cAAc,0CAA0C,CAAA;AAGxD,cAAc,2BAA2B,CAAA;AACzC,cAAc,gCAAgC,CAAA;AAC9C,cAAc,uBAAuB,CAAA;AACrC,cAAc,0CAA0C,CAAA;AACxD,cAAc,sCAAsC,CAAA;AACpD,cAAc,mCAAmC,CAAA;AACjD,cAAc,mCAAmC,CAAA;AACjD,cAAc,6BAA6B,CAAA;AAC3C,cAAc,0CAA0C,CAAA;AACxD,cAAc,kCAAkC,CAAA;AAChD,cAAc,oCAAoC,CAAA;AAClD,cAAc,yBAAyB,CAAA;AACvC,cAAc,sBAAsB,CAAA;AACpC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,sBAAsB,CAAA;AACpC,cAAc,yBAAyB,CAAA;AAGvC,cAAc,uBAAuB,CAAA;AACrC,cAAc,kBAAkB,CAAA;AAChC,cAAc,kBAAkB,CAAA;AAChC,cAAc,kBAAkB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,cAAc,8BAA8B,CAAA;AAC5C,cAAc,yCAAyC,CAAA;AACvD,cAAc,qBAAqB,CAAA;AACnC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,4BAA4B,CAAA;AAC1C,cAAc,8BAA8B,CAAA;AAC5C,cAAc,yCAAyC,CAAA;AACvD,cAAc,iCAAiC,CAAA;AAC/C,cAAc,qCAAqC,CAAA;AACnD,cAAc,gCAAgC,CAAA;AAC9C,cAAc,6BAA6B,CAAA;AAC3C,cAAc,uCAAuC,CAAA;AACrD,cAAc,uBAAuB,CAAA;AACrC,cAAc,mCAAmC,CAAA;AACjD,cAAc,gDAAgD,CAAA;AAG9D,cAAc,gCAAgC,CAAA;AAC9C,cAAc,2CAA2C,CAAA;AACzD,cAAc,qBAAqB,CAAA;AACnC,cAAc,sBAAsB,CAAA;AACpC,cAAc,0CAA0C,CAAA;AACxD,cAAc,qCAAqC,CAAA;AACnD,cAAc,oBAAoB,CAAA;AAClC,cAAc,uBAAuB,CAAA;AACrC,cAAc,+CAA+C,CAAA;AAC7D,cAAc,oBAAoB,CAAA;AAClC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,wCAAwC,CAAA;AACtD,cAAc,6BAA6B,CAAA;AAC3C,cAAc,0CAA0C,CAAA;AACxD,cAAc,0CAA0C,CAAA;AACxD,cAAc,mCAAmC,CAAA;AACjD,cAAc,+BAA+B,CAAA;AAC7C,cAAc,wCAAwC,CAAA;AACtD,cAAc,mCAAmC,CAAA;AACjD,cAAc,sCAAsC,CAAA;AACpD,cAAc,qCAAqC,CAAA;AACnD,cAAc,iCAAiC,CAAA;AAC/C,cAAc,mCAAmC,CAAA;AACjD,cAAc,8BAA8B,CAAA;AAC5C,cAAc,mCAAmC,CAAA;AAGjD,cAAc,uBAAuB,CAAA;AACrC,cAAc,0BAA0B,CAAA;AACxC,cAAc,4BAA4B,CAAA;AAG1C,cAAc,+BAA+B,CAAA;AAC7C,cAAc,6BAA6B,CAAA;AAG3C,cAAc,wCAAwC,CAAA;AACtD,cAAc,kCAAkC,CAAA;AAChD,cAAc,6CAA6C,CAAA;AAC3D,cAAc,+BAA+B,CAAA;AAC7C,cAAc,mCAAmC,CAAA;AACjD,cAAc,iCAAiC,CAAA;AAC/C,cAAc,6BAA6B,CAAA;AAC3C,cAAc,8BAA8B,CAAA;AAC5C,cAAc,iDAAiD,CAAA;AAC/D,cAAc,6BAA6B,CAAA;AAC3C,cAAc,iCAAiC,CAAA;AAC/C,cAAc,+BAA+B,CAAA;AAC7C,cAAc,0CAA0C,CAAA;AACxD,cAAc,4CAA4C,CAAA;AAC1D,cAAc,0CAA0C,CAAA;AAGxD,cAAc,2BAA2B,CAAA;AACzC,cAAc,gCAAgC,CAAA;AAC9C,cAAc,uBAAuB,CAAA;AACrC,cAAc,0CAA0C,CAAA;AACxD,cAAc,sCAAsC,CAAA;AACpD,cAAc,mCAAmC,CAAA;AACjD,cAAc,mCAAmC,CAAA;AACjD,cAAc,6BAA6B,CAAA;AAC3C,cAAc,0CAA0C,CAAA;AACxD,cAAc,kCAAkC,CAAA;AAChD,cAAc,oCAAoC,CAAA;AAClD,cAAc,yBAAyB,CAAA;AACvC,cAAc,sBAAsB,CAAA;AACpC,cAAc,sBAAsB,CAAA;AACpC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,sBAAsB,CAAA;AACpC,cAAc,yBAAyB,CAAA;AAGvC,cAAc,8BAA8B,CAAA;AAG5C,cAAc,uBAAuB,CAAA;AACrC,cAAc,kBAAkB,CAAA;AAChC,cAAc,kBAAkB,CAAA;AAChC,cAAc,kBAAkB,CAAA"}
|
package/dist/src/index.js
CHANGED
|
@@ -29,7 +29,9 @@ export * from "./classes/RequestClient.js";
|
|
|
29
29
|
export * from "./classes/components/RoleSelectMenu.js";
|
|
30
30
|
export * from "./classes/components/Row.js";
|
|
31
31
|
export * from "./classes/components/StringSelectMenu.js";
|
|
32
|
+
export * from "./classes/components/StringSelectMenu.js";
|
|
32
33
|
export * from "./classes/components/TextInput.js";
|
|
34
|
+
export * from "./classes/components/Label.js";
|
|
33
35
|
export * from "./classes/components/UserSelectMenu.js";
|
|
34
36
|
export * from "./classes/components/Container.js";
|
|
35
37
|
export * from "./classes/components/MediaGallery.js";
|
|
@@ -52,6 +54,7 @@ export * from "./internals/ChannelSelectMenuInteraction.js";
|
|
|
52
54
|
export * from "./internals/CommandHandler.js";
|
|
53
55
|
export * from "./internals/CommandInteraction.js";
|
|
54
56
|
export * from "./internals/ComponentHandler.js";
|
|
57
|
+
export * from "./internals/EventHandler.js";
|
|
55
58
|
export * from "./internals/FieldsHandler.js";
|
|
56
59
|
export * from "./internals/MentionableSelectMenuInteraction.js";
|
|
57
60
|
export * from "./internals/ModalHandler.js";
|
|
@@ -73,10 +76,13 @@ export * from "./structures/GuildStageOrVoiceChannel.js";
|
|
|
73
76
|
export * from "./structures/GuildTextChannel.js";
|
|
74
77
|
export * from "./structures/GuildThreadChannel.js";
|
|
75
78
|
export * from "./structures/Message.js";
|
|
79
|
+
export * from "./structures/Poll.js";
|
|
76
80
|
export * from "./structures/Role.js";
|
|
77
81
|
export * from "./structures/ThreadMember.js";
|
|
78
82
|
export * from "./structures/User.js";
|
|
79
83
|
export * from "./structures/Webhook.js";
|
|
84
|
+
// ----- Plugins -----
|
|
85
|
+
export * from "./plugins/paginator/index.js";
|
|
80
86
|
// ----- Misc -----
|
|
81
87
|
export * from "discord-api-types/v10";
|
|
82
88
|
export * from "./types/index.js";
|
package/dist/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,wBAAwB;AACxB,cAAc,8BAA8B,CAAA;AAC5C,cAAc,yCAAyC,CAAA;AACvD,cAAc,qBAAqB,CAAA;AACnC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,4BAA4B,CAAA;AAC1C,cAAc,8BAA8B,CAAA;AAC5C,cAAc,yCAAyC,CAAA;AACvD,cAAc,iCAAiC,CAAA;AAC/C,cAAc,qCAAqC,CAAA;AACnD,cAAc,gCAAgC,CAAA;AAC9C,cAAc,6BAA6B,CAAA;AAC3C,cAAc,uCAAuC,CAAA;AACrD,cAAc,uBAAuB,CAAA;AACrC,cAAc,mCAAmC,CAAA;AACjD,cAAc,gDAAgD,CAAA;AAE9D,sBAAsB;AACtB,cAAc,gCAAgC,CAAA;AAC9C,cAAc,2CAA2C,CAAA;AACzD,cAAc,qBAAqB,CAAA;AACnC,cAAc,sBAAsB,CAAA;AACpC,cAAc,0CAA0C,CAAA;AACxD,cAAc,qCAAqC,CAAA;AACnD,cAAc,oBAAoB,CAAA;AAClC,cAAc,uBAAuB,CAAA;AACrC,cAAc,+CAA+C,CAAA;AAC7D,cAAc,oBAAoB,CAAA;AAClC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,wCAAwC,CAAA;AACtD,cAAc,6BAA6B,CAAA;AAC3C,cAAc,0CAA0C,CAAA;AACxD,cAAc,mCAAmC,CAAA;AACjD,cAAc,wCAAwC,CAAA;AACtD,cAAc,mCAAmC,CAAA;AACjD,cAAc,sCAAsC,CAAA;AACpD,cAAc,qCAAqC,CAAA;AACnD,cAAc,iCAAiC,CAAA;AAC/C,cAAc,mCAAmC,CAAA;AACjD,cAAc,8BAA8B,CAAA;AAC5C,cAAc,mCAAmC,CAAA;AAEjD,qBAAqB;AACrB,cAAc,uBAAuB,CAAA;AACrC,cAAc,0BAA0B,CAAA;AACxC,cAAc,4BAA4B,CAAA;AAE1C,wBAAwB;AACxB,cAAc,+BAA+B,CAAA;AAC7C,cAAc,6BAA6B,CAAA;AAE3C,wBAAwB;AACxB,cAAc,wCAAwC,CAAA;AACtD,cAAc,kCAAkC,CAAA;AAChD,cAAc,6CAA6C,CAAA;AAC3D,cAAc,+BAA+B,CAAA;AAC7C,cAAc,mCAAmC,CAAA;AACjD,cAAc,iCAAiC,CAAA;AAC/C,cAAc,8BAA8B,CAAA;AAC5C,cAAc,iDAAiD,CAAA;AAC/D,cAAc,6BAA6B,CAAA;AAC3C,cAAc,iCAAiC,CAAA;AAC/C,cAAc,+BAA+B,CAAA;AAC7C,cAAc,0CAA0C,CAAA;AACxD,cAAc,4CAA4C,CAAA;AAC1D,cAAc,0CAA0C,CAAA;AAExD,yBAAyB;AACzB,cAAc,2BAA2B,CAAA;AACzC,cAAc,gCAAgC,CAAA;AAC9C,cAAc,uBAAuB,CAAA;AACrC,cAAc,0CAA0C,CAAA;AACxD,cAAc,sCAAsC,CAAA;AACpD,cAAc,mCAAmC,CAAA;AACjD,cAAc,mCAAmC,CAAA;AACjD,cAAc,6BAA6B,CAAA;AAC3C,cAAc,0CAA0C,CAAA;AACxD,cAAc,kCAAkC,CAAA;AAChD,cAAc,oCAAoC,CAAA;AAClD,cAAc,yBAAyB,CAAA;AACvC,cAAc,sBAAsB,CAAA;AACpC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,sBAAsB,CAAA;AACpC,cAAc,yBAAyB,CAAA;AAEvC,mBAAmB;AACnB,cAAc,uBAAuB,CAAA;AACrC,cAAc,kBAAkB,CAAA;AAChC,cAAc,kBAAkB,CAAA;AAChC,cAAc,kBAAkB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,wBAAwB;AACxB,cAAc,8BAA8B,CAAA;AAC5C,cAAc,yCAAyC,CAAA;AACvD,cAAc,qBAAqB,CAAA;AACnC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,4BAA4B,CAAA;AAC1C,cAAc,8BAA8B,CAAA;AAC5C,cAAc,yCAAyC,CAAA;AACvD,cAAc,iCAAiC,CAAA;AAC/C,cAAc,qCAAqC,CAAA;AACnD,cAAc,gCAAgC,CAAA;AAC9C,cAAc,6BAA6B,CAAA;AAC3C,cAAc,uCAAuC,CAAA;AACrD,cAAc,uBAAuB,CAAA;AACrC,cAAc,mCAAmC,CAAA;AACjD,cAAc,gDAAgD,CAAA;AAE9D,sBAAsB;AACtB,cAAc,gCAAgC,CAAA;AAC9C,cAAc,2CAA2C,CAAA;AACzD,cAAc,qBAAqB,CAAA;AACnC,cAAc,sBAAsB,CAAA;AACpC,cAAc,0CAA0C,CAAA;AACxD,cAAc,qCAAqC,CAAA;AACnD,cAAc,oBAAoB,CAAA;AAClC,cAAc,uBAAuB,CAAA;AACrC,cAAc,+CAA+C,CAAA;AAC7D,cAAc,oBAAoB,CAAA;AAClC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,wCAAwC,CAAA;AACtD,cAAc,6BAA6B,CAAA;AAC3C,cAAc,0CAA0C,CAAA;AACxD,cAAc,0CAA0C,CAAA;AACxD,cAAc,mCAAmC,CAAA;AACjD,cAAc,+BAA+B,CAAA;AAC7C,cAAc,wCAAwC,CAAA;AACtD,cAAc,mCAAmC,CAAA;AACjD,cAAc,sCAAsC,CAAA;AACpD,cAAc,qCAAqC,CAAA;AACnD,cAAc,iCAAiC,CAAA;AAC/C,cAAc,mCAAmC,CAAA;AACjD,cAAc,8BAA8B,CAAA;AAC5C,cAAc,mCAAmC,CAAA;AAEjD,qBAAqB;AACrB,cAAc,uBAAuB,CAAA;AACrC,cAAc,0BAA0B,CAAA;AACxC,cAAc,4BAA4B,CAAA;AAE1C,wBAAwB;AACxB,cAAc,+BAA+B,CAAA;AAC7C,cAAc,6BAA6B,CAAA;AAE3C,wBAAwB;AACxB,cAAc,wCAAwC,CAAA;AACtD,cAAc,kCAAkC,CAAA;AAChD,cAAc,6CAA6C,CAAA;AAC3D,cAAc,+BAA+B,CAAA;AAC7C,cAAc,mCAAmC,CAAA;AACjD,cAAc,iCAAiC,CAAA;AAC/C,cAAc,6BAA6B,CAAA;AAC3C,cAAc,8BAA8B,CAAA;AAC5C,cAAc,iDAAiD,CAAA;AAC/D,cAAc,6BAA6B,CAAA;AAC3C,cAAc,iCAAiC,CAAA;AAC/C,cAAc,+BAA+B,CAAA;AAC7C,cAAc,0CAA0C,CAAA;AACxD,cAAc,4CAA4C,CAAA;AAC1D,cAAc,0CAA0C,CAAA;AAExD,yBAAyB;AACzB,cAAc,2BAA2B,CAAA;AACzC,cAAc,gCAAgC,CAAA;AAC9C,cAAc,uBAAuB,CAAA;AACrC,cAAc,0CAA0C,CAAA;AACxD,cAAc,sCAAsC,CAAA;AACpD,cAAc,mCAAmC,CAAA;AACjD,cAAc,mCAAmC,CAAA;AACjD,cAAc,6BAA6B,CAAA;AAC3C,cAAc,0CAA0C,CAAA;AACxD,cAAc,kCAAkC,CAAA;AAChD,cAAc,oCAAoC,CAAA;AAClD,cAAc,yBAAyB,CAAA;AACvC,cAAc,sBAAsB,CAAA;AACpC,cAAc,sBAAsB,CAAA;AACpC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,sBAAsB,CAAA;AACpC,cAAc,yBAAyB,CAAA;AAEvC,sBAAsB;AACtB,cAAc,8BAA8B,CAAA;AAE5C,mBAAmB;AACnB,cAAc,uBAAuB,CAAA;AACrC,cAAc,kBAAkB,CAAA;AAChC,cAAc,kBAAkB,CAAA;AAChC,cAAc,kBAAkB,CAAA"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import type { Client } from "../classes/Client.js";
|
|
2
|
+
import type { GuildMember } from "../structures/GuildMember.js";
|
|
3
|
+
import type { Webhook } from "../structures/Webhook.js";
|
|
4
|
+
export type CacheTypes = {
|
|
5
|
+
user: Awaited<ReturnType<typeof Client.prototype.fetchUser>>;
|
|
6
|
+
guild: Awaited<ReturnType<typeof Client.prototype.fetchGuild>>;
|
|
7
|
+
channel: Awaited<ReturnType<typeof Client.prototype.fetchChannel>>;
|
|
8
|
+
role: Awaited<ReturnType<typeof Client.prototype.fetchRole>>;
|
|
9
|
+
member: Awaited<ReturnType<typeof Client.prototype.fetchMember>>;
|
|
10
|
+
message: Awaited<ReturnType<typeof Client.prototype.fetchMessage>>;
|
|
11
|
+
voiceState: Awaited<ReturnType<typeof GuildMember.prototype.getVoiceState>>;
|
|
12
|
+
permissions: bigint[];
|
|
13
|
+
webhook: Webhook<false>;
|
|
14
|
+
};
|
|
15
|
+
export interface CacheEntry<V> {
|
|
16
|
+
value: V;
|
|
17
|
+
expiresAt?: number;
|
|
18
|
+
}
|
|
19
|
+
export interface CacheOptions {
|
|
20
|
+
defaultExpiry?: number;
|
|
21
|
+
}
|
|
22
|
+
export declare class Cache<K extends keyof CacheTypes | string, V = K extends keyof CacheTypes ? CacheTypes[K] : unknown> {
|
|
23
|
+
private cache;
|
|
24
|
+
private defaultExpiry;
|
|
25
|
+
constructor(options?: CacheOptions);
|
|
26
|
+
/**
|
|
27
|
+
* Get a value from the cache
|
|
28
|
+
* @param key The key to get
|
|
29
|
+
* @returns The value if it exists and hasn't expired, undefined otherwise
|
|
30
|
+
*/
|
|
31
|
+
get(key: K): V | undefined;
|
|
32
|
+
/**
|
|
33
|
+
* Set a value in the cache
|
|
34
|
+
* @param key The key to set
|
|
35
|
+
* @param value The value to set
|
|
36
|
+
* @param expiresIn Optional time in milliseconds until the entry expires
|
|
37
|
+
*/
|
|
38
|
+
set(key: K, value: V, expiresIn?: number): void;
|
|
39
|
+
/**
|
|
40
|
+
* Delete a value from the cache
|
|
41
|
+
* @param key The key to delete
|
|
42
|
+
* @returns Whether the key was deleted
|
|
43
|
+
*/
|
|
44
|
+
delete(key: K): boolean;
|
|
45
|
+
/**
|
|
46
|
+
* Clear all values of a specific type from the cache
|
|
47
|
+
* @param type The type to clear
|
|
48
|
+
*/
|
|
49
|
+
clearType(type: K): void;
|
|
50
|
+
/**
|
|
51
|
+
* Clear all values from the cache
|
|
52
|
+
*/
|
|
53
|
+
clear(): void;
|
|
54
|
+
/**
|
|
55
|
+
* Get the size of the cache
|
|
56
|
+
*/
|
|
57
|
+
get size(): number;
|
|
58
|
+
/**
|
|
59
|
+
* Check if a key exists in the cache and hasn't expired
|
|
60
|
+
* @param key The key to check
|
|
61
|
+
*/
|
|
62
|
+
has(key: K): boolean;
|
|
63
|
+
/**
|
|
64
|
+
* Get all keys in the cache that haven't expired
|
|
65
|
+
*/
|
|
66
|
+
keys(): K[];
|
|
67
|
+
/**
|
|
68
|
+
* Get all values in the cache that haven't expired
|
|
69
|
+
*/
|
|
70
|
+
values(): V[];
|
|
71
|
+
/**
|
|
72
|
+
* Get all entries in the cache that haven't expired
|
|
73
|
+
*/
|
|
74
|
+
entries(): [K, V][];
|
|
75
|
+
}
|
|
76
|
+
//# sourceMappingURL=Cache.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Cache.d.ts","sourceRoot":"","sources":["../../../src/internals/Cache.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAClD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAA;AAC/D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAA;AAEvD,MAAM,MAAM,UAAU,GAAG;IACxB,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAA;IAC5D,KAAK,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAA;IAC9D,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAA;IAClE,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAA;IAC5D,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAA;IAChE,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAA;IAClE,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,WAAW,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAA;IAC3E,WAAW,EAAE,MAAM,EAAE,CAAA;IACrB,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,CAAA;CACvB,CAAA;AAED,MAAM,WAAW,UAAU,CAAC,CAAC;IAC5B,KAAK,EAAE,CAAC,CAAA;IACR,SAAS,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,YAAY;IAC5B,aAAa,CAAC,EAAE,MAAM,CAAA;CACtB;AAED,qBAAa,KAAK,CACjB,CAAC,SAAS,MAAM,UAAU,GAAG,MAAM,EACnC,CAAC,GAAG,CAAC,SAAS,MAAM,UAAU,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,OAAO;IAExD,OAAO,CAAC,KAAK,CAAmC;IAChD,OAAO,CAAC,aAAa,CAA8B;gBAEvC,OAAO,GAAE,YAAiB;IAMtC;;;;OAIG;IACI,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,SAAS;IAYjC;;;;;OAKG;IACI,GAAG,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI;IAKtD;;;;OAIG;IACI,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,OAAO;IAI9B;;;OAGG;IACI,SAAS,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI;IAQ/B;;OAEG;IACI,KAAK,IAAI,IAAI;IAIpB;;OAEG;IACH,IAAW,IAAI,IAAI,MAAM,CAExB;IAED;;;OAGG;IACI,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,OAAO;IAY3B;;OAEG;IACI,IAAI,IAAI,CAAC,EAAE;IAYlB;;OAEG;IACI,MAAM,IAAI,CAAC,EAAE;IAYpB;;OAEG;IACI,OAAO,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;CAW1B"}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
export class Cache {
|
|
2
|
+
cache = new Map();
|
|
3
|
+
defaultExpiry = 1000 * 60 * 60 * 24; // 1 day
|
|
4
|
+
constructor(options = {}) {
|
|
5
|
+
if (options.defaultExpiry) {
|
|
6
|
+
this.defaultExpiry = options.defaultExpiry;
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Get a value from the cache
|
|
11
|
+
* @param key The key to get
|
|
12
|
+
* @returns The value if it exists and hasn't expired, undefined otherwise
|
|
13
|
+
*/
|
|
14
|
+
get(key) {
|
|
15
|
+
const entry = this.cache.get(key);
|
|
16
|
+
if (!entry)
|
|
17
|
+
return undefined;
|
|
18
|
+
if (entry.expiresAt && entry.expiresAt < Date.now()) {
|
|
19
|
+
this.delete(key);
|
|
20
|
+
return undefined;
|
|
21
|
+
}
|
|
22
|
+
return entry.value;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Set a value in the cache
|
|
26
|
+
* @param key The key to set
|
|
27
|
+
* @param value The value to set
|
|
28
|
+
* @param expiresIn Optional time in milliseconds until the entry expires
|
|
29
|
+
*/
|
|
30
|
+
set(key, value, expiresIn) {
|
|
31
|
+
const expiresAt = expiresIn ? Date.now() + expiresIn : this.defaultExpiry;
|
|
32
|
+
this.cache.set(key, { value, expiresAt });
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Delete a value from the cache
|
|
36
|
+
* @param key The key to delete
|
|
37
|
+
* @returns Whether the key was deleted
|
|
38
|
+
*/
|
|
39
|
+
delete(key) {
|
|
40
|
+
return this.cache.delete(key);
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Clear all values of a specific type from the cache
|
|
44
|
+
* @param type The type to clear
|
|
45
|
+
*/
|
|
46
|
+
clearType(type) {
|
|
47
|
+
for (const [key] of this.cache) {
|
|
48
|
+
if (key === type) {
|
|
49
|
+
this.delete(key);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Clear all values from the cache
|
|
55
|
+
*/
|
|
56
|
+
clear() {
|
|
57
|
+
this.cache.clear();
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Get the size of the cache
|
|
61
|
+
*/
|
|
62
|
+
get size() {
|
|
63
|
+
return this.cache.size;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Check if a key exists in the cache and hasn't expired
|
|
67
|
+
* @param key The key to check
|
|
68
|
+
*/
|
|
69
|
+
has(key) {
|
|
70
|
+
const entry = this.cache.get(key);
|
|
71
|
+
if (!entry)
|
|
72
|
+
return false;
|
|
73
|
+
if (entry.expiresAt && entry.expiresAt < Date.now()) {
|
|
74
|
+
this.delete(key);
|
|
75
|
+
return false;
|
|
76
|
+
}
|
|
77
|
+
return true;
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Get all keys in the cache that haven't expired
|
|
81
|
+
*/
|
|
82
|
+
keys() {
|
|
83
|
+
const keys = [];
|
|
84
|
+
for (const [key, entry] of this.cache) {
|
|
85
|
+
if (entry.expiresAt && entry.expiresAt < Date.now()) {
|
|
86
|
+
this.delete(key);
|
|
87
|
+
continue;
|
|
88
|
+
}
|
|
89
|
+
keys.push(key);
|
|
90
|
+
}
|
|
91
|
+
return keys;
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Get all values in the cache that haven't expired
|
|
95
|
+
*/
|
|
96
|
+
values() {
|
|
97
|
+
const values = [];
|
|
98
|
+
for (const [key, entry] of this.cache) {
|
|
99
|
+
if (entry.expiresAt && entry.expiresAt < Date.now()) {
|
|
100
|
+
this.delete(key);
|
|
101
|
+
continue;
|
|
102
|
+
}
|
|
103
|
+
values.push(entry.value);
|
|
104
|
+
}
|
|
105
|
+
return values;
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Get all entries in the cache that haven't expired
|
|
109
|
+
*/
|
|
110
|
+
entries() {
|
|
111
|
+
const entries = [];
|
|
112
|
+
for (const [key, entry] of this.cache) {
|
|
113
|
+
if (entry.expiresAt && entry.expiresAt < Date.now()) {
|
|
114
|
+
this.delete(key);
|
|
115
|
+
continue;
|
|
116
|
+
}
|
|
117
|
+
entries.push([key, entry.value]);
|
|
118
|
+
}
|
|
119
|
+
return entries;
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
//# sourceMappingURL=Cache.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Cache.js","sourceRoot":"","sources":["../../../src/internals/Cache.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { type APIApplicationCommandAutocompleteInteraction, type APIApplicationCommandInteraction } from "discord-api-types/v10";
|
|
2
2
|
import { Base } from "../abstracts/Base.js";
|
|
3
3
|
export declare class CommandHandler extends Base {
|
|
4
|
+
private getSubcommand;
|
|
4
5
|
private getCommand;
|
|
5
6
|
/**
|
|
6
7
|
* Handle a command interaction
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CommandHandler.d.ts","sourceRoot":"","sources":["../../../src/internals/CommandHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,KAAK,4CAA4C,EACjD,KAAK,gCAAgC,EAIrC,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAA;AAQ3C,qBAAa,cAAe,SAAQ,IAAI;IACvC,OAAO,CAAC,UAAU;
|
|
1
|
+
{"version":3,"file":"CommandHandler.d.ts","sourceRoot":"","sources":["../../../src/internals/CommandHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,KAAK,4CAA4C,EACjD,KAAK,gCAAgC,EAIrC,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAA;AAQ3C,qBAAa,cAAe,SAAQ,IAAI;IACvC,OAAO,CAAC,aAAa;IAkBrB,OAAO,CAAC,UAAU;IA6DlB;;;OAGG;IACG,wBAAwB,CAC7B,cAAc,EAAE,gCAAgC;IAkD3C,6BAA6B,CAClC,cAAc,EAAE,4CAA4C;CA0C7D"}
|
|
@@ -6,6 +6,16 @@ import { CommandWithSubcommands } from "../classes/CommandWithSubcommands.js";
|
|
|
6
6
|
import { AutocompleteInteraction } from "./AutocompleteInteraction.js";
|
|
7
7
|
import { CommandInteraction } from "./CommandInteraction.js";
|
|
8
8
|
export class CommandHandler extends Base {
|
|
9
|
+
getSubcommand(command, rawInteraction) {
|
|
10
|
+
if (rawInteraction.data.type !== ApplicationCommandType.ChatInput) {
|
|
11
|
+
throw new Error("Subcommands must be used with ChatInput");
|
|
12
|
+
}
|
|
13
|
+
const data = rawInteraction.data;
|
|
14
|
+
const subcommand = command.subcommands.find((x) => x.name === data.options?.[0]?.name);
|
|
15
|
+
if (!subcommand)
|
|
16
|
+
throw new Error("Subcommand not found");
|
|
17
|
+
return subcommand;
|
|
18
|
+
}
|
|
9
19
|
getCommand(rawInteraction) {
|
|
10
20
|
let command = this.client.commands.find((x) => x.name === rawInteraction.data.name);
|
|
11
21
|
if (!command)
|
|
@@ -18,8 +28,14 @@ export class CommandHandler extends Base {
|
|
|
18
28
|
}
|
|
19
29
|
const data = rawInteraction.data;
|
|
20
30
|
const subcommandGroupName = data.options?.find((x) => x.type === ApplicationCommandOptionType.SubcommandGroup)?.name;
|
|
21
|
-
if (!subcommandGroupName)
|
|
22
|
-
|
|
31
|
+
if (!subcommandGroupName) {
|
|
32
|
+
try {
|
|
33
|
+
return this.getSubcommand(command, rawInteraction);
|
|
34
|
+
}
|
|
35
|
+
catch {
|
|
36
|
+
throw new Error("No subcommand group name or subcommand found");
|
|
37
|
+
}
|
|
38
|
+
}
|
|
23
39
|
const subcommandGroup = command.subcommandGroups.find((x) => x.name === subcommandGroupName);
|
|
24
40
|
if (!subcommandGroup)
|
|
25
41
|
throw new Error("Subcommand group not found");
|
|
@@ -32,14 +48,7 @@ export class CommandHandler extends Base {
|
|
|
32
48
|
return subcommand;
|
|
33
49
|
}
|
|
34
50
|
if (command instanceof CommandWithSubcommands) {
|
|
35
|
-
|
|
36
|
-
throw new Error("Subcommands must be used with ChatInput");
|
|
37
|
-
}
|
|
38
|
-
const data = rawInteraction.data;
|
|
39
|
-
const subcommand = command.subcommands.find((x) => x.name === data.options?.[0]?.name);
|
|
40
|
-
if (!subcommand)
|
|
41
|
-
throw new Error("Subcommand not found");
|
|
42
|
-
return subcommand;
|
|
51
|
+
return this.getSubcommand(command, rawInteraction);
|
|
43
52
|
}
|
|
44
53
|
if (command instanceof Command) {
|
|
45
54
|
return command;
|
|
@@ -63,13 +72,23 @@ export class CommandHandler extends Base {
|
|
|
63
72
|
client: this.client,
|
|
64
73
|
data: rawInteraction,
|
|
65
74
|
defaults: {
|
|
66
|
-
ephemeral: command.ephemeral
|
|
75
|
+
ephemeral: typeof command.ephemeral === "function"
|
|
76
|
+
? false // Will be resolved later after interaction is created
|
|
77
|
+
: command.ephemeral
|
|
67
78
|
},
|
|
68
79
|
processingCommand: command
|
|
69
80
|
});
|
|
70
81
|
try {
|
|
71
82
|
const command = this.getCommand(rawInteraction);
|
|
72
|
-
if
|
|
83
|
+
// Resolve ephemeral setting if it's a function
|
|
84
|
+
if (typeof command.ephemeral === "function") {
|
|
85
|
+
interaction.setDefaultEphemeral(command.ephemeral(interaction));
|
|
86
|
+
}
|
|
87
|
+
// Resolve defer setting if it's a function
|
|
88
|
+
const shouldDefer = typeof command.defer === "function"
|
|
89
|
+
? command.defer(interaction)
|
|
90
|
+
: command.defer;
|
|
91
|
+
if (shouldDefer) {
|
|
73
92
|
await interaction.defer();
|
|
74
93
|
}
|
|
75
94
|
if (command.preCheck) {
|
|
@@ -93,12 +112,25 @@ export class CommandHandler extends Base {
|
|
|
93
112
|
client: this.client,
|
|
94
113
|
data: rawInteraction,
|
|
95
114
|
defaults: {
|
|
96
|
-
ephemeral: command.ephemeral
|
|
115
|
+
ephemeral: typeof command.ephemeral === "function"
|
|
116
|
+
? false // Autocomplete interactions don't use ephemeral typically, but resolve for consistency
|
|
117
|
+
: command.ephemeral
|
|
97
118
|
},
|
|
98
119
|
processingCommand: command
|
|
99
120
|
});
|
|
100
121
|
try {
|
|
101
122
|
const command = this.getCommand(rawInteraction);
|
|
123
|
+
// Check if the focused option has its own autocomplete function
|
|
124
|
+
const focusedOption = interaction.options.getFocused();
|
|
125
|
+
if (focusedOption && command.options) {
|
|
126
|
+
const optionDefinition = command.options.find((opt) => opt.name === focusedOption.name);
|
|
127
|
+
if (optionDefinition &&
|
|
128
|
+
"autocomplete" in optionDefinition &&
|
|
129
|
+
typeof optionDefinition.autocomplete === "function") {
|
|
130
|
+
return await optionDefinition.autocomplete(interaction);
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
// Fall back to command-level autocomplete
|
|
102
134
|
return await command.autocomplete(interaction);
|
|
103
135
|
}
|
|
104
136
|
catch (e) {
|