seyfert 1.5.0 → 2.0.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/LICENSE +21 -190
- package/README.md +18 -10
- package/lib/api/Router.js +2 -2
- package/lib/api/Routes/applications.d.ts +23 -1
- package/lib/api/Routes/channels.d.ts +1 -1
- package/lib/api/Routes/gateway.d.ts +1 -1
- package/lib/api/Routes/guilds.d.ts +5 -2
- package/lib/api/Routes/interactions.d.ts +1 -1
- package/lib/api/Routes/invites.d.ts +1 -1
- package/lib/api/Routes/stage-instances.d.ts +1 -1
- package/lib/api/Routes/stickers.d.ts +2 -2
- package/lib/api/Routes/users.d.ts +1 -1
- package/lib/api/Routes/voice.d.ts +1 -1
- package/lib/api/Routes/webhooks.d.ts +2 -2
- package/lib/api/api.d.ts +2 -2
- package/lib/api/api.js +2 -14
- package/lib/api/bucket.d.ts +0 -1
- package/lib/api/shared.d.ts +0 -1
- package/lib/api/utils/constants.d.ts +2 -5
- package/lib/api/utils/constants.js +3 -7
- package/lib/api/utils/utils.d.ts +1 -2
- package/lib/api/utils/utils.js +2 -3
- package/lib/builders/ActionRow.d.ts +1 -1
- package/lib/builders/ActionRow.js +3 -3
- package/lib/builders/Attachment.d.ts +2 -3
- package/lib/builders/Attachment.js +12 -13
- package/lib/builders/Base.d.ts +2 -2
- package/lib/builders/Base.js +1 -1
- package/lib/builders/Button.d.ts +7 -7
- package/lib/builders/Button.js +11 -9
- package/lib/builders/Embed.d.ts +1 -1
- package/lib/builders/Modal.d.ts +1 -1
- package/lib/builders/Modal.js +2 -2
- package/lib/builders/Poll.d.ts +2 -2
- package/lib/builders/Poll.js +5 -6
- package/lib/builders/SelectMenu.d.ts +1 -1
- package/lib/builders/SelectMenu.js +17 -18
- package/lib/builders/index.d.ts +1 -1
- package/lib/builders/index.js +10 -11
- package/lib/cache/adapters/default.d.ts +16 -9
- package/lib/cache/adapters/default.js +42 -31
- package/lib/cache/adapters/index.d.ts +0 -1
- package/lib/cache/adapters/index.js +0 -1
- package/lib/cache/adapters/limited.d.ts +17 -12
- package/lib/cache/adapters/limited.js +80 -36
- package/lib/cache/adapters/types.d.ts +6 -7
- package/lib/cache/adapters/workeradapter.d.ts +6 -6
- package/lib/cache/adapters/workeradapter.js +13 -0
- package/lib/cache/index.d.ts +18 -9
- package/lib/cache/index.js +319 -21
- package/lib/cache/resources/bans.d.ts +9 -6
- package/lib/cache/resources/bans.js +13 -4
- package/lib/cache/resources/channels.d.ts +6 -4
- package/lib/cache/resources/channels.js +13 -7
- package/lib/cache/resources/default/base.d.ts +7 -7
- package/lib/cache/resources/default/base.js +2 -2
- package/lib/cache/resources/default/guild-based.d.ts +6 -6
- package/lib/cache/resources/default/guild-based.js +6 -6
- package/lib/cache/resources/default/guild-related.d.ts +7 -7
- package/lib/cache/resources/default/guild-related.js +10 -8
- package/lib/cache/resources/emojis.d.ts +15 -6
- package/lib/cache/resources/emojis.js +13 -4
- package/lib/cache/resources/guilds.d.ts +9 -6
- package/lib/cache/resources/guilds.js +27 -6
- package/lib/cache/resources/members.d.ts +9 -6
- package/lib/cache/resources/members.js +22 -6
- package/lib/cache/resources/messages.d.ts +11 -7
- package/lib/cache/resources/messages.js +19 -7
- package/lib/cache/resources/overwrites.d.ts +11 -2
- package/lib/cache/resources/overwrites.js +9 -0
- package/lib/cache/resources/presence.d.ts +3 -2
- package/lib/cache/resources/roles.d.ts +9 -6
- package/lib/cache/resources/roles.js +13 -4
- package/lib/cache/resources/stage-instances.d.ts +2 -2
- package/lib/cache/resources/stickers.d.ts +9 -6
- package/lib/cache/resources/stickers.js +13 -4
- package/lib/cache/resources/threads.d.ts +9 -6
- package/lib/cache/resources/threads.js +13 -4
- package/lib/cache/resources/users.d.ts +9 -6
- package/lib/cache/resources/users.js +13 -4
- package/lib/cache/resources/voice-states.d.ts +11 -8
- package/lib/cache/resources/voice-states.js +15 -4
- package/lib/client/base.d.ts +28 -20
- package/lib/client/base.js +58 -56
- package/lib/client/client.d.ts +7 -16
- package/lib/client/client.js +29 -31
- package/lib/client/collectors.d.ts +10 -10
- package/lib/client/collectors.js +26 -1
- package/lib/client/httpclient.d.ts +8 -13
- package/lib/client/httpclient.js +27 -218
- package/lib/client/index.d.ts +1 -0
- package/lib/client/index.js +1 -0
- package/lib/client/transformers.d.ts +68 -0
- package/lib/client/transformers.js +99 -0
- package/lib/client/types.d.ts +5 -0
- package/lib/client/types.js +2 -0
- package/lib/client/workerclient.d.ts +14 -14
- package/lib/client/workerclient.js +112 -66
- package/lib/commands/applications/chat.d.ts +35 -34
- package/lib/commands/applications/chat.js +5 -9
- package/lib/commands/applications/chatcontext.d.ts +17 -17
- package/lib/commands/applications/chatcontext.js +5 -5
- package/lib/commands/applications/menu.d.ts +2 -3
- package/lib/commands/applications/menu.js +2 -5
- package/lib/commands/applications/menucontext.d.ts +14 -13
- package/lib/commands/applications/menucontext.js +9 -9
- package/lib/commands/applications/options.d.ts +1 -1
- package/lib/commands/applications/options.js +20 -21
- package/lib/commands/applications/shared.d.ts +3 -1
- package/lib/commands/decorators.d.ts +38 -20
- package/lib/commands/decorators.js +17 -18
- package/lib/commands/handle.d.ts +64 -0
- package/lib/commands/handle.js +685 -0
- package/lib/commands/handler.d.ts +27 -18
- package/lib/commands/handler.js +290 -164
- package/lib/commands/optionresolver.d.ts +13 -13
- package/lib/commands/optionresolver.js +23 -28
- package/lib/common/bot/watcher.d.ts +4 -33
- package/lib/common/bot/watcher.js +0 -109
- package/lib/common/index.d.ts +1 -0
- package/lib/common/index.js +1 -0
- package/lib/common/it/colors.js +48 -49
- package/lib/common/it/formatter.d.ts +32 -0
- package/lib/common/it/formatter.js +42 -0
- package/lib/common/it/logger.d.ts +0 -1
- package/lib/common/it/logger.js +3 -3
- package/lib/common/it/utils.d.ts +15 -2
- package/lib/common/it/utils.js +78 -17
- package/lib/common/shorters/application.d.ts +56 -0
- package/lib/common/shorters/application.js +81 -0
- package/lib/common/shorters/bans.d.ts +4 -5
- package/lib/common/shorters/bans.js +3 -3
- package/lib/common/shorters/channels.d.ts +7 -6
- package/lib/common/shorters/channels.js +19 -15
- package/lib/common/shorters/emojis.d.ts +5 -6
- package/lib/common/shorters/emojis.js +5 -5
- package/lib/common/shorters/guilds.d.ts +18 -16
- package/lib/common/shorters/guilds.js +31 -26
- package/lib/common/shorters/interaction.d.ts +6 -6
- package/lib/common/shorters/interaction.js +3 -2
- package/lib/common/shorters/members.d.ts +29 -12
- package/lib/common/shorters/members.js +55 -16
- package/lib/common/shorters/messages.d.ts +7 -8
- package/lib/common/shorters/messages.js +8 -7
- package/lib/common/shorters/reactions.d.ts +3 -3
- package/lib/common/shorters/reactions.js +11 -11
- package/lib/common/shorters/roles.d.ts +9 -7
- package/lib/common/shorters/roles.js +26 -7
- package/lib/common/shorters/templates.d.ts +7 -8
- package/lib/common/shorters/templates.js +7 -7
- package/lib/common/shorters/threads.d.ts +6 -7
- package/lib/common/shorters/threads.js +6 -9
- package/lib/common/shorters/users.d.ts +4 -4
- package/lib/common/shorters/users.js +8 -4
- package/lib/common/shorters/webhook.d.ts +10 -10
- package/lib/common/shorters/webhook.js +10 -9
- package/lib/common/types/resolvables.d.ts +2 -2
- package/lib/common/types/util.d.ts +3 -1
- package/lib/common/types/write.d.ts +1 -1
- package/lib/components/ActionRow.d.ts +1 -1
- package/lib/components/BaseComponent.d.ts +1 -1
- package/lib/components/BaseComponent.js +1 -1
- package/lib/components/BaseSelectMenuComponent.d.ts +1 -1
- package/lib/components/ButtonComponent.d.ts +17 -7
- package/lib/components/ButtonComponent.js +19 -2
- package/lib/components/ChannelSelectMenuComponent.d.ts +3 -3
- package/lib/components/MentionableSelectMenuComponent.d.ts +2 -2
- package/lib/components/RoleSelectMenuComponent.d.ts +2 -2
- package/lib/components/StringSelectMenuComponent.d.ts +2 -2
- package/lib/components/TextInputComponent.d.ts +2 -2
- package/lib/components/UserSelectMenuComponent.d.ts +2 -2
- package/lib/components/componentcommand.js +2 -2
- package/lib/components/componentcontext.d.ts +10 -9
- package/lib/components/componentcontext.js +8 -8
- package/lib/components/handler.d.ts +15 -14
- package/lib/components/handler.js +89 -93
- package/lib/components/index.d.ts +3 -3
- package/lib/components/index.js +12 -10
- package/lib/components/modalcontext.d.ts +12 -11
- package/lib/components/modalcontext.js +2 -2
- package/lib/deps/mixer.d.ts +8 -0
- package/lib/deps/mixer.js +66 -0
- package/lib/events/handler.d.ts +35 -13
- package/lib/events/handler.js +58 -25
- package/lib/events/hooks/application_command.d.ts +2 -2
- package/lib/events/hooks/auto_moderation.d.ts +6 -7
- package/lib/events/hooks/auto_moderation.js +4 -4
- package/lib/events/hooks/channel.d.ts +2 -2
- package/lib/events/hooks/channel.js +4 -7
- package/lib/events/hooks/custom.d.ts +3 -3
- package/lib/events/hooks/dispatch.d.ts +3 -4
- package/lib/events/hooks/dispatch.js +2 -2
- package/lib/events/hooks/entitlement.d.ts +5 -37
- package/lib/events/hooks/entitlement.js +7 -7
- package/lib/events/hooks/guild.d.ts +125 -125
- package/lib/events/hooks/guild.js +13 -15
- package/lib/events/hooks/integration.d.ts +27 -28
- package/lib/events/hooks/integration.js +3 -3
- package/lib/events/hooks/interactions.d.ts +2 -2
- package/lib/events/hooks/invite.d.ts +18 -17
- package/lib/events/hooks/message.d.ts +69 -54
- package/lib/events/hooks/message.js +4 -8
- package/lib/events/hooks/presence.d.ts +17 -16
- package/lib/events/hooks/stage.d.ts +4 -4
- package/lib/events/hooks/thread.d.ts +132 -63
- package/lib/events/hooks/thread.js +4 -4
- package/lib/events/hooks/typing.d.ts +28 -6
- package/lib/events/hooks/typing.js +2 -2
- package/lib/events/hooks/user.d.ts +3 -3
- package/lib/events/hooks/user.js +2 -2
- package/lib/events/hooks/voice.d.ts +28 -3
- package/lib/events/hooks/voice.js +8 -4
- package/lib/events/hooks/webhook.d.ts +1 -1
- package/lib/index.d.ts +5 -14
- package/lib/index.js +7 -12
- package/lib/langs/handler.d.ts +14 -10
- package/lib/langs/handler.js +40 -9
- package/lib/structures/AutoModerationRule.d.ts +4 -4
- package/lib/structures/AutoModerationRule.js +1 -2
- package/lib/structures/ClientUser.d.ts +1 -1
- package/lib/structures/Entitlement.d.ts +10 -0
- package/lib/structures/Entitlement.js +16 -0
- package/lib/structures/Guild.d.ts +33 -34
- package/lib/structures/Guild.js +5 -2
- package/lib/structures/GuildBan.d.ts +6 -6
- package/lib/structures/GuildBan.js +2 -1
- package/lib/structures/GuildEmoji.d.ts +4 -4
- package/lib/structures/GuildEmoji.js +3 -2
- package/lib/structures/GuildMember.d.ts +20 -17
- package/lib/structures/GuildMember.js +18 -8
- package/lib/structures/GuildPreview.d.ts +1 -1
- package/lib/structures/GuildRole.d.ts +5 -3
- package/lib/structures/GuildRole.js +8 -1
- package/lib/structures/GuildTemplate.d.ts +2 -2
- package/lib/structures/GuildTemplate.js +1 -1
- package/lib/structures/Interaction.d.ts +53 -36
- package/lib/structures/Interaction.js +127 -91
- package/lib/structures/Message.d.ts +29 -30
- package/lib/structures/Message.js +8 -9
- package/lib/structures/Poll.d.ts +4 -3
- package/lib/structures/Poll.js +6 -2
- package/lib/structures/Sticker.d.ts +7 -7
- package/lib/structures/Sticker.js +7 -7
- package/lib/structures/User.d.ts +5 -4
- package/lib/structures/User.js +2 -1
- package/lib/structures/VoiceState.d.ts +15 -11
- package/lib/structures/VoiceState.js +35 -17
- package/lib/structures/Webhook.d.ts +6 -7
- package/lib/structures/Webhook.js +6 -7
- package/lib/structures/channels.d.ts +11 -10
- package/lib/structures/channels.js +70 -65
- package/lib/structures/extra/BaseGuild.d.ts +1 -1
- package/lib/structures/extra/BaseGuild.js +3 -3
- package/lib/structures/extra/BitField.d.ts +1 -1
- package/lib/structures/extra/BitField.js +3 -2
- package/lib/structures/extra/DiscordBase.js +2 -2
- package/lib/structures/extra/Permissions.d.ts +3 -1
- package/lib/structures/extra/Permissions.js +8 -3
- package/lib/types/gateway.d.ts +1537 -0
- package/lib/types/gateway.js +4 -0
- package/lib/types/index.d.ts +9 -1
- package/lib/types/index.js +28 -1
- package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/attachment.d.ts +5 -0
- package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/attachment.js +2 -0
- package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/base.d.ts +22 -0
- package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/base.js +2 -0
- package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/boolean.d.ts +4 -0
- package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/boolean.js +2 -0
- package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/channel.d.ts +7 -0
- package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/channel.js +2 -0
- package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/integer.d.ts +17 -0
- package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/integer.js +2 -0
- package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/mentionable.d.ts +5 -0
- package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/mentionable.js +2 -0
- package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/number.d.ts +17 -0
- package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/number.js +2 -0
- package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/role.d.ts +5 -0
- package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/role.js +2 -0
- package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/shared.d.ts +25 -0
- package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/shared.js +20 -0
- package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/string.d.ts +17 -0
- package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/string.js +2 -0
- package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/subcommand.d.ts +11 -0
- package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/subcommand.js +2 -0
- package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/subcommandGroup.d.ts +11 -0
- package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/subcommandGroup.js +2 -0
- package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/user.d.ts +5 -0
- package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/user.js +2 -0
- package/lib/types/payloads/_interactions/_applicationCommands/chatInput.d.ts +60 -0
- package/lib/types/payloads/_interactions/_applicationCommands/chatInput.js +29 -0
- package/lib/types/payloads/_interactions/_applicationCommands/contextMenu.d.ts +65 -0
- package/lib/types/payloads/_interactions/_applicationCommands/contextMenu.js +2 -0
- package/lib/types/payloads/_interactions/_applicationCommands/internals.d.ts +8 -0
- package/lib/types/payloads/_interactions/_applicationCommands/internals.js +2 -0
- package/lib/types/payloads/_interactions/_applicationCommands/permissions.d.ts +54 -0
- package/lib/types/payloads/_interactions/_applicationCommands/permissions.js +20 -0
- package/lib/types/payloads/_interactions/applicationCommands.d.ts +153 -0
- package/lib/types/payloads/_interactions/applicationCommands.js +61 -0
- package/lib/types/payloads/_interactions/autocomplete.d.ts +10 -0
- package/lib/types/payloads/_interactions/autocomplete.js +2 -0
- package/lib/types/payloads/_interactions/base.d.ts +197 -0
- package/lib/types/payloads/_interactions/base.js +2 -0
- package/lib/types/payloads/_interactions/messageComponents.d.ts +41 -0
- package/lib/types/payloads/_interactions/messageComponents.js +2 -0
- package/lib/types/payloads/_interactions/modalSubmit.d.ts +35 -0
- package/lib/types/payloads/_interactions/modalSubmit.js +2 -0
- package/lib/types/payloads/_interactions/ping.d.ts +3 -0
- package/lib/types/payloads/_interactions/ping.js +2 -0
- package/lib/types/payloads/_interactions/responses.d.ts +112 -0
- package/lib/types/payloads/_interactions/responses.js +54 -0
- package/lib/types/payloads/application.d.ts +292 -0
- package/lib/types/payloads/application.js +117 -0
- package/lib/types/payloads/auditLog.d.ts +644 -0
- package/lib/types/payloads/auditLog.js +80 -0
- package/lib/types/payloads/autoModeration.d.ts +219 -0
- package/lib/types/payloads/autoModeration.js +87 -0
- package/lib/types/payloads/channel.d.ts +1708 -0
- package/lib/types/payloads/channel.js +372 -0
- package/lib/types/payloads/emoji.d.ts +48 -0
- package/lib/types/payloads/emoji.js +5 -0
- package/lib/types/payloads/gateway.d.ts +373 -0
- package/lib/types/payloads/gateway.js +82 -0
- package/lib/types/payloads/guild.d.ts +1060 -0
- package/lib/types/payloads/guild.js +324 -0
- package/lib/types/payloads/guildScheduledEvent.d.ts +138 -0
- package/lib/types/payloads/guildScheduledEvent.js +32 -0
- package/lib/types/payloads/index.d.ts +64 -0
- package/lib/types/payloads/index.js +37 -0
- package/lib/types/payloads/interactions.d.ts +24 -0
- package/lib/types/payloads/interactions.js +23 -0
- package/lib/types/payloads/invite.d.ts +121 -0
- package/lib/types/payloads/invite.js +23 -0
- package/lib/types/payloads/monetization.d.ts +150 -0
- package/lib/types/payloads/monetization.js +79 -0
- package/lib/types/payloads/oauth2.d.ts +131 -0
- package/lib/types/payloads/oauth2.js +135 -0
- package/lib/types/payloads/permissions.d.ts +97 -0
- package/lib/types/payloads/permissions.js +16 -0
- package/lib/types/payloads/poll.d.ts +104 -0
- package/lib/types/payloads/poll.js +16 -0
- package/lib/types/payloads/stageInstance.d.ts +77 -0
- package/lib/types/payloads/stageInstance.js +19 -0
- package/lib/types/payloads/sticker.d.ts +123 -0
- package/lib/types/payloads/sticker.js +30 -0
- package/lib/types/payloads/teams.d.ts +78 -0
- package/lib/types/payloads/teams.js +23 -0
- package/lib/types/payloads/template.d.ts +62 -0
- package/lib/types/payloads/template.js +5 -0
- package/lib/types/payloads/user.d.ts +337 -0
- package/lib/types/payloads/user.js +167 -0
- package/lib/types/payloads/voice.d.ts +89 -0
- package/lib/types/payloads/voice.js +5 -0
- package/lib/types/payloads/webhook.d.ts +76 -0
- package/lib/types/payloads/webhook.js +21 -0
- package/lib/types/rest/application.d.ts +57 -0
- package/lib/types/rest/application.js +2 -0
- package/lib/types/rest/auditLog.d.ts +30 -0
- package/lib/types/rest/auditLog.js +2 -0
- package/lib/types/rest/autoModeration.d.ts +66 -0
- package/lib/types/rest/autoModeration.js +2 -0
- package/lib/types/rest/channel.d.ts +712 -0
- package/lib/types/rest/channel.js +11 -0
- package/lib/types/rest/emoji.d.ts +54 -0
- package/lib/types/rest/emoji.js +2 -0
- package/lib/types/rest/gateway.d.ts +9 -0
- package/lib/types/rest/gateway.js +2 -0
- package/lib/types/rest/guild.d.ts +865 -0
- package/lib/types/rest/guild.js +2 -0
- package/lib/types/rest/guildScheduledEvent.d.ts +126 -0
- package/lib/types/rest/guildScheduledEvent.js +2 -0
- package/lib/types/rest/index.d.ts +296 -0
- package/lib/types/rest/index.js +292 -0
- package/lib/types/rest/interactions.d.ts +194 -0
- package/lib/types/rest/interactions.js +2 -0
- package/lib/types/rest/invite.d.ts +24 -0
- package/lib/types/rest/invite.js +2 -0
- package/lib/types/rest/monetization.d.ts +82 -0
- package/lib/types/rest/monetization.js +11 -0
- package/lib/types/rest/oauth2.d.ts +172 -0
- package/lib/types/rest/oauth2.js +2 -0
- package/lib/types/rest/poll.d.ts +44 -0
- package/lib/types/rest/poll.js +2 -0
- package/lib/types/rest/stageInstance.d.ts +58 -0
- package/lib/types/rest/stageInstance.js +2 -0
- package/lib/types/rest/sticker.d.ts +77 -0
- package/lib/types/rest/sticker.js +2 -0
- package/lib/types/rest/template.d.ts +62 -0
- package/lib/types/rest/template.js +2 -0
- package/lib/types/rest/user.d.ts +120 -0
- package/lib/types/rest/user.js +2 -0
- package/lib/types/rest/voice.d.ts +17 -0
- package/lib/types/rest/voice.js +2 -0
- package/lib/types/rest/webhook.d.ts +250 -0
- package/lib/types/rest/webhook.js +2 -0
- package/lib/types/utils/index.d.ts +797 -0
- package/lib/types/utils/index.js +799 -0
- package/lib/websocket/SharedTypes.d.ts +4 -3
- package/lib/websocket/SharedTypes.js +1 -1
- package/lib/websocket/constants/index.d.ts +0 -1
- package/lib/websocket/discord/basesocket.d.ts +7 -7
- package/lib/websocket/discord/basesocket.js +34 -22
- package/lib/websocket/discord/events/memberUpdate.d.ts +1 -6
- package/lib/websocket/discord/events/memberUpdate.js +2 -1
- package/lib/websocket/discord/events/presenceUpdate.d.ts +5 -18
- package/lib/websocket/discord/events/presenceUpdate.js +5 -6
- package/lib/websocket/discord/shard.d.ts +8 -8
- package/lib/websocket/discord/shard.js +59 -47
- package/lib/websocket/discord/sharder.d.ts +6 -5
- package/lib/websocket/discord/sharder.js +11 -10
- package/lib/websocket/discord/shared.d.ts +13 -5
- package/lib/websocket/discord/socket/custom.d.ts +52 -0
- package/lib/websocket/discord/socket/custom.js +283 -0
- package/lib/websocket/discord/worker.d.ts +5 -10
- package/lib/websocket/discord/workermanager.d.ts +8 -15
- package/lib/websocket/discord/workermanager.js +35 -39
- package/lib/websocket/structures/index.d.ts +0 -1
- package/lib/websocket/structures/index.js +1 -1
- package/lib/websocket/structures/timeout.d.ts +0 -1
- package/package.json +65 -74
- package/lib/cache/adapters/redis.d.ts +0 -37
- package/lib/cache/adapters/redis.js +0 -218
- package/lib/client/oninteractioncreate.d.ts +0 -4
- package/lib/client/oninteractioncreate.js +0 -198
- package/lib/client/onmessagecreate.d.ts +0 -13
- package/lib/client/onmessagecreate.js +0 -410
- package/lib/structures/extra/functions.d.ts +0 -12
- package/lib/structures/extra/functions.js +0 -70
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import type { APIPartialEmoji } from '
|
|
1
|
+
import type { APIGuildMember, APIPartialEmoji } from '../../types';
|
|
2
2
|
import type { EmbedColors } from '..';
|
|
3
3
|
import type { Attachment, AttachmentDataType, AttachmentResolvable } from '../../builders';
|
|
4
4
|
import type { GuildMember } from '../../structures';
|
|
5
5
|
export type EmojiResolvable = string | Partial<APIPartialEmoji> | `<${string | undefined}:${string}:${string}>`;
|
|
6
|
-
export type GuildMemberResolvable = string | Partial<GuildMember
|
|
6
|
+
export type GuildMemberResolvable = string | Partial<GuildMember> | APIGuildMember;
|
|
7
7
|
export type ColorResolvable = `#${string}` | number | keyof typeof EmbedColors | 'Random' | [number, number, number];
|
|
8
8
|
export type ImageResolvable = {
|
|
9
9
|
data: AttachmentResolvable;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { GatewayIntentBits, PermissionFlagsBits } from '
|
|
1
|
+
import type { GatewayIntentBits, PermissionFlagsBits } from '../../types';
|
|
2
2
|
export type ToClass<T, This> = new (...args: any[]) => {
|
|
3
3
|
[K in keyof T]: T[K] extends (...args: any[]) => any ? ReturnType<T[K]> extends Promise<T> ? (...args: Parameters<T[K]>) => Promise<This> : ReturnType<T[K]> extends T ? (...args: Parameters<T[K]>) => This : T[K] : T[K];
|
|
4
4
|
};
|
|
@@ -37,6 +37,8 @@ export type When<T extends boolean, A, B = never> = T extends true ? A : B;
|
|
|
37
37
|
export type AuxIsStrictlyUndefined<T> = T extends undefined | null | never | void ? true : false;
|
|
38
38
|
export type IsStrictlyUndefined<T> = AuxIsStrictlyUndefined<T> extends true ? true : AuxIsStrictlyUndefined<T> extends false ? false : false;
|
|
39
39
|
export type If<T extends boolean, A, B = null> = T extends true ? A : B extends null ? A | null : B;
|
|
40
|
+
export type NulleableCoalising<A, B> = NonFalsy<A> extends never ? B : A;
|
|
41
|
+
export type TupleOr<A, T> = ValueOf<A> extends never ? A : TupleOr<ArrayFirsElement<T>, Tail<T>>;
|
|
40
42
|
export type PickPartial<T, K extends keyof T> = {
|
|
41
43
|
[P in keyof T]?: T[P] | undefined;
|
|
42
44
|
} & {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { APIActionRowComponent, APIEmbed, APIInteractionResponseCallbackData, APIInteractionResponseChannelMessageWithSource, APIMessageActionRowComponent, APIModalInteractionResponse, RESTAPIPollCreate, RESTPatchAPIChannelMessageJSONBody, RESTPatchAPIWebhookWithTokenMessageJSONBody, RESTPostAPIChannelMessageJSONBody, RESTPostAPIWebhookWithTokenJSONBody } from '
|
|
1
|
+
import type { APIActionRowComponent, APIEmbed, APIInteractionResponseCallbackData, APIInteractionResponseChannelMessageWithSource, APIMessageActionRowComponent, APIModalInteractionResponse, RESTAPIPollCreate, RESTPatchAPIChannelMessageJSONBody, RESTPatchAPIWebhookWithTokenMessageJSONBody, RESTPostAPIChannelMessageJSONBody, RESTPostAPIWebhookWithTokenJSONBody } from '../../types';
|
|
2
2
|
import type { RawFile } from '../../api';
|
|
3
3
|
import type { ActionRow, Attachment, AttachmentBuilder, BuilderComponents, Embed, Modal, PollBuilder } from '../../builders';
|
|
4
4
|
import type { OmitInsert } from './util';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { APIMessageActionRowComponent, ComponentType } from '
|
|
1
|
+
import type { APIMessageActionRowComponent, ComponentType } from '../types';
|
|
2
2
|
import { BaseComponent } from './BaseComponent';
|
|
3
3
|
import type { ActionRowMessageComponents } from './index';
|
|
4
4
|
export declare class MessageActionRowComponent<T extends ActionRowMessageComponents> extends BaseComponent<ComponentType.ActionRow> {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type APIActionRowComponent, type APIActionRowComponentTypes, type APIButtonComponent, type APIChannelSelectComponent, type APIMentionableSelectComponent, type APIRoleSelectComponent, type APIStringSelectComponent, type APITextInputComponent, type APIUserSelectComponent, ComponentType } from '
|
|
1
|
+
import { type APIActionRowComponent, type APIActionRowComponentTypes, type APIButtonComponent, type APIChannelSelectComponent, type APIMentionableSelectComponent, type APIRoleSelectComponent, type APIStringSelectComponent, type APITextInputComponent, type APIUserSelectComponent, ComponentType } from '../types';
|
|
2
2
|
export declare class BaseComponent<T extends ComponentType> {
|
|
3
3
|
data: APIComponentsMap[T];
|
|
4
4
|
constructor(data: APIComponentsMap[T]);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.BaseComponent = void 0;
|
|
4
|
-
const
|
|
4
|
+
const types_1 = require("../types");
|
|
5
5
|
const builders_1 = require("../builders");
|
|
6
6
|
class BaseComponent {
|
|
7
7
|
data;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ComponentType } from '
|
|
1
|
+
import type { ComponentType } from '../types';
|
|
2
2
|
import { BaseComponent } from './BaseComponent';
|
|
3
3
|
export type APISelectMenuComponentTypes = ComponentType.ChannelSelect | ComponentType.MentionableSelect | ComponentType.RoleSelect | ComponentType.StringSelect | ComponentType.UserSelect;
|
|
4
4
|
export declare class BaseSelectMenuComponent<T extends APISelectMenuComponentTypes> extends BaseComponent<T> {
|
|
@@ -1,19 +1,29 @@
|
|
|
1
|
-
import type { ButtonStyle, ComponentType } from '
|
|
2
|
-
import { Button
|
|
1
|
+
import type { APIButtonComponentWithCustomId, APIButtonComponentWithSKUId, APIButtonComponentWithURL, ButtonStyle, ComponentType } from '../types';
|
|
2
|
+
import { Button } from '../builders';
|
|
3
3
|
import { BaseComponent } from './BaseComponent';
|
|
4
4
|
export declare class LinkButtonComponent extends BaseComponent<ComponentType.Button> {
|
|
5
|
+
data: APIButtonComponentWithURL;
|
|
5
6
|
get style(): ButtonStyle.Link;
|
|
6
7
|
get url(): string;
|
|
7
8
|
get label(): string | undefined;
|
|
8
9
|
get disabled(): boolean | undefined;
|
|
9
|
-
get emoji(): import("
|
|
10
|
-
toBuilder(): Button
|
|
10
|
+
get emoji(): import("../types").APIMessageComponentEmoji | undefined;
|
|
11
|
+
toBuilder(): Button;
|
|
11
12
|
}
|
|
12
13
|
export type ButtonStyleExludeLink = Exclude<ButtonStyle, ButtonStyle.Link>;
|
|
13
14
|
export declare class ButtonComponent extends BaseComponent<ComponentType.Button> {
|
|
14
|
-
|
|
15
|
+
data: APIButtonComponentWithCustomId;
|
|
16
|
+
get style(): ButtonStyle.Primary | ButtonStyle.Secondary | ButtonStyle.Success | ButtonStyle.Danger;
|
|
17
|
+
get customId(): string;
|
|
15
18
|
get label(): string | undefined;
|
|
16
19
|
get disabled(): boolean | undefined;
|
|
17
|
-
get emoji(): import("
|
|
18
|
-
toBuilder(): Button
|
|
20
|
+
get emoji(): import("../types").APIMessageComponentEmoji | undefined;
|
|
21
|
+
toBuilder(): Button;
|
|
22
|
+
}
|
|
23
|
+
export declare class SKUButtonComponent extends BaseComponent<ComponentType.Button> {
|
|
24
|
+
data: APIButtonComponentWithSKUId;
|
|
25
|
+
get style(): ButtonStyle.Premium;
|
|
26
|
+
get skuId(): string;
|
|
27
|
+
get disabled(): boolean | undefined;
|
|
28
|
+
toBuilder(): Button;
|
|
19
29
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ButtonComponent = exports.LinkButtonComponent = void 0;
|
|
3
|
+
exports.SKUButtonComponent = exports.ButtonComponent = exports.LinkButtonComponent = void 0;
|
|
4
4
|
const builders_1 = require("../builders");
|
|
5
5
|
const BaseComponent_1 = require("./BaseComponent");
|
|
6
6
|
class LinkButtonComponent extends BaseComponent_1.BaseComponent {
|
|
@@ -8,7 +8,6 @@ class LinkButtonComponent extends BaseComponent_1.BaseComponent {
|
|
|
8
8
|
return this.data.style;
|
|
9
9
|
}
|
|
10
10
|
get url() {
|
|
11
|
-
// @ts-expect-error
|
|
12
11
|
return this.data.url;
|
|
13
12
|
}
|
|
14
13
|
get label() {
|
|
@@ -29,6 +28,9 @@ class ButtonComponent extends BaseComponent_1.BaseComponent {
|
|
|
29
28
|
get style() {
|
|
30
29
|
return this.data.style;
|
|
31
30
|
}
|
|
31
|
+
get customId() {
|
|
32
|
+
return this.data.custom_id;
|
|
33
|
+
}
|
|
32
34
|
get label() {
|
|
33
35
|
return this.data.label;
|
|
34
36
|
}
|
|
@@ -43,3 +45,18 @@ class ButtonComponent extends BaseComponent_1.BaseComponent {
|
|
|
43
45
|
}
|
|
44
46
|
}
|
|
45
47
|
exports.ButtonComponent = ButtonComponent;
|
|
48
|
+
class SKUButtonComponent extends BaseComponent_1.BaseComponent {
|
|
49
|
+
get style() {
|
|
50
|
+
return this.data.style;
|
|
51
|
+
}
|
|
52
|
+
get skuId() {
|
|
53
|
+
return this.data.sku_id;
|
|
54
|
+
}
|
|
55
|
+
get disabled() {
|
|
56
|
+
return this.data.disabled;
|
|
57
|
+
}
|
|
58
|
+
toBuilder() {
|
|
59
|
+
return new builders_1.Button(this.data);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
exports.SKUButtonComponent = SKUButtonComponent;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type { ComponentType } from '
|
|
1
|
+
import type { ComponentType } from '../types';
|
|
2
2
|
import { BaseSelectMenuComponent } from './BaseSelectMenuComponent';
|
|
3
3
|
export declare class ChannelSelectMenuComponent extends BaseSelectMenuComponent<ComponentType.ChannelSelect> {
|
|
4
|
-
get channelsTypes(): import("
|
|
5
|
-
get defaultValues(): import("
|
|
4
|
+
get channelsTypes(): import("../types").ChannelType[] | undefined;
|
|
5
|
+
get defaultValues(): import("../types").APISelectMenuDefaultValue<import("../types").SelectMenuDefaultValueType.Channel>[] | undefined;
|
|
6
6
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { ComponentType } from '
|
|
1
|
+
import type { ComponentType } from '../types';
|
|
2
2
|
import { BaseSelectMenuComponent } from './BaseSelectMenuComponent';
|
|
3
3
|
export declare class MentionableSelectMenuComponent extends BaseSelectMenuComponent<ComponentType.MentionableSelect> {
|
|
4
|
-
get defaultValues(): import("
|
|
4
|
+
get defaultValues(): import("../types").APISelectMenuDefaultValue<import("../types").SelectMenuDefaultValueType.Role | import("../types").SelectMenuDefaultValueType.User>[] | undefined;
|
|
5
5
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { ComponentType } from '
|
|
1
|
+
import type { ComponentType } from '../types';
|
|
2
2
|
import { BaseSelectMenuComponent } from './BaseSelectMenuComponent';
|
|
3
3
|
export declare class RoleSelectMenuComponent extends BaseSelectMenuComponent<ComponentType.RoleSelect> {
|
|
4
|
-
get defaultValues(): import("
|
|
4
|
+
get defaultValues(): import("../types").APISelectMenuDefaultValue<import("../types").SelectMenuDefaultValueType.Role>[] | undefined;
|
|
5
5
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { ComponentType } from '
|
|
1
|
+
import type { ComponentType } from '../types';
|
|
2
2
|
import { BaseSelectMenuComponent } from './BaseSelectMenuComponent';
|
|
3
3
|
export declare class StringSelectMenuComponent extends BaseSelectMenuComponent<ComponentType.StringSelect> {
|
|
4
|
-
get options(): import("
|
|
4
|
+
get options(): import("../types").APISelectMenuOption[];
|
|
5
5
|
}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import type { ComponentType } from '
|
|
1
|
+
import type { ComponentType } from '../types';
|
|
2
2
|
import { BaseComponent } from './BaseComponent';
|
|
3
3
|
export declare class TextInputComponent extends BaseComponent<ComponentType.TextInput> {
|
|
4
4
|
get customId(): string;
|
|
5
5
|
get value(): string | undefined;
|
|
6
|
-
get style(): import("
|
|
6
|
+
get style(): import("../types").TextInputStyle;
|
|
7
7
|
get label(): string;
|
|
8
8
|
get max(): number | undefined;
|
|
9
9
|
get min(): number | undefined;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { ComponentType } from '
|
|
1
|
+
import type { ComponentType } from '../types';
|
|
2
2
|
import { BaseSelectMenuComponent } from './BaseSelectMenuComponent';
|
|
3
3
|
export declare class UserSelectMenuComponent extends BaseSelectMenuComponent<ComponentType.UserSelect> {
|
|
4
|
-
get defaultValues(): import("
|
|
4
|
+
get defaultValues(): import("../types").APISelectMenuDefaultValue<import("../types").SelectMenuDefaultValueType.User>[] | undefined;
|
|
5
5
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.ComponentCommand = exports.InteractionCommandType = void 0;
|
|
4
|
-
const
|
|
4
|
+
const types_1 = require("../types");
|
|
5
5
|
exports.InteractionCommandType = {
|
|
6
6
|
COMPONENT: 0,
|
|
7
7
|
MODAL: 1,
|
|
@@ -11,7 +11,7 @@ class ComponentCommand {
|
|
|
11
11
|
middlewares = [];
|
|
12
12
|
props;
|
|
13
13
|
get cType() {
|
|
14
|
-
return
|
|
14
|
+
return types_1.ComponentType[this.componentType];
|
|
15
15
|
}
|
|
16
16
|
}
|
|
17
17
|
exports.ComponentCommand = ComponentCommand;
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import type { AllChannels, ButtonInteraction, ChannelSelectMenuInteraction, ComponentCommand,
|
|
1
|
+
import type { AllChannels, ButtonInteraction, ChannelSelectMenuInteraction, ComponentCommand, MentionableSelectMenuInteraction, ReturnCache, RoleSelectMenuInteraction, StringSelectMenuInteraction, UserSelectMenuInteraction } from '..';
|
|
2
2
|
import type { CommandMetadata, ExtendContext, GlobalMetadata, RegisteredMiddlewares, UsingClient } from '../commands';
|
|
3
3
|
import { BaseContext } from '../commands/basecontext';
|
|
4
4
|
import type { ComponentInteractionMessageUpdate, InteractionCreateBodyRequest, InteractionMessageUpdateBodyRequest, ModalCreateBodyRequest, UnionToTuple, When } from '../common';
|
|
5
|
+
import type { GuildMemberStructure, GuildStructure, MessageStructure, WebhookMessageStructure } from '../client/transformers';
|
|
5
6
|
export interface ComponentContext<Type extends keyof ContextComponentCommandInteractionMap = keyof ContextComponentCommandInteractionMap> extends BaseContext, ExtendContext {
|
|
6
7
|
}
|
|
7
8
|
/**
|
|
@@ -24,7 +25,7 @@ export declare class ComponentContext<Type extends keyof ContextComponentCommand
|
|
|
24
25
|
* Gets the language object for the interaction's locale.
|
|
25
26
|
*/
|
|
26
27
|
get t(): import("..").__InternalParseLocale<import("..").DefaultLocale> & {
|
|
27
|
-
get(locale?: string
|
|
28
|
+
get(locale?: string): import("..").DefaultLocale;
|
|
28
29
|
};
|
|
29
30
|
/**
|
|
30
31
|
* Gets the custom ID of the interaction.
|
|
@@ -35,7 +36,7 @@ export declare class ComponentContext<Type extends keyof ContextComponentCommand
|
|
|
35
36
|
* @param body - The body of the response.
|
|
36
37
|
* @param fetchReply - Whether to fetch the reply or not.
|
|
37
38
|
*/
|
|
38
|
-
write<FR extends boolean = false>(body: InteractionCreateBodyRequest, fetchReply?: FR): Promise<When<FR, WebhookMessage, void>>;
|
|
39
|
+
write<FR extends boolean = false>(body: InteractionCreateBodyRequest, fetchReply?: FR): Promise<When<FR, import("..").WebhookMessage, void>>;
|
|
39
40
|
/**
|
|
40
41
|
* Defers the reply to the interaction.
|
|
41
42
|
* @param ephemeral - Whether the reply should be ephemeral or not.
|
|
@@ -45,7 +46,7 @@ export declare class ComponentContext<Type extends keyof ContextComponentCommand
|
|
|
45
46
|
* Edits the response of the interaction.
|
|
46
47
|
* @param body - The updated body of the response.
|
|
47
48
|
*/
|
|
48
|
-
editResponse(body: InteractionMessageUpdateBodyRequest): Promise<WebhookMessage>;
|
|
49
|
+
editResponse(body: InteractionMessageUpdateBodyRequest): Promise<import("..").WebhookMessage>;
|
|
49
50
|
/**
|
|
50
51
|
* Updates the interaction with new data.
|
|
51
52
|
* @param body - The updated body of the interaction.
|
|
@@ -56,7 +57,7 @@ export declare class ComponentContext<Type extends keyof ContextComponentCommand
|
|
|
56
57
|
* @param body - The body of the response or updated body of the interaction.
|
|
57
58
|
* @param fetchReply - Whether to fetch the reply or not.
|
|
58
59
|
*/
|
|
59
|
-
editOrReply<FR extends boolean = false>(body: InteractionCreateBodyRequest | InteractionMessageUpdateBodyRequest, fetchReply?: FR): Promise<When<FR,
|
|
60
|
+
editOrReply<FR extends boolean = false>(body: InteractionCreateBodyRequest | InteractionMessageUpdateBodyRequest, fetchReply?: FR): Promise<When<FR, WebhookMessageStructure | MessageStructure, void | WebhookMessageStructure | MessageStructure>>;
|
|
60
61
|
/**
|
|
61
62
|
* Deletes the response of the interaction.
|
|
62
63
|
* @returns A promise that resolves when the response is deleted.
|
|
@@ -75,15 +76,15 @@ export declare class ComponentContext<Type extends keyof ContextComponentCommand
|
|
|
75
76
|
* @param mode - The mode to fetch the member.
|
|
76
77
|
* @returns A promise that resolves to the bot member.
|
|
77
78
|
*/
|
|
78
|
-
me(mode?: 'rest' | 'flow'): Promise<
|
|
79
|
-
me(mode?: 'cache'): ReturnCache<
|
|
79
|
+
me(mode?: 'rest' | 'flow'): Promise<GuildMemberStructure>;
|
|
80
|
+
me(mode?: 'cache'): ReturnCache<GuildMemberStructure | undefined>;
|
|
80
81
|
/**
|
|
81
82
|
* Gets the guild of the interaction.
|
|
82
83
|
* @param mode - The mode to fetch the guild.
|
|
83
84
|
* @returns A promise that resolves to the guild.
|
|
84
85
|
*/
|
|
85
|
-
guild(mode?: 'rest' | 'flow'): Promise<
|
|
86
|
-
guild(mode?: 'cache'): ReturnCache<
|
|
86
|
+
guild(mode?: 'rest' | 'flow'): Promise<GuildStructure<'cached' | 'api'> | undefined>;
|
|
87
|
+
guild(mode?: 'cache'): ReturnCache<GuildStructure<'cached'> | undefined>;
|
|
87
88
|
/**
|
|
88
89
|
* Gets the ID of the guild of the interaction.
|
|
89
90
|
*/
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.ComponentContext = void 0;
|
|
4
|
-
const
|
|
4
|
+
const types_1 = require("../types");
|
|
5
5
|
const basecontext_1 = require("../commands/basecontext");
|
|
6
6
|
/**
|
|
7
7
|
* Represents a context for interacting with components in a Discord bot.
|
|
@@ -48,7 +48,7 @@ class ComponentContext extends basecontext_1.BaseContext {
|
|
|
48
48
|
* @param ephemeral - Whether the reply should be ephemeral or not.
|
|
49
49
|
*/
|
|
50
50
|
deferReply(ephemeral = false) {
|
|
51
|
-
return this.interaction.deferReply(ephemeral ?
|
|
51
|
+
return this.interaction.deferReply(ephemeral ? types_1.MessageFlags.Ephemeral : undefined);
|
|
52
52
|
}
|
|
53
53
|
/**
|
|
54
54
|
* Edits the response of the interaction.
|
|
@@ -135,22 +135,22 @@ class ComponentContext extends basecontext_1.BaseContext {
|
|
|
135
135
|
return true;
|
|
136
136
|
}
|
|
137
137
|
isButton() {
|
|
138
|
-
return this.interaction.data.componentType ===
|
|
138
|
+
return this.interaction.data.componentType === types_1.ComponentType.Button;
|
|
139
139
|
}
|
|
140
140
|
isChannelSelectMenu() {
|
|
141
|
-
return this.interaction.componentType ===
|
|
141
|
+
return this.interaction.componentType === types_1.ComponentType.ChannelSelect;
|
|
142
142
|
}
|
|
143
143
|
isRoleSelectMenu() {
|
|
144
|
-
return this.interaction.componentType ===
|
|
144
|
+
return this.interaction.componentType === types_1.ComponentType.RoleSelect;
|
|
145
145
|
}
|
|
146
146
|
isMentionableSelectMenu() {
|
|
147
|
-
return this.interaction.componentType ===
|
|
147
|
+
return this.interaction.componentType === types_1.ComponentType.MentionableSelect;
|
|
148
148
|
}
|
|
149
149
|
isUserSelectMenu() {
|
|
150
|
-
return this.interaction.componentType ===
|
|
150
|
+
return this.interaction.componentType === types_1.ComponentType.UserSelect;
|
|
151
151
|
}
|
|
152
152
|
isStringSelectMenu() {
|
|
153
|
-
return this.interaction.componentType ===
|
|
153
|
+
return this.interaction.componentType === types_1.ComponentType.StringSelect;
|
|
154
154
|
}
|
|
155
155
|
}
|
|
156
156
|
exports.ComponentContext = ComponentContext;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
/// <reference types="node" />
|
|
2
1
|
import type { ComponentCallback, ListenerOptions, ModalSubmitCallback } from '../builders/types';
|
|
3
2
|
import { LimitedCollection } from '../collection';
|
|
4
3
|
import { type UsingClient } from '../commands';
|
|
4
|
+
import type { FileLoaded } from '../commands/handler';
|
|
5
5
|
import { BaseHandler, type Logger, type OnFailCallback } from '../common';
|
|
6
6
|
import type { ComponentInteraction, ModalSubmitInteraction, StringSelectMenuInteraction } from '../structures';
|
|
7
7
|
import { ComponentCommand } from './componentcommand';
|
|
@@ -19,16 +19,18 @@ type COMPONENTS = {
|
|
|
19
19
|
timeout?: NodeJS.Timeout;
|
|
20
20
|
__run: (customId: string | string[] | RegExp, callback: ComponentCallback) => any;
|
|
21
21
|
};
|
|
22
|
+
export type CollectorInteraction = ComponentInteraction | StringSelectMenuInteraction;
|
|
23
|
+
export type ComponentCommands = ComponentCommand | ModalCommand;
|
|
22
24
|
export declare class ComponentHandler extends BaseHandler {
|
|
23
25
|
protected client: UsingClient;
|
|
24
26
|
onFail: OnFailCallback;
|
|
25
27
|
readonly values: Map<string, COMPONENTS>;
|
|
26
28
|
readonly modals: LimitedCollection<string, ModalSubmitCallback>;
|
|
27
|
-
readonly commands:
|
|
29
|
+
readonly commands: ComponentCommands[];
|
|
28
30
|
protected filter: (path: string) => boolean;
|
|
29
31
|
constructor(logger: Logger, client: UsingClient);
|
|
30
32
|
createComponentCollector(messageId: string, options?: ListenerOptions): {
|
|
31
|
-
run<T extends
|
|
33
|
+
run<T extends CollectorInteraction = CollectorInteraction>(customId: string | string[] | RegExp, callback: ComponentCallback<T>): any;
|
|
32
34
|
stop(reason?: string): any;
|
|
33
35
|
};
|
|
34
36
|
onComponent(id: string, interaction: ComponentInteraction): Promise<void>;
|
|
@@ -38,18 +40,17 @@ export declare class ComponentHandler extends BaseHandler {
|
|
|
38
40
|
onModalSubmit(interaction: ModalSubmitInteraction): any;
|
|
39
41
|
deleteValue(id: string, reason?: string): void;
|
|
40
42
|
onMessageDelete(id: string): void;
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
43
|
+
stablishDefaults(component: ComponentCommands): void;
|
|
44
|
+
set(instances: (new () => ComponentCommands)[]): void;
|
|
45
|
+
load(componentsDir: string): Promise<void>;
|
|
44
46
|
reload(path: string): Promise<any>;
|
|
45
47
|
reloadAll(stopIfFail?: boolean): Promise<void>;
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
}) => ModalCommand | ComponentCommand | false;
|
|
48
|
+
execute(i: ComponentCommands, context: ComponentContext | ModalContext): Promise<any>;
|
|
49
|
+
executeComponent(context: ComponentContext): Promise<void>;
|
|
50
|
+
executeModal(context: ModalContext): Promise<void>;
|
|
51
|
+
onFile(file: FileLoaded<new () => ComponentCommands>): (new () => ComponentCommands)[] | undefined;
|
|
52
|
+
callback(file: {
|
|
53
|
+
new (): ComponentCommands;
|
|
54
|
+
}): ComponentCommands | false;
|
|
54
55
|
}
|
|
55
56
|
export {};
|
|
@@ -117,44 +117,67 @@ class ComponentHandler extends common_1.BaseHandler {
|
|
|
117
117
|
onMessageDelete(id) {
|
|
118
118
|
this.deleteValue(id, 'messageDelete');
|
|
119
119
|
}
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
120
|
+
stablishDefaults(component) {
|
|
121
|
+
component.props ??= this.client.options.commands?.defaults?.props ?? {};
|
|
122
|
+
const is = component instanceof modalcommand_1.ModalCommand ? 'modals' : 'components';
|
|
123
|
+
component.onInternalError ??= this.client.options?.[is]?.defaults?.onInternalError;
|
|
124
|
+
component.onMiddlewaresError ??= this.client.options?.[is]?.defaults?.onMiddlewaresError;
|
|
125
|
+
component.onRunError ??= this.client.options?.[is]?.defaults?.onRunError;
|
|
126
|
+
component.onAfterRun ??= this.client.options?.[is]?.defaults?.onAfterRun;
|
|
127
|
+
}
|
|
128
|
+
set(instances) {
|
|
129
|
+
for (const i of instances) {
|
|
126
130
|
let component;
|
|
127
131
|
try {
|
|
128
|
-
component = this.callback(
|
|
132
|
+
component = this.callback(i);
|
|
129
133
|
if (!component)
|
|
130
134
|
continue;
|
|
131
135
|
}
|
|
132
136
|
catch (e) {
|
|
133
|
-
|
|
134
|
-
this.logger.warn(`${value.path
|
|
135
|
-
.split(process.cwd())
|
|
136
|
-
.slice(1)
|
|
137
|
-
.join(process.cwd())} doesn't export the class by \`export default <ComponentCommand>\``);
|
|
138
|
-
}
|
|
139
|
-
else
|
|
140
|
-
this.logger.warn(e, value);
|
|
137
|
+
this.logger.warn(e, i);
|
|
141
138
|
continue;
|
|
142
139
|
}
|
|
143
|
-
|
|
144
|
-
continue;
|
|
145
|
-
component.props ??= this.client.options.commands?.defaults?.props ?? {};
|
|
146
|
-
const is = component instanceof modalcommand_1.ModalCommand ? 'modals' : 'components';
|
|
147
|
-
component.onInternalError ??= this.client.options?.[is]?.defaults?.onInternalError;
|
|
148
|
-
component.onMiddlewaresError ??= this.client.options?.[is]?.defaults?.onMiddlewaresError;
|
|
149
|
-
component.onRunError ??= this.client.options?.[is]?.defaults?.onRunError;
|
|
150
|
-
component.onAfterRun ??= this.client.options?.[is]?.defaults?.onAfterRun;
|
|
151
|
-
component.__filePath = value.path;
|
|
140
|
+
this.stablishDefaults(component);
|
|
152
141
|
this.commands.push(component);
|
|
153
142
|
}
|
|
154
143
|
}
|
|
144
|
+
async load(componentsDir) {
|
|
145
|
+
const paths = await this.loadFilesK(await this.getFiles(componentsDir));
|
|
146
|
+
for (const { components, file } of paths.map(x => ({ components: this.onFile(x.file), file: x }))) {
|
|
147
|
+
if (!components)
|
|
148
|
+
continue;
|
|
149
|
+
for (const value of components) {
|
|
150
|
+
let component;
|
|
151
|
+
try {
|
|
152
|
+
component = this.callback(value);
|
|
153
|
+
if (!component)
|
|
154
|
+
continue;
|
|
155
|
+
}
|
|
156
|
+
catch (e) {
|
|
157
|
+
if (e instanceof Error && e.message.includes('is not a constructor')) {
|
|
158
|
+
this.logger.warn(`${file.path
|
|
159
|
+
.split(process.cwd())
|
|
160
|
+
.slice(1)
|
|
161
|
+
.join(process.cwd())} doesn't export the class by \`export default <ComponentCommand>\``);
|
|
162
|
+
}
|
|
163
|
+
else
|
|
164
|
+
this.logger.warn(e, value);
|
|
165
|
+
continue;
|
|
166
|
+
}
|
|
167
|
+
if (!(component instanceof modalcommand_1.ModalCommand || component instanceof componentcommand_1.ComponentCommand))
|
|
168
|
+
continue;
|
|
169
|
+
this.stablishDefaults(component);
|
|
170
|
+
component.__filePath = file.path;
|
|
171
|
+
this.commands.push(component);
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
}
|
|
155
175
|
async reload(path) {
|
|
156
176
|
if (!this.client.components)
|
|
157
177
|
return;
|
|
178
|
+
if ((0, common_1.isCloudfareWorker)()) {
|
|
179
|
+
throw new Error('Reload in cloudfare worker is not supported');
|
|
180
|
+
}
|
|
158
181
|
const component = this.client.components.commands.find(x => x.__filePath?.endsWith(`${path}.js`) ||
|
|
159
182
|
x.__filePath?.endsWith(`${path}.ts`) ||
|
|
160
183
|
x.__filePath?.endsWith(path) ||
|
|
@@ -184,6 +207,41 @@ class ComponentHandler extends common_1.BaseHandler {
|
|
|
184
207
|
}
|
|
185
208
|
}
|
|
186
209
|
}
|
|
210
|
+
async execute(i, context) {
|
|
211
|
+
try {
|
|
212
|
+
const resultRunGlobalMiddlewares = await commands_1.BaseCommand.__runMiddlewares(context, (context.client.options?.globalMiddlewares ?? []), true);
|
|
213
|
+
if (resultRunGlobalMiddlewares.pass) {
|
|
214
|
+
return;
|
|
215
|
+
}
|
|
216
|
+
if ('error' in resultRunGlobalMiddlewares) {
|
|
217
|
+
return i.onMiddlewaresError?.(context, resultRunGlobalMiddlewares.error ?? 'Unknown error');
|
|
218
|
+
}
|
|
219
|
+
const resultRunMiddlewares = await commands_1.BaseCommand.__runMiddlewares(context, i.middlewares, false);
|
|
220
|
+
if (resultRunMiddlewares.pass) {
|
|
221
|
+
return;
|
|
222
|
+
}
|
|
223
|
+
if ('error' in resultRunMiddlewares) {
|
|
224
|
+
return i.onMiddlewaresError?.(context, resultRunMiddlewares.error ?? 'Unknown error');
|
|
225
|
+
}
|
|
226
|
+
try {
|
|
227
|
+
await i.run(context);
|
|
228
|
+
await i.onAfterRun?.(context, undefined);
|
|
229
|
+
}
|
|
230
|
+
catch (error) {
|
|
231
|
+
await i.onRunError?.(context, error);
|
|
232
|
+
await i.onAfterRun?.(context, error);
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
catch (error) {
|
|
236
|
+
try {
|
|
237
|
+
await i.onInternalError?.(this.client, error);
|
|
238
|
+
}
|
|
239
|
+
catch (e) {
|
|
240
|
+
// supress error
|
|
241
|
+
this.logger.error(e);
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
}
|
|
187
245
|
async executeComponent(context) {
|
|
188
246
|
for (const i of this.commands) {
|
|
189
247
|
try {
|
|
@@ -191,39 +249,7 @@ class ComponentHandler extends common_1.BaseHandler {
|
|
|
191
249
|
i.cType === context.interaction.componentType &&
|
|
192
250
|
(await i.filter(context))) {
|
|
193
251
|
context.command = i;
|
|
194
|
-
|
|
195
|
-
const resultRunGlobalMiddlewares = await commands_1.BaseCommand.__runMiddlewares(context, (context.client.options?.globalMiddlewares ?? []), true);
|
|
196
|
-
if (resultRunGlobalMiddlewares.pass) {
|
|
197
|
-
return;
|
|
198
|
-
}
|
|
199
|
-
if ('error' in resultRunGlobalMiddlewares) {
|
|
200
|
-
return i.onMiddlewaresError?.(context, resultRunGlobalMiddlewares.error ?? 'Unknown error');
|
|
201
|
-
}
|
|
202
|
-
const resultRunMiddlewares = await commands_1.BaseCommand.__runMiddlewares(context, i.middlewares, false);
|
|
203
|
-
if (resultRunMiddlewares.pass) {
|
|
204
|
-
return;
|
|
205
|
-
}
|
|
206
|
-
if ('error' in resultRunMiddlewares) {
|
|
207
|
-
return i.onMiddlewaresError?.(context, resultRunMiddlewares.error ?? 'Unknown error');
|
|
208
|
-
}
|
|
209
|
-
try {
|
|
210
|
-
await i.run(context);
|
|
211
|
-
await i.onAfterRun?.(context, undefined);
|
|
212
|
-
}
|
|
213
|
-
catch (error) {
|
|
214
|
-
await i.onRunError?.(context, error);
|
|
215
|
-
await i.onAfterRun?.(context, error);
|
|
216
|
-
}
|
|
217
|
-
}
|
|
218
|
-
catch (error) {
|
|
219
|
-
try {
|
|
220
|
-
await i.onInternalError?.(this.client, error);
|
|
221
|
-
}
|
|
222
|
-
catch {
|
|
223
|
-
// supress error
|
|
224
|
-
}
|
|
225
|
-
}
|
|
226
|
-
break;
|
|
252
|
+
await this.execute(i, context);
|
|
227
253
|
}
|
|
228
254
|
}
|
|
229
255
|
catch (e) {
|
|
@@ -236,39 +262,7 @@ class ComponentHandler extends common_1.BaseHandler {
|
|
|
236
262
|
try {
|
|
237
263
|
if (i.type === componentcommand_1.InteractionCommandType.MODAL && (await i.filter(context))) {
|
|
238
264
|
context.command = i;
|
|
239
|
-
|
|
240
|
-
const resultRunGlobalMiddlewares = await commands_1.BaseCommand.__runMiddlewares(context, (context.client.options?.globalMiddlewares ?? []), true);
|
|
241
|
-
if (resultRunGlobalMiddlewares.pass) {
|
|
242
|
-
return;
|
|
243
|
-
}
|
|
244
|
-
if ('error' in resultRunGlobalMiddlewares) {
|
|
245
|
-
return i.onMiddlewaresError?.(context, resultRunGlobalMiddlewares.error ?? 'Unknown error');
|
|
246
|
-
}
|
|
247
|
-
const resultRunMiddlewares = await commands_1.BaseCommand.__runMiddlewares(context, i.middlewares, false);
|
|
248
|
-
if (resultRunMiddlewares.pass) {
|
|
249
|
-
return;
|
|
250
|
-
}
|
|
251
|
-
if ('error' in resultRunMiddlewares) {
|
|
252
|
-
return i.onMiddlewaresError?.(context, resultRunMiddlewares.error ?? 'Unknown error');
|
|
253
|
-
}
|
|
254
|
-
try {
|
|
255
|
-
await i.run(context);
|
|
256
|
-
await i.onAfterRun?.(context, undefined);
|
|
257
|
-
}
|
|
258
|
-
catch (error) {
|
|
259
|
-
await i.onRunError?.(context, error);
|
|
260
|
-
await i.onAfterRun?.(context, error);
|
|
261
|
-
}
|
|
262
|
-
}
|
|
263
|
-
catch (error) {
|
|
264
|
-
try {
|
|
265
|
-
await i.onInternalError?.(this.client, error);
|
|
266
|
-
}
|
|
267
|
-
catch {
|
|
268
|
-
// supress error
|
|
269
|
-
}
|
|
270
|
-
}
|
|
271
|
-
break;
|
|
265
|
+
await this.execute(i, context);
|
|
272
266
|
}
|
|
273
267
|
}
|
|
274
268
|
catch (e) {
|
|
@@ -276,9 +270,11 @@ class ComponentHandler extends common_1.BaseHandler {
|
|
|
276
270
|
}
|
|
277
271
|
}
|
|
278
272
|
}
|
|
279
|
-
|
|
280
|
-
|
|
273
|
+
onFile(file) {
|
|
274
|
+
return file.default ? [file.default] : undefined;
|
|
275
|
+
}
|
|
276
|
+
callback(file) {
|
|
277
|
+
return new file();
|
|
281
278
|
}
|
|
282
|
-
callback = (file) => new file();
|
|
283
279
|
}
|
|
284
280
|
exports.ComponentHandler = ComponentHandler;
|