carbon-proxy 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/README.md +237 -0
- package/dist/package.json +43 -0
- package/dist/src/abstracts/AnySelectMenu.d.ts +40 -0
- package/dist/src/abstracts/AnySelectMenu.d.ts.map +1 -0
- package/dist/src/abstracts/AnySelectMenu.js +41 -0
- package/dist/src/abstracts/AnySelectMenu.js.map +1 -0
- package/dist/src/abstracts/AnySelectMenuInteraction.d.ts +12 -0
- package/dist/src/abstracts/AnySelectMenuInteraction.d.ts.map +1 -0
- package/dist/src/abstracts/AnySelectMenuInteraction.js +19 -0
- package/dist/src/abstracts/AnySelectMenuInteraction.js.map +1 -0
- package/dist/src/abstracts/Base.d.ts +10 -0
- package/dist/src/abstracts/Base.d.ts.map +1 -0
- package/dist/src/abstracts/Base.js +11 -0
- package/dist/src/abstracts/Base.js.map +1 -0
- package/dist/src/abstracts/BaseChannel.d.ts +60 -0
- package/dist/src/abstracts/BaseChannel.d.ts.map +1 -0
- package/dist/src/abstracts/BaseChannel.js +90 -0
- package/dist/src/abstracts/BaseChannel.js.map +1 -0
- package/dist/src/abstracts/BaseCommand.d.ts +77 -0
- package/dist/src/abstracts/BaseCommand.d.ts.map +1 -0
- package/dist/src/abstracts/BaseCommand.js +127 -0
- package/dist/src/abstracts/BaseCommand.js.map +1 -0
- package/dist/src/abstracts/BaseComponent.d.ts +20 -0
- package/dist/src/abstracts/BaseComponent.d.ts.map +1 -0
- package/dist/src/abstracts/BaseComponent.js +10 -0
- package/dist/src/abstracts/BaseComponent.js.map +1 -0
- package/dist/src/abstracts/BaseComponentInteraction.d.ts +18 -0
- package/dist/src/abstracts/BaseComponentInteraction.d.ts.map +1 -0
- package/dist/src/abstracts/BaseComponentInteraction.js +41 -0
- package/dist/src/abstracts/BaseComponentInteraction.js.map +1 -0
- package/dist/src/abstracts/BaseGuildChannel.d.ts +61 -0
- package/dist/src/abstracts/BaseGuildChannel.d.ts.map +1 -0
- package/dist/src/abstracts/BaseGuildChannel.js +125 -0
- package/dist/src/abstracts/BaseGuildChannel.js.map +1 -0
- package/dist/src/abstracts/BaseGuildTextChannel.d.ts +53 -0
- package/dist/src/abstracts/BaseGuildTextChannel.d.ts.map +1 -0
- package/dist/src/abstracts/BaseGuildTextChannel.js +89 -0
- package/dist/src/abstracts/BaseGuildTextChannel.js.map +1 -0
- package/dist/src/abstracts/BaseInteraction.d.ts +166 -0
- package/dist/src/abstracts/BaseInteraction.d.ts.map +1 -0
- package/dist/src/abstracts/BaseInteraction.js +274 -0
- package/dist/src/abstracts/BaseInteraction.js.map +1 -0
- package/dist/src/abstracts/BaseListener.d.ts +13 -0
- package/dist/src/abstracts/BaseListener.d.ts.map +1 -0
- package/dist/src/abstracts/BaseListener.js +8 -0
- package/dist/src/abstracts/BaseListener.js.map +1 -0
- package/dist/src/abstracts/BaseMessageInteractiveComponent.d.ts +41 -0
- package/dist/src/abstracts/BaseMessageInteractiveComponent.d.ts.map +1 -0
- package/dist/src/abstracts/BaseMessageInteractiveComponent.js +35 -0
- package/dist/src/abstracts/BaseMessageInteractiveComponent.js.map +1 -0
- package/dist/src/abstracts/BaseModalComponent.d.ts +9 -0
- package/dist/src/abstracts/BaseModalComponent.d.ts.map +1 -0
- package/dist/src/abstracts/BaseModalComponent.js +5 -0
- package/dist/src/abstracts/BaseModalComponent.js.map +1 -0
- package/dist/src/abstracts/GuildThreadOnlyChannel.d.ts +58 -0
- package/dist/src/abstracts/GuildThreadOnlyChannel.d.ts.map +1 -0
- package/dist/src/abstracts/GuildThreadOnlyChannel.js +102 -0
- package/dist/src/abstracts/GuildThreadOnlyChannel.js.map +1 -0
- package/dist/src/abstracts/Plugin.d.ts +49 -0
- package/dist/src/abstracts/Plugin.d.ts.map +1 -0
- package/dist/src/abstracts/Plugin.js +6 -0
- package/dist/src/abstracts/Plugin.js.map +1 -0
- package/dist/src/adapters/bun/index.d.ts +13 -0
- package/dist/src/adapters/bun/index.d.ts.map +1 -0
- package/dist/src/adapters/bun/index.js +16 -0
- package/dist/src/adapters/bun/index.js.map +1 -0
- package/dist/src/adapters/fetch/index.d.ts +11 -0
- package/dist/src/adapters/fetch/index.d.ts.map +1 -0
- package/dist/src/adapters/fetch/index.js +50 -0
- package/dist/src/adapters/fetch/index.js.map +1 -0
- package/dist/src/adapters/node/index.d.ts +13 -0
- package/dist/src/adapters/node/index.d.ts.map +1 -0
- package/dist/src/adapters/node/index.js +17 -0
- package/dist/src/adapters/node/index.js.map +1 -0
- package/dist/src/classes/Client.d.ts +253 -0
- package/dist/src/classes/Client.d.ts.map +1 -0
- package/dist/src/classes/Client.js +419 -0
- package/dist/src/classes/Client.js.map +1 -0
- package/dist/src/classes/Command.d.ts +44 -0
- package/dist/src/classes/Command.d.ts.map +1 -0
- package/dist/src/classes/Command.js +53 -0
- package/dist/src/classes/Command.js.map +1 -0
- package/dist/src/classes/CommandWithSubcommandGroups.d.ts +22 -0
- package/dist/src/classes/CommandWithSubcommandGroups.d.ts.map +1 -0
- package/dist/src/classes/CommandWithSubcommandGroups.js +27 -0
- package/dist/src/classes/CommandWithSubcommandGroups.js.map +1 -0
- package/dist/src/classes/CommandWithSubcommands.d.ts +19 -0
- package/dist/src/classes/CommandWithSubcommands.d.ts.map +1 -0
- package/dist/src/classes/CommandWithSubcommands.js +19 -0
- package/dist/src/classes/CommandWithSubcommands.js.map +1 -0
- package/dist/src/classes/Embed.d.ts +61 -0
- package/dist/src/classes/Embed.d.ts.map +1 -0
- package/dist/src/classes/Embed.js +75 -0
- package/dist/src/classes/Embed.js.map +1 -0
- package/dist/src/classes/Listener.d.ts +392 -0
- package/dist/src/classes/Listener.d.ts.map +1 -0
- package/dist/src/classes/Listener.js +1034 -0
- package/dist/src/classes/Listener.js.map +1 -0
- package/dist/src/classes/Modal.d.ts +37 -0
- package/dist/src/classes/Modal.d.ts.map +1 -0
- package/dist/src/classes/Modal.js +28 -0
- package/dist/src/classes/Modal.js.map +1 -0
- package/dist/src/classes/RequestClient.d.ts +106 -0
- package/dist/src/classes/RequestClient.d.ts.map +1 -0
- package/dist/src/classes/RequestClient.js +451 -0
- package/dist/src/classes/RequestClient.js.map +1 -0
- package/dist/src/classes/components/Button.d.ts +52 -0
- package/dist/src/classes/components/Button.d.ts.map +1 -0
- package/dist/src/classes/components/Button.js +71 -0
- package/dist/src/classes/components/Button.js.map +1 -0
- package/dist/src/classes/components/ChannelSelectMenu.d.ts +17 -0
- package/dist/src/classes/components/ChannelSelectMenu.d.ts.map +1 -0
- package/dist/src/classes/components/ChannelSelectMenu.js +22 -0
- package/dist/src/classes/components/ChannelSelectMenu.js.map +1 -0
- 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 +28 -0
- package/dist/src/classes/components/Container.d.ts.map +1 -0
- package/dist/src/classes/components/Container.js +38 -0
- package/dist/src/classes/components/Container.js.map +1 -0
- package/dist/src/classes/components/File.d.ts +21 -0
- package/dist/src/classes/components/File.d.ts.map +1 -0
- package/dist/src/classes/components/File.js +36 -0
- package/dist/src/classes/components/File.js.map +1 -0
- package/dist/src/classes/components/FileUpload.d.ts +23 -0
- package/dist/src/classes/components/FileUpload.d.ts.map +1 -0
- package/dist/src/classes/components/FileUpload.js +36 -0
- package/dist/src/classes/components/FileUpload.js.map +1 -0
- package/dist/src/classes/components/Label.d.ts +31 -0
- package/dist/src/classes/components/Label.d.ts.map +1 -0
- package/dist/src/classes/components/Label.js +35 -0
- package/dist/src/classes/components/Label.js.map +1 -0
- package/dist/src/classes/components/MediaGallery.d.ts +22 -0
- package/dist/src/classes/components/MediaGallery.d.ts.map +1 -0
- package/dist/src/classes/components/MediaGallery.js +32 -0
- package/dist/src/classes/components/MediaGallery.js.map +1 -0
- package/dist/src/classes/components/MentionableSelectMenu.d.ts +15 -0
- package/dist/src/classes/components/MentionableSelectMenu.d.ts.map +1 -0
- package/dist/src/classes/components/MentionableSelectMenu.js +20 -0
- package/dist/src/classes/components/MentionableSelectMenu.js.map +1 -0
- 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/RoleSelectMenu.d.ts +15 -0
- package/dist/src/classes/components/RoleSelectMenu.d.ts.map +1 -0
- package/dist/src/classes/components/RoleSelectMenu.js +20 -0
- package/dist/src/classes/components/RoleSelectMenu.js.map +1 -0
- package/dist/src/classes/components/Row.d.ts +28 -0
- package/dist/src/classes/components/Row.d.ts.map +1 -0
- package/dist/src/classes/components/Row.js +44 -0
- package/dist/src/classes/components/Row.js.map +1 -0
- package/dist/src/classes/components/Section.d.ts +23 -0
- package/dist/src/classes/components/Section.d.ts.map +1 -0
- package/dist/src/classes/components/Section.js +37 -0
- package/dist/src/classes/components/Section.js.map +1 -0
- package/dist/src/classes/components/Separator.d.ts +22 -0
- package/dist/src/classes/components/Separator.d.ts.map +1 -0
- package/dist/src/classes/components/Separator.js +33 -0
- package/dist/src/classes/components/Separator.js.map +1 -0
- package/dist/src/classes/components/StringSelectMenu.d.ts +15 -0
- package/dist/src/classes/components/StringSelectMenu.d.ts.map +1 -0
- package/dist/src/classes/components/StringSelectMenu.js +19 -0
- package/dist/src/classes/components/StringSelectMenu.js.map +1 -0
- package/dist/src/classes/components/TextDisplay.d.ts +10 -0
- package/dist/src/classes/components/TextDisplay.d.ts.map +1 -0
- package/dist/src/classes/components/TextDisplay.js +22 -0
- package/dist/src/classes/components/TextDisplay.js.map +1 -0
- package/dist/src/classes/components/TextInput.d.ts +53 -0
- package/dist/src/classes/components/TextInput.d.ts.map +1 -0
- package/dist/src/classes/components/TextInput.js +57 -0
- package/dist/src/classes/components/TextInput.js.map +1 -0
- package/dist/src/classes/components/Thumbnail.d.ts +14 -0
- package/dist/src/classes/components/Thumbnail.d.ts.map +1 -0
- package/dist/src/classes/components/Thumbnail.js +27 -0
- package/dist/src/classes/components/Thumbnail.js.map +1 -0
- package/dist/src/classes/components/UserSelectMenu.d.ts +15 -0
- package/dist/src/classes/components/UserSelectMenu.d.ts.map +1 -0
- package/dist/src/classes/components/UserSelectMenu.js +20 -0
- package/dist/src/classes/components/UserSelectMenu.js.map +1 -0
- package/dist/src/errors/BaseError.d.ts +3 -0
- package/dist/src/errors/BaseError.d.ts.map +1 -0
- package/dist/src/errors/BaseError.js +3 -0
- package/dist/src/errors/BaseError.js.map +1 -0
- package/dist/src/errors/DiscordError.d.ts +25 -0
- package/dist/src/errors/DiscordError.d.ts.map +1 -0
- package/dist/src/errors/DiscordError.js +31 -0
- package/dist/src/errors/DiscordError.js.map +1 -0
- package/dist/src/errors/RatelimitError.d.ts +15 -0
- package/dist/src/errors/RatelimitError.d.ts.map +1 -0
- package/dist/src/errors/RatelimitError.js +18 -0
- package/dist/src/errors/RatelimitError.js.map +1 -0
- package/dist/src/functions/channelFactory.d.ts +14 -0
- package/dist/src/functions/channelFactory.d.ts.map +1 -0
- package/dist/src/functions/channelFactory.js +39 -0
- package/dist/src/functions/channelFactory.js.map +1 -0
- package/dist/src/functions/enforceChoicesLimit.d.ts +3 -0
- package/dist/src/functions/enforceChoicesLimit.d.ts.map +1 -0
- package/dist/src/functions/enforceChoicesLimit.js +17 -0
- package/dist/src/functions/enforceChoicesLimit.js.map +1 -0
- package/dist/src/functions/errorsMapper.d.ts +14 -0
- package/dist/src/functions/errorsMapper.d.ts.map +1 -0
- package/dist/src/functions/errorsMapper.js +46 -0
- package/dist/src/functions/errorsMapper.js.map +1 -0
- package/dist/src/index.d.ts +93 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +100 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/internals/AutocompleteInteraction.d.ts +43 -0
- package/dist/src/internals/AutocompleteInteraction.d.ts.map +1 -0
- package/dist/src/internals/AutocompleteInteraction.js +73 -0
- package/dist/src/internals/AutocompleteInteraction.js.map +1 -0
- package/dist/src/internals/ButtonInteraction.d.ts +8 -0
- package/dist/src/internals/ButtonInteraction.d.ts.map +1 -0
- package/dist/src/internals/ButtonInteraction.js +16 -0
- package/dist/src/internals/ButtonInteraction.js.map +1 -0
- package/dist/src/internals/ChannelSelectMenuInteraction.d.ts +8 -0
- package/dist/src/internals/ChannelSelectMenuInteraction.d.ts.map +1 -0
- package/dist/src/internals/ChannelSelectMenuInteraction.js +11 -0
- package/dist/src/internals/ChannelSelectMenuInteraction.js.map +1 -0
- package/dist/src/internals/CommandHandler.d.ts +13 -0
- package/dist/src/internals/CommandHandler.d.ts.map +1 -0
- package/dist/src/internals/CommandHandler.js +143 -0
- package/dist/src/internals/CommandHandler.js.map +1 -0
- package/dist/src/internals/CommandInteraction.d.ts +26 -0
- package/dist/src/internals/CommandInteraction.d.ts.map +1 -0
- package/dist/src/internals/CommandInteraction.js +60 -0
- package/dist/src/internals/CommandInteraction.js.map +1 -0
- package/dist/src/internals/ComponentHandler.d.ts +14 -0
- package/dist/src/internals/ComponentHandler.d.ts.map +1 -0
- package/dist/src/internals/ComponentHandler.js +183 -0
- package/dist/src/internals/ComponentHandler.js.map +1 -0
- package/dist/src/internals/EmojiHandler.d.ts +19 -0
- package/dist/src/internals/EmojiHandler.d.ts.map +1 -0
- package/dist/src/internals/EmojiHandler.js +34 -0
- package/dist/src/internals/EmojiHandler.js.map +1 -0
- package/dist/src/internals/EventHandler.d.ts +22 -0
- package/dist/src/internals/EventHandler.d.ts.map +1 -0
- package/dist/src/internals/EventHandler.js +23 -0
- package/dist/src/internals/EventHandler.js.map +1 -0
- 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/FieldsHandler.d.ts +68 -0
- package/dist/src/internals/FieldsHandler.d.ts.map +1 -0
- package/dist/src/internals/FieldsHandler.js +146 -0
- package/dist/src/internals/FieldsHandler.js.map +1 -0
- package/dist/src/internals/MentionableSelectMenuInteraction.d.ts +9 -0
- package/dist/src/internals/MentionableSelectMenuInteraction.d.ts.map +1 -0
- package/dist/src/internals/MentionableSelectMenuInteraction.js +15 -0
- package/dist/src/internals/MentionableSelectMenuInteraction.js.map +1 -0
- package/dist/src/internals/ModalHandler.d.ts +17 -0
- package/dist/src/internals/ModalHandler.d.ts.map +1 -0
- package/dist/src/internals/ModalHandler.js +35 -0
- package/dist/src/internals/ModalHandler.js.map +1 -0
- package/dist/src/internals/ModalInteraction.d.ts +21 -0
- package/dist/src/internals/ModalInteraction.d.ts.map +1 -0
- package/dist/src/internals/ModalInteraction.js +41 -0
- package/dist/src/internals/ModalInteraction.js.map +1 -0
- package/dist/src/internals/OptionsHandler.d.ts +108 -0
- package/dist/src/internals/OptionsHandler.d.ts.map +1 -0
- package/dist/src/internals/OptionsHandler.js +237 -0
- package/dist/src/internals/OptionsHandler.js.map +1 -0
- package/dist/src/internals/RoleSelectMenuInteraction.d.ts +9 -0
- package/dist/src/internals/RoleSelectMenuInteraction.d.ts.map +1 -0
- package/dist/src/internals/RoleSelectMenuInteraction.js +14 -0
- package/dist/src/internals/RoleSelectMenuInteraction.js.map +1 -0
- package/dist/src/internals/StringSelectMenuInteraction.d.ts +9 -0
- package/dist/src/internals/StringSelectMenuInteraction.d.ts.map +1 -0
- package/dist/src/internals/StringSelectMenuInteraction.js +14 -0
- package/dist/src/internals/StringSelectMenuInteraction.js.map +1 -0
- 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/internals/UserSelectMenuInteraction.d.ts +9 -0
- package/dist/src/internals/UserSelectMenuInteraction.d.ts.map +1 -0
- package/dist/src/internals/UserSelectMenuInteraction.js +14 -0
- package/dist/src/internals/UserSelectMenuInteraction.js.map +1 -0
- package/dist/src/permissions.d.ts +56 -0
- package/dist/src/permissions.d.ts.map +1 -0
- package/dist/src/permissions.js +4 -0
- package/dist/src/permissions.js.map +1 -0
- package/dist/src/plugins/client-manager/ClientManager.d.ts +151 -0
- package/dist/src/plugins/client-manager/ClientManager.d.ts.map +1 -0
- package/dist/src/plugins/client-manager/ClientManager.js +253 -0
- package/dist/src/plugins/client-manager/ClientManager.js.map +1 -0
- package/dist/src/plugins/client-manager/index.d.ts +2 -0
- package/dist/src/plugins/client-manager/index.d.ts.map +1 -0
- package/dist/src/plugins/client-manager/index.js +2 -0
- package/dist/src/plugins/client-manager/index.js.map +1 -0
- package/dist/src/plugins/command-data/CommandDataPlugin.d.ts +16 -0
- package/dist/src/plugins/command-data/CommandDataPlugin.d.ts.map +1 -0
- package/dist/src/plugins/command-data/CommandDataPlugin.js +43 -0
- package/dist/src/plugins/command-data/CommandDataPlugin.js.map +1 -0
- package/dist/src/plugins/command-data/index.d.ts +2 -0
- package/dist/src/plugins/command-data/index.d.ts.map +1 -0
- package/dist/src/plugins/command-data/index.js +2 -0
- package/dist/src/plugins/command-data/index.js.map +1 -0
- package/dist/src/plugins/gateway/BabyCache.d.ts +16 -0
- package/dist/src/plugins/gateway/BabyCache.d.ts.map +1 -0
- package/dist/src/plugins/gateway/BabyCache.js +53 -0
- package/dist/src/plugins/gateway/BabyCache.js.map +1 -0
- package/dist/src/plugins/gateway/GatewayPlugin.d.ts +90 -0
- package/dist/src/plugins/gateway/GatewayPlugin.d.ts.map +1 -0
- package/dist/src/plugins/gateway/GatewayPlugin.js +516 -0
- package/dist/src/plugins/gateway/GatewayPlugin.js.map +1 -0
- package/dist/src/plugins/gateway/InteractionEventListener.d.ts +8 -0
- package/dist/src/plugins/gateway/InteractionEventListener.d.ts.map +1 -0
- package/dist/src/plugins/gateway/InteractionEventListener.js +9 -0
- package/dist/src/plugins/gateway/InteractionEventListener.js.map +1 -0
- package/dist/src/plugins/gateway/index.d.ts +7 -0
- package/dist/src/plugins/gateway/index.d.ts.map +1 -0
- package/dist/src/plugins/gateway/index.js +7 -0
- package/dist/src/plugins/gateway/index.js.map +1 -0
- package/dist/src/plugins/gateway/types.d.ts +130 -0
- package/dist/src/plugins/gateway/types.d.ts.map +1 -0
- package/dist/src/plugins/gateway/types.js +5 -0
- package/dist/src/plugins/gateway/types.js.map +1 -0
- package/dist/src/plugins/gateway/utils/heartbeat.d.ts +18 -0
- package/dist/src/plugins/gateway/utils/heartbeat.d.ts.map +1 -0
- package/dist/src/plugins/gateway/utils/heartbeat.js +33 -0
- package/dist/src/plugins/gateway/utils/heartbeat.js.map +1 -0
- package/dist/src/plugins/gateway/utils/monitor.d.ts +37 -0
- package/dist/src/plugins/gateway/utils/monitor.d.ts.map +1 -0
- package/dist/src/plugins/gateway/utils/monitor.js +88 -0
- package/dist/src/plugins/gateway/utils/monitor.js.map +1 -0
- package/dist/src/plugins/gateway/utils/payload.d.ts +24 -0
- package/dist/src/plugins/gateway/utils/payload.d.ts.map +1 -0
- package/dist/src/plugins/gateway/utils/payload.js +65 -0
- package/dist/src/plugins/gateway/utils/payload.js.map +1 -0
- 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/GatewayForwarderPlugin.d.ts +30 -0
- package/dist/src/plugins/gateway-forwarder/GatewayForwarderPlugin.d.ts.map +1 -0
- package/dist/src/plugins/gateway-forwarder/GatewayForwarderPlugin.js +80 -0
- package/dist/src/plugins/gateway-forwarder/GatewayForwarderPlugin.js.map +1 -0
- package/dist/src/plugins/gateway-forwarder/ShardedGatewayForwarderPlugin.d.ts +9 -0
- package/dist/src/plugins/gateway-forwarder/ShardedGatewayForwarderPlugin.d.ts.map +1 -0
- package/dist/src/plugins/gateway-forwarder/ShardedGatewayForwarderPlugin.js +7 -0
- package/dist/src/plugins/gateway-forwarder/ShardedGatewayForwarderPlugin.js.map +1 -0
- package/dist/src/plugins/gateway-forwarder/index.d.ts +4 -0
- package/dist/src/plugins/gateway-forwarder/index.d.ts.map +1 -0
- package/dist/src/plugins/gateway-forwarder/index.js +4 -0
- package/dist/src/plugins/gateway-forwarder/index.js.map +1 -0
- package/dist/src/plugins/linked-roles/LinkedRoles.d.ts +70 -0
- package/dist/src/plugins/linked-roles/LinkedRoles.d.ts.map +1 -0
- package/dist/src/plugins/linked-roles/LinkedRoles.js +211 -0
- package/dist/src/plugins/linked-roles/LinkedRoles.js.map +1 -0
- package/dist/src/plugins/linked-roles/index.d.ts +3 -0
- package/dist/src/plugins/linked-roles/index.d.ts.map +1 -0
- package/dist/src/plugins/linked-roles/index.js +3 -0
- package/dist/src/plugins/linked-roles/index.js.map +1 -0
- package/dist/src/plugins/linked-roles/types.d.ts +94 -0
- package/dist/src/plugins/linked-roles/types.d.ts.map +1 -0
- package/dist/src/plugins/linked-roles/types.js +39 -0
- package/dist/src/plugins/linked-roles/types.js.map +1 -0
- 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 +53 -0
- package/dist/src/plugins/paginator/Paginator.d.ts.map +1 -0
- package/dist/src/plugins/paginator/Paginator.js +183 -0
- package/dist/src/plugins/paginator/Paginator.js.map +1 -0
- package/dist/src/plugins/paginator/index.d.ts +11 -0
- package/dist/src/plugins/paginator/index.d.ts.map +1 -0
- package/dist/src/plugins/paginator/index.js +11 -0
- package/dist/src/plugins/paginator/index.js.map +1 -0
- package/dist/src/plugins/sharding/ShardingPlugin.d.ts +44 -0
- package/dist/src/plugins/sharding/ShardingPlugin.d.ts.map +1 -0
- package/dist/src/plugins/sharding/ShardingPlugin.js +119 -0
- package/dist/src/plugins/sharding/ShardingPlugin.js.map +1 -0
- package/dist/src/plugins/sharding/index.d.ts +3 -0
- package/dist/src/plugins/sharding/index.d.ts.map +1 -0
- package/dist/src/plugins/sharding/index.js +3 -0
- package/dist/src/plugins/sharding/index.js.map +1 -0
- 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 +58 -0
- package/dist/src/plugins/voice/VoicePlugin.js.map +1 -0
- package/dist/src/plugins/voice/VoiceServerUpdateListener.d.ts +10 -0
- package/dist/src/plugins/voice/VoiceServerUpdateListener.d.ts.map +1 -0
- package/dist/src/plugins/voice/VoiceServerUpdateListener.js +16 -0
- package/dist/src/plugins/voice/VoiceServerUpdateListener.js.map +1 -0
- package/dist/src/plugins/voice/VoiceStateUpdateListener.d.ts +10 -0
- package/dist/src/plugins/voice/VoiceStateUpdateListener.d.ts.map +1 -0
- package/dist/src/plugins/voice/VoiceStateUpdateListener.js +21 -0
- package/dist/src/plugins/voice/VoiceStateUpdateListener.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 +22 -0
- package/dist/src/structures/DmChannel.d.ts.map +1 -0
- package/dist/src/structures/DmChannel.js +33 -0
- package/dist/src/structures/DmChannel.js.map +1 -0
- package/dist/src/structures/Emoji.d.ts +75 -0
- package/dist/src/structures/Emoji.d.ts.map +1 -0
- package/dist/src/structures/Emoji.js +156 -0
- package/dist/src/structures/Emoji.js.map +1 -0
- package/dist/src/structures/GroupDmChannel.d.ts +75 -0
- package/dist/src/structures/GroupDmChannel.d.ts.map +1 -0
- package/dist/src/structures/GroupDmChannel.js +131 -0
- package/dist/src/structures/GroupDmChannel.js.map +1 -0
- package/dist/src/structures/Guild.d.ts +338 -0
- package/dist/src/structures/Guild.d.ts.map +1 -0
- package/dist/src/structures/Guild.js +715 -0
- package/dist/src/structures/Guild.js.map +1 -0
- package/dist/src/structures/GuildAnnouncementChannel.d.ts +21 -0
- package/dist/src/structures/GuildAnnouncementChannel.d.ts.map +1 -0
- package/dist/src/structures/GuildAnnouncementChannel.js +35 -0
- package/dist/src/structures/GuildAnnouncementChannel.js.map +1 -0
- package/dist/src/structures/GuildCategoryChannel.d.ts +23 -0
- package/dist/src/structures/GuildCategoryChannel.d.ts.map +1 -0
- package/dist/src/structures/GuildCategoryChannel.js +34 -0
- package/dist/src/structures/GuildCategoryChannel.js.map +1 -0
- package/dist/src/structures/GuildForumChannel.d.ts +14 -0
- package/dist/src/structures/GuildForumChannel.d.ts.map +1 -0
- package/dist/src/structures/GuildForumChannel.js +15 -0
- package/dist/src/structures/GuildForumChannel.js.map +1 -0
- package/dist/src/structures/GuildMediaChannel.d.ts +9 -0
- package/dist/src/structures/GuildMediaChannel.d.ts.map +1 -0
- package/dist/src/structures/GuildMediaChannel.js +7 -0
- package/dist/src/structures/GuildMediaChannel.js.map +1 -0
- package/dist/src/structures/GuildMember.d.ts +145 -0
- package/dist/src/structures/GuildMember.d.ts.map +1 -0
- package/dist/src/structures/GuildMember.js +320 -0
- package/dist/src/structures/GuildMember.js.map +1 -0
- package/dist/src/structures/GuildScheduledEvent.d.ts +121 -0
- package/dist/src/structures/GuildScheduledEvent.d.ts.map +1 -0
- package/dist/src/structures/GuildScheduledEvent.js +228 -0
- package/dist/src/structures/GuildScheduledEvent.js.map +1 -0
- package/dist/src/structures/GuildStageOrVoiceChannel.d.ts +40 -0
- package/dist/src/structures/GuildStageOrVoiceChannel.d.ts.map +1 -0
- package/dist/src/structures/GuildStageOrVoiceChannel.js +63 -0
- package/dist/src/structures/GuildStageOrVoiceChannel.js.map +1 -0
- package/dist/src/structures/GuildTextChannel.d.ts +24 -0
- package/dist/src/structures/GuildTextChannel.d.ts.map +1 -0
- package/dist/src/structures/GuildTextChannel.js +41 -0
- package/dist/src/structures/GuildTextChannel.js.map +1 -0
- package/dist/src/structures/GuildThreadChannel.d.ts +90 -0
- package/dist/src/structures/GuildThreadChannel.d.ts.map +1 -0
- package/dist/src/structures/GuildThreadChannel.js +165 -0
- package/dist/src/structures/GuildThreadChannel.js.map +1 -0
- package/dist/src/structures/Message.d.ts +174 -0
- package/dist/src/structures/Message.d.ts.map +1 -0
- package/dist/src/structures/Message.js +417 -0
- package/dist/src/structures/Message.js.map +1 -0
- package/dist/src/structures/Poll.d.ts +29 -0
- package/dist/src/structures/Poll.d.ts.map +1 -0
- package/dist/src/structures/Poll.js +51 -0
- package/dist/src/structures/Poll.js.map +1 -0
- package/dist/src/structures/Role.d.ts +151 -0
- package/dist/src/structures/Role.d.ts.map +1 -0
- package/dist/src/structures/Role.js +291 -0
- package/dist/src/structures/Role.js.map +1 -0
- package/dist/src/structures/ThreadMember.d.ts +40 -0
- package/dist/src/structures/ThreadMember.d.ts.map +1 -0
- package/dist/src/structures/ThreadMember.js +79 -0
- package/dist/src/structures/ThreadMember.js.map +1 -0
- package/dist/src/structures/User.d.ts +104 -0
- package/dist/src/structures/User.d.ts.map +1 -0
- package/dist/src/structures/User.js +199 -0
- package/dist/src/structures/User.js.map +1 -0
- package/dist/src/structures/Webhook.d.ts +160 -0
- package/dist/src/structures/Webhook.d.ts.map +1 -0
- package/dist/src/structures/Webhook.js +287 -0
- package/dist/src/structures/Webhook.js.map +1 -0
- package/dist/src/types/index.d.ts +199 -0
- package/dist/src/types/index.d.ts.map +1 -0
- package/dist/src/types/index.js +2 -0
- package/dist/src/types/index.js.map +1 -0
- package/dist/src/types/listeners.d.ts +579 -0
- package/dist/src/types/listeners.d.ts.map +1 -0
- package/dist/src/types/listeners.js +14 -0
- package/dist/src/types/listeners.js.map +1 -0
- 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/cdn.d.ts +31 -0
- package/dist/src/utils/cdn.d.ts.map +1 -0
- package/dist/src/utils/cdn.js +18 -0
- package/dist/src/utils/cdn.js.map +1 -0
- package/dist/src/utils/customIdParser.d.ts +3 -0
- package/dist/src/utils/customIdParser.d.ts.map +1 -0
- package/dist/src/utils/customIdParser.js +38 -0
- package/dist/src/utils/customIdParser.js.map +1 -0
- package/dist/src/utils/index.d.ts +6 -0
- package/dist/src/utils/index.d.ts.map +1 -0
- package/dist/src/utils/index.js +6 -0
- package/dist/src/utils/index.js.map +1 -0
- package/dist/src/utils/payload.d.ts +4 -0
- package/dist/src/utils/payload.d.ts.map +1 -0
- package/dist/src/utils/payload.js +61 -0
- package/dist/src/utils/payload.js.map +1 -0
- package/dist/src/utils/proxy.d.ts +27 -0
- package/dist/src/utils/proxy.d.ts.map +1 -0
- package/dist/src/utils/proxy.js +135 -0
- package/dist/src/utils/proxy.js.map +1 -0
- package/dist/src/utils/verification.d.ts +4 -0
- package/dist/src/utils/verification.d.ts.map +1 -0
- package/dist/src/utils/verification.js +52 -0
- package/dist/src/utils/verification.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/package.json +43 -0
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import { Routes } from "discord-api-types/v10";
|
|
2
|
+
import { GuildThreadChannel } from "../structures/GuildThreadChannel.js";
|
|
3
|
+
import { Message } from "../structures/Message.js";
|
|
4
|
+
import { BaseGuildChannel } from "./BaseGuildChannel.js";
|
|
5
|
+
export class BaseGuildTextChannel extends BaseGuildChannel {
|
|
6
|
+
/**
|
|
7
|
+
* The topic of the channel.
|
|
8
|
+
*/
|
|
9
|
+
get topic() {
|
|
10
|
+
if (!this.rawData)
|
|
11
|
+
return undefined;
|
|
12
|
+
return this.rawData.topic ?? null;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* The ID of the last message sent in the channel.
|
|
16
|
+
*
|
|
17
|
+
* @remarks
|
|
18
|
+
* This might not always resolve to a message. The ID still stays a part of the channel's data, even if the message is deleted.
|
|
19
|
+
*/
|
|
20
|
+
get lastMessageId() {
|
|
21
|
+
if (!this.rawData)
|
|
22
|
+
return undefined;
|
|
23
|
+
return this.rawData.last_message_id ?? null;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* The timestamp of the last pin in the channel.
|
|
27
|
+
*/
|
|
28
|
+
get lastPinTimestamp() {
|
|
29
|
+
if (!this.rawData)
|
|
30
|
+
return undefined;
|
|
31
|
+
return this.rawData.last_pin_timestamp ?? null;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* The rate limit per user for the channel, in seconds.
|
|
35
|
+
*/
|
|
36
|
+
get rateLimitPerUser() {
|
|
37
|
+
if (!this.rawData)
|
|
38
|
+
return undefined;
|
|
39
|
+
return this.rawData.rate_limit_per_user;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* The last message sent in the channel.
|
|
43
|
+
*
|
|
44
|
+
* @remarks
|
|
45
|
+
* This might not always resolve to a message. The ID still stays a part of the channel's data, even if the message is deleted.
|
|
46
|
+
* This will always return a partial message, so you can use {@link Message.fetch} to get the full message data.
|
|
47
|
+
*
|
|
48
|
+
*/
|
|
49
|
+
get lastMessage() {
|
|
50
|
+
if (!this.rawData)
|
|
51
|
+
return undefined;
|
|
52
|
+
if (!this.lastMessageId)
|
|
53
|
+
return null;
|
|
54
|
+
return new Message(this.client, {
|
|
55
|
+
id: this.lastMessageId,
|
|
56
|
+
channelId: this.id
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Get the pinned messages in the channel using paginated API
|
|
61
|
+
* @param options Optional pagination parameters
|
|
62
|
+
*/
|
|
63
|
+
async getChannelPins(options) {
|
|
64
|
+
const queryParams = {};
|
|
65
|
+
if (options?.before)
|
|
66
|
+
queryParams.before = options.before;
|
|
67
|
+
if (options?.limit)
|
|
68
|
+
queryParams.limit = options.limit.toString();
|
|
69
|
+
const result = (await this.client.rest.get(Routes.channelMessagesPins(this.id), Object.keys(queryParams).length > 0 ? queryParams : undefined));
|
|
70
|
+
return {
|
|
71
|
+
pins: result.items.map((pin) => ({
|
|
72
|
+
pinnedAt: pin.pinned_at,
|
|
73
|
+
message: new Message(this.client, pin.message)
|
|
74
|
+
})),
|
|
75
|
+
hasMore: result.has_more
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Start a thread without an associated start message.
|
|
80
|
+
* If you want to start a thread with a start message, use {@link Message.startThread}
|
|
81
|
+
*/
|
|
82
|
+
async startThread(data) {
|
|
83
|
+
const thread = (await this.client.rest.post(Routes.threads(this.id), {
|
|
84
|
+
body: { ...data }
|
|
85
|
+
}));
|
|
86
|
+
return new GuildThreadChannel(this.client, thread);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
//# sourceMappingURL=BaseGuildTextChannel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BaseGuildTextChannel.js","sourceRoot":"","sources":["../../../src/abstracts/BaseGuildTextChannel.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
import { type APIInteraction, type InteractionType } from "discord-api-types/v10";
|
|
2
|
+
import { type Client, Embed, Guild, Message, type Modal, User } from "../index.js";
|
|
3
|
+
import { GuildMember } from "../structures/GuildMember.js";
|
|
4
|
+
import type { MessagePayload } from "../types/index.js";
|
|
5
|
+
import { Base } from "./Base.js";
|
|
6
|
+
export type InteractionDefaults = {
|
|
7
|
+
ephemeral?: boolean;
|
|
8
|
+
};
|
|
9
|
+
/**
|
|
10
|
+
* This is the base type interaction, all interaction types extend from this
|
|
11
|
+
*/
|
|
12
|
+
export declare abstract class BaseInteraction<T extends APIInteraction> extends Base {
|
|
13
|
+
/**
|
|
14
|
+
* The type of interaction
|
|
15
|
+
*/
|
|
16
|
+
type: InteractionType;
|
|
17
|
+
/**
|
|
18
|
+
* The internal raw data of the interaction
|
|
19
|
+
*/
|
|
20
|
+
protected _rawData: T;
|
|
21
|
+
/**
|
|
22
|
+
* The raw Discord API data for this interaction
|
|
23
|
+
*/
|
|
24
|
+
get rawData(): Readonly<T>;
|
|
25
|
+
/**
|
|
26
|
+
* The user who sent the interaction
|
|
27
|
+
*/
|
|
28
|
+
userId: string | undefined;
|
|
29
|
+
/**
|
|
30
|
+
* Whether the interaction is deferred already
|
|
31
|
+
* @internal
|
|
32
|
+
*/
|
|
33
|
+
_deferred: boolean;
|
|
34
|
+
private defaultEphemeral;
|
|
35
|
+
constructor(client: Client, data: T, defaults: InteractionDefaults);
|
|
36
|
+
get embeds(): Embed[] | null;
|
|
37
|
+
get message(): Message | null;
|
|
38
|
+
get guild(): Guild<true> | null;
|
|
39
|
+
get user(): User | null;
|
|
40
|
+
get channel(): import("../index.js").DmChannel<false> | import("../index.js").GroupDmChannel<false> | import("../index.js").GuildTextChannel<false> | import("../index.js").GuildVoiceChannel<false> | import("../index.js").GuildCategoryChannel<false> | import("../index.js").GuildAnnouncementChannel<false> | import("../index.js").GuildThreadChannel<import("discord-api-types/v10").ChannelType.AnnouncementThread | import("discord-api-types/v10").ChannelType.PublicThread | import("discord-api-types/v10").ChannelType.PrivateThread, false> | import("../index.js").GuildStageChannel<false> | import("../index.js").GuildForumChannel<false> | import("../index.js").GuildMediaChannel | null;
|
|
41
|
+
get member(): GuildMember<false, true> | null;
|
|
42
|
+
/**
|
|
43
|
+
* @internal
|
|
44
|
+
* Automatically register components found in a message payload when sending the message.
|
|
45
|
+
*/
|
|
46
|
+
protected _internalAutoRegisterComponentsOnSend(data: MessagePayload): void;
|
|
47
|
+
/**
|
|
48
|
+
* @internal
|
|
49
|
+
* Register components found in a message payload when sending the message.
|
|
50
|
+
*/
|
|
51
|
+
private _internalRegisterComponentsOnSend;
|
|
52
|
+
/**
|
|
53
|
+
* Reply to an interaction.
|
|
54
|
+
* If the interaction is deferred, this will edit the original response.
|
|
55
|
+
* @param data The message data to send
|
|
56
|
+
*/
|
|
57
|
+
reply(data: MessagePayload, overrideAutoRegister?: boolean): Promise<Message<false>>;
|
|
58
|
+
/**
|
|
59
|
+
* Set the default ephemeral value for this interaction
|
|
60
|
+
* @internal
|
|
61
|
+
*/
|
|
62
|
+
setDefaultEphemeral(ephemeral: boolean): void;
|
|
63
|
+
/**
|
|
64
|
+
* Defer the interaction response. This is used automatically by commands that are set to defer.
|
|
65
|
+
* If the interaction is already deferred, this will do nothing.
|
|
66
|
+
* @internal
|
|
67
|
+
*/
|
|
68
|
+
defer({ ephemeral }?: {
|
|
69
|
+
ephemeral?: boolean | undefined;
|
|
70
|
+
}): Promise<void>;
|
|
71
|
+
/**
|
|
72
|
+
* Show a modal to the user
|
|
73
|
+
* This can only be used if the interaction is not deferred
|
|
74
|
+
*/
|
|
75
|
+
showModal(modal: Modal): Promise<void>;
|
|
76
|
+
/**
|
|
77
|
+
* Send a followup message to the interaction
|
|
78
|
+
*/
|
|
79
|
+
followUp(reply: MessagePayload): Promise<void>;
|
|
80
|
+
/**
|
|
81
|
+
* This function will reply to the interaction and wait for a component to be pressed.
|
|
82
|
+
* Any components passed in the message will not have run() functions called and
|
|
83
|
+
* will only trigger the interaction.acknowledge() function.
|
|
84
|
+
* This function will also return a promise that resolves
|
|
85
|
+
* to the custom ID of the component that was pressed.
|
|
86
|
+
*
|
|
87
|
+
* @param data The message data to send
|
|
88
|
+
* @param timeout After this many milliseconds, the promise will resolve to null
|
|
89
|
+
*/
|
|
90
|
+
replyAndWaitForComponent(data: MessagePayload, timeout?: number): Promise<{
|
|
91
|
+
/**
|
|
92
|
+
* Whether the interaction was successful
|
|
93
|
+
*/
|
|
94
|
+
success: true;
|
|
95
|
+
/**
|
|
96
|
+
* The custom ID of the component that was pressed
|
|
97
|
+
*/
|
|
98
|
+
customId: string;
|
|
99
|
+
/**
|
|
100
|
+
* The message object returned by the interaction reply
|
|
101
|
+
*/
|
|
102
|
+
message: Message<false>;
|
|
103
|
+
/**
|
|
104
|
+
* If this is a select menu, this will be the values of the selected options
|
|
105
|
+
*/
|
|
106
|
+
values?: string[];
|
|
107
|
+
} | {
|
|
108
|
+
/**
|
|
109
|
+
* Whether the interaction was successful
|
|
110
|
+
*/
|
|
111
|
+
success: false;
|
|
112
|
+
/**
|
|
113
|
+
* The message object returned by the interaction reply
|
|
114
|
+
*/
|
|
115
|
+
message: Message<false>;
|
|
116
|
+
/**
|
|
117
|
+
* The reason the interaction failed
|
|
118
|
+
*/
|
|
119
|
+
reason: "timed out";
|
|
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>;
|
|
165
|
+
}
|
|
166
|
+
//# sourceMappingURL=BaseInteraction.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BaseInteraction.d.ts","sourceRoot":"","sources":["../../../src/abstracts/BaseInteraction.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,274 @@
|
|
|
1
|
+
import { InteractionResponseType, MessageFlags, Routes } from "discord-api-types/v10";
|
|
2
|
+
import { BaseMessageInteractiveComponent, Container, channelFactory, Embed, Guild, Message, Row, Section, User } from "../index.js";
|
|
3
|
+
import { GuildMember } from "../structures/GuildMember.js";
|
|
4
|
+
import { serializePayload } from "../utils/index.js";
|
|
5
|
+
import { Base } from "./Base.js";
|
|
6
|
+
/**
|
|
7
|
+
* This is the base type interaction, all interaction types extend from this
|
|
8
|
+
*/
|
|
9
|
+
export class BaseInteraction extends Base {
|
|
10
|
+
/**
|
|
11
|
+
* The type of interaction
|
|
12
|
+
*/
|
|
13
|
+
type;
|
|
14
|
+
/**
|
|
15
|
+
* The internal raw data of the interaction
|
|
16
|
+
*/
|
|
17
|
+
_rawData;
|
|
18
|
+
/**
|
|
19
|
+
* The raw Discord API data for this interaction
|
|
20
|
+
*/
|
|
21
|
+
get rawData() {
|
|
22
|
+
return this._rawData;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* The user who sent the interaction
|
|
26
|
+
*/
|
|
27
|
+
userId;
|
|
28
|
+
/**
|
|
29
|
+
* Whether the interaction is deferred already
|
|
30
|
+
* @internal
|
|
31
|
+
*/
|
|
32
|
+
_deferred = false;
|
|
33
|
+
defaultEphemeral = false;
|
|
34
|
+
constructor(client, data, defaults) {
|
|
35
|
+
super(client);
|
|
36
|
+
this._rawData = data;
|
|
37
|
+
this.type = data.type;
|
|
38
|
+
this.userId =
|
|
39
|
+
this._rawData.user?.id || this._rawData.member?.user.id || undefined;
|
|
40
|
+
if (defaults.ephemeral)
|
|
41
|
+
this.defaultEphemeral = defaults.ephemeral;
|
|
42
|
+
}
|
|
43
|
+
get embeds() {
|
|
44
|
+
if (!this._rawData.message)
|
|
45
|
+
return null;
|
|
46
|
+
return this._rawData.message.embeds.map((embed) => new Embed(embed));
|
|
47
|
+
}
|
|
48
|
+
get message() {
|
|
49
|
+
if (!this._rawData.message)
|
|
50
|
+
return null;
|
|
51
|
+
return new Message(this.client, this._rawData.message);
|
|
52
|
+
}
|
|
53
|
+
get guild() {
|
|
54
|
+
if (!this._rawData.guild_id)
|
|
55
|
+
return null;
|
|
56
|
+
return new Guild(this.client, this._rawData.guild_id);
|
|
57
|
+
}
|
|
58
|
+
get user() {
|
|
59
|
+
if (this._rawData.user)
|
|
60
|
+
return new User(this.client, this._rawData.user);
|
|
61
|
+
if (this._rawData.member)
|
|
62
|
+
return new User(this.client, this._rawData.member.user);
|
|
63
|
+
return null;
|
|
64
|
+
}
|
|
65
|
+
get channel() {
|
|
66
|
+
if (!this._rawData.channel)
|
|
67
|
+
return null;
|
|
68
|
+
return channelFactory(this.client, this._rawData.channel);
|
|
69
|
+
}
|
|
70
|
+
get member() {
|
|
71
|
+
if (!this._rawData.member)
|
|
72
|
+
return null;
|
|
73
|
+
if (!this.guild)
|
|
74
|
+
return null;
|
|
75
|
+
return new GuildMember(this.client, this._rawData.member, this.guild);
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* @internal
|
|
79
|
+
* Automatically register components found in a message payload when sending the message.
|
|
80
|
+
*/
|
|
81
|
+
_internalAutoRegisterComponentsOnSend(data) {
|
|
82
|
+
if (typeof data !== "string" && data.components) {
|
|
83
|
+
this._internalRegisterComponentsOnSend(data.components);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* @internal
|
|
88
|
+
* Register components found in a message payload when sending the message.
|
|
89
|
+
*/
|
|
90
|
+
_internalRegisterComponentsOnSend(components) {
|
|
91
|
+
for (const component of components) {
|
|
92
|
+
if (component instanceof Row) {
|
|
93
|
+
for (const childComponent of component.components) {
|
|
94
|
+
if (childComponent instanceof BaseMessageInteractiveComponent) {
|
|
95
|
+
const key = childComponent.customIdParser(childComponent.customId).key;
|
|
96
|
+
if (!this.client.componentHandler.hasComponentWithKey(key)) {
|
|
97
|
+
this.client.componentHandler.registerComponent(childComponent);
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
else if (component instanceof Section) {
|
|
103
|
+
if (component.accessory instanceof BaseMessageInteractiveComponent) {
|
|
104
|
+
const key = component.accessory.customIdParser(component.accessory.customId).key;
|
|
105
|
+
if (!this.client.componentHandler.hasComponentWithKey(key)) {
|
|
106
|
+
this.client.componentHandler.registerComponent(component.accessory);
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
else if (component instanceof Container) {
|
|
111
|
+
this._internalRegisterComponentsOnSend(component.components);
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Reply to an interaction.
|
|
117
|
+
* If the interaction is deferred, this will edit the original response.
|
|
118
|
+
* @param data The message data to send
|
|
119
|
+
*/
|
|
120
|
+
async reply(data, overrideAutoRegister = false) {
|
|
121
|
+
const serialized = serializePayload(data, this.defaultEphemeral);
|
|
122
|
+
// Auto-register any components in the message
|
|
123
|
+
if (!overrideAutoRegister)
|
|
124
|
+
this._internalAutoRegisterComponentsOnSend(data);
|
|
125
|
+
if (this._deferred) {
|
|
126
|
+
const message = (await this.client.rest.patch(Routes.webhookMessage(this.client.options.clientId, this._rawData.token, "@original"), {
|
|
127
|
+
body: serialized
|
|
128
|
+
}));
|
|
129
|
+
return new Message(this.client, message);
|
|
130
|
+
}
|
|
131
|
+
const done = (await this.client.rest.post(Routes.interactionCallback(this._rawData.id, this._rawData.token), {
|
|
132
|
+
body: {
|
|
133
|
+
type: InteractionResponseType.ChannelMessageWithSource,
|
|
134
|
+
data: serialized
|
|
135
|
+
}
|
|
136
|
+
}, {
|
|
137
|
+
with_response: true
|
|
138
|
+
}));
|
|
139
|
+
if (!done.resource?.message)
|
|
140
|
+
throw new Error(`No resource returned for message from interaction callback: ${done.resource}`);
|
|
141
|
+
return new Message(this.client, done.resource.message);
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* Set the default ephemeral value for this interaction
|
|
145
|
+
* @internal
|
|
146
|
+
*/
|
|
147
|
+
setDefaultEphemeral(ephemeral) {
|
|
148
|
+
this.defaultEphemeral = ephemeral;
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* Defer the interaction response. This is used automatically by commands that are set to defer.
|
|
152
|
+
* If the interaction is already deferred, this will do nothing.
|
|
153
|
+
* @internal
|
|
154
|
+
*/
|
|
155
|
+
async defer({ ephemeral = false } = {}) {
|
|
156
|
+
if (this._deferred)
|
|
157
|
+
return;
|
|
158
|
+
this._deferred = true;
|
|
159
|
+
await this.client.rest.post(Routes.interactionCallback(this._rawData.id, this._rawData.token), {
|
|
160
|
+
body: {
|
|
161
|
+
type: InteractionResponseType.DeferredChannelMessageWithSource,
|
|
162
|
+
data: {
|
|
163
|
+
flags: ephemeral || this.defaultEphemeral
|
|
164
|
+
? MessageFlags.Ephemeral
|
|
165
|
+
: undefined
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
});
|
|
169
|
+
}
|
|
170
|
+
/**
|
|
171
|
+
* Show a modal to the user
|
|
172
|
+
* This can only be used if the interaction is not deferred
|
|
173
|
+
*/
|
|
174
|
+
async showModal(modal) {
|
|
175
|
+
if (this._deferred)
|
|
176
|
+
throw new Error("You cannot defer an interaction that shows a modal");
|
|
177
|
+
const key = modal.customIdParser(modal.customId).key;
|
|
178
|
+
const existingModal = this.client.modalHandler.modals.find((m) => m.customIdParser(m.customId).key === key);
|
|
179
|
+
if (!existingModal) {
|
|
180
|
+
this.client.modalHandler.registerModal(modal);
|
|
181
|
+
}
|
|
182
|
+
await this.client.rest.post(Routes.interactionCallback(this._rawData.id, this._rawData.token), {
|
|
183
|
+
body: {
|
|
184
|
+
type: InteractionResponseType.Modal,
|
|
185
|
+
data: modal.serialize()
|
|
186
|
+
}
|
|
187
|
+
});
|
|
188
|
+
}
|
|
189
|
+
/**
|
|
190
|
+
* Send a followup message to the interaction
|
|
191
|
+
*/
|
|
192
|
+
async followUp(reply) {
|
|
193
|
+
const serialized = serializePayload(reply);
|
|
194
|
+
// Auto-register any components in the message
|
|
195
|
+
this._internalAutoRegisterComponentsOnSend(reply);
|
|
196
|
+
await this.client.rest.post(Routes.webhook(this.client.options.clientId, this._rawData.token), {
|
|
197
|
+
body: {
|
|
198
|
+
...serialized
|
|
199
|
+
}
|
|
200
|
+
});
|
|
201
|
+
}
|
|
202
|
+
/**
|
|
203
|
+
* This function will reply to the interaction and wait for a component to be pressed.
|
|
204
|
+
* Any components passed in the message will not have run() functions called and
|
|
205
|
+
* will only trigger the interaction.acknowledge() function.
|
|
206
|
+
* This function will also return a promise that resolves
|
|
207
|
+
* to the custom ID of the component that was pressed.
|
|
208
|
+
*
|
|
209
|
+
* @param data The message data to send
|
|
210
|
+
* @param timeout After this many milliseconds, the promise will resolve to null
|
|
211
|
+
*/
|
|
212
|
+
async replyAndWaitForComponent(data, timeout = 300000) {
|
|
213
|
+
const message = await this.reply(data, true);
|
|
214
|
+
const id = `${message.id}-${message.channelId}`;
|
|
215
|
+
return new Promise((resolve) => {
|
|
216
|
+
const timer = setTimeout(() => {
|
|
217
|
+
this.client.componentHandler.oneOffComponents.delete(id);
|
|
218
|
+
resolve({ success: false, message, reason: "timed out" });
|
|
219
|
+
}, timeout);
|
|
220
|
+
this.client.componentHandler.oneOffComponents.set(id, {
|
|
221
|
+
resolve: (data) => {
|
|
222
|
+
clearTimeout(timer);
|
|
223
|
+
this.client.componentHandler.oneOffComponents.delete(id);
|
|
224
|
+
resolve({
|
|
225
|
+
success: true,
|
|
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,
|
|
267
|
+
values: "values" in data ? data.values : undefined
|
|
268
|
+
});
|
|
269
|
+
}
|
|
270
|
+
});
|
|
271
|
+
});
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
//# sourceMappingURL=BaseInteraction.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BaseInteraction.js","sourceRoot":"","sources":["../../../src/abstracts/BaseInteraction.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { Client } from "../classes/Client.js";
|
|
2
|
+
import type { ListenerEventAdditionalData, ListenerEventData, ListenerEventRawData, ListenerEventType } from "../types/listeners.js";
|
|
3
|
+
/**
|
|
4
|
+
* Base class for creating event listeners that handle Discord gateway events.
|
|
5
|
+
* This abstract class defines the structure for event listeners and provides type safety for event handling.
|
|
6
|
+
* @abstract
|
|
7
|
+
*/
|
|
8
|
+
export declare abstract class BaseListener {
|
|
9
|
+
abstract readonly type: ListenerEventType;
|
|
10
|
+
abstract handle(data: ListenerEventData[this["type"]] & ListenerEventAdditionalData, client: Client): Promise<void>;
|
|
11
|
+
abstract parseRawData(data: ListenerEventRawData[this["type"]] & ListenerEventAdditionalData, client: Client): ListenerEventData[this["type"]];
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=BaseListener.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BaseListener.d.ts","sourceRoot":"","sources":["../../../src/abstracts/BaseListener.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAClD,OAAO,KAAK,EACX,2BAA2B,EAC3B,iBAAiB,EACjB,oBAAoB,EACpB,iBAAiB,EACjB,MAAM,uBAAuB,CAAA;AAE9B;;;;GAIG;AACH,8BAAsB,YAAY;IACjC,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAA;IACzC,QAAQ,CAAC,MAAM,CACd,IAAI,EAAE,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,2BAA2B,EACnE,MAAM,EAAE,MAAM,GACZ,OAAO,CAAC,IAAI,CAAC;IAEhB,QAAQ,CAAC,YAAY,CACpB,IAAI,EAAE,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,2BAA2B,EACtE,MAAM,EAAE,MAAM,GACZ,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;CAClC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Base class for creating event listeners that handle Discord gateway events.
|
|
3
|
+
* This abstract class defines the structure for event listeners and provides type safety for event handling.
|
|
4
|
+
* @abstract
|
|
5
|
+
*/
|
|
6
|
+
export class BaseListener {
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=BaseListener.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BaseListener.js","sourceRoot":"","sources":["../../../src/abstracts/BaseListener.ts"],"names":[],"mappings":"AAQA;;;;GAIG;AACH,MAAM,OAAgB,YAAY;CAWjC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import type { APIComponentInMessageActionRow, ComponentType } from "discord-api-types/v10";
|
|
2
|
+
import type { ComponentData, ComponentParserResult, ConditionalComponentOption } from "../types/index.js";
|
|
3
|
+
import { BaseComponent } from "./BaseComponent.js";
|
|
4
|
+
import type { BaseComponentInteraction } from "./BaseComponentInteraction.js";
|
|
5
|
+
export declare abstract class BaseMessageInteractiveComponent extends BaseComponent {
|
|
6
|
+
abstract type: ComponentType.Button | ComponentType.StringSelect | ComponentType.TextInput | ComponentType.UserSelect | ComponentType.RoleSelect | ComponentType.MentionableSelect | ComponentType.ChannelSelect;
|
|
7
|
+
readonly isV2 = false;
|
|
8
|
+
/**
|
|
9
|
+
* Whether the component response should be automatically deferred.
|
|
10
|
+
* Can be a boolean or a function that receives the interaction and returns a boolean.
|
|
11
|
+
*/
|
|
12
|
+
defer: boolean | ConditionalComponentOption;
|
|
13
|
+
/**
|
|
14
|
+
* Whether the component response should be ephemeral.
|
|
15
|
+
* Can be a boolean or a function that receives the interaction and returns a boolean.
|
|
16
|
+
*/
|
|
17
|
+
ephemeral: boolean | ConditionalComponentOption;
|
|
18
|
+
/**
|
|
19
|
+
* The custom ID of the component.
|
|
20
|
+
* 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.
|
|
21
|
+
*
|
|
22
|
+
* @see {@link customIdParser}
|
|
23
|
+
*/
|
|
24
|
+
abstract customId: string;
|
|
25
|
+
/**
|
|
26
|
+
* 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.
|
|
27
|
+
* 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.
|
|
28
|
+
* It will also automatically parse `true` and `false` as booleans, and will parse numbers as numbers.
|
|
29
|
+
*
|
|
30
|
+
* You can override this to parse the ID in a different format as you see fit, but it must follow these rules:
|
|
31
|
+
* - 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.
|
|
32
|
+
* - 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.
|
|
33
|
+
*
|
|
34
|
+
* @param id - The custom ID of the component as received from an interaction event
|
|
35
|
+
* @returns The base key and the data object
|
|
36
|
+
*/
|
|
37
|
+
customIdParser: (id: string) => ComponentParserResult;
|
|
38
|
+
abstract serialize: () => APIComponentInMessageActionRow;
|
|
39
|
+
run(interaction: BaseComponentInteraction, data: ComponentData): unknown | Promise<unknown>;
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=BaseMessageInteractiveComponent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BaseMessageInteractiveComponent.d.ts","sourceRoot":"","sources":["../../../src/abstracts/BaseMessageInteractiveComponent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,8BAA8B,EAC9B,aAAa,EACb,MAAM,uBAAuB,CAAA;AAC9B,OAAO,KAAK,EACX,aAAa,EACb,qBAAqB,EACrB,0BAA0B,EAC1B,MAAM,mBAAmB,CAAA;AAE1B,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAClD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAA;AAE7E,8BAAsB,+BAAgC,SAAQ,aAAa;IAC1E,QAAQ,CAAC,IAAI,EACV,aAAa,CAAC,MAAM,GACpB,aAAa,CAAC,YAAY,GAC1B,aAAa,CAAC,SAAS,GACvB,aAAa,CAAC,UAAU,GACxB,aAAa,CAAC,UAAU,GACxB,aAAa,CAAC,iBAAiB,GAC/B,aAAa,CAAC,aAAa,CAAA;IAE9B,QAAQ,CAAC,IAAI,SAAQ;IAErB;;;OAGG;IACH,KAAK,EAAE,OAAO,GAAG,0BAA0B,CAAQ;IACnD;;;OAGG;IACH,SAAS,EAAE,OAAO,GAAG,0BAA0B,CAAQ;IAEvD;;;;;OAKG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IAEzB;;;;;;;;;;;OAWG;IACH,cAAc,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,qBAAqB,CAAgB;IAErE,QAAQ,CAAC,SAAS,EAAE,MAAM,8BAA8B,CAAA;IAExD,GAAG,CACF,WAAW,EAAE,wBAAwB,EACrC,IAAI,EAAE,aAAa,GACjB,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;CAM7B"}
|