seyfert 1.4.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 +22 -14
- package/lib/api/Router.js +5 -3
- 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 +8 -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 +24 -11
- package/lib/cache/index.js +335 -19
- package/lib/cache/resources/bans.d.ts +15 -0
- package/lib/cache/resources/bans.js +44 -0
- 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 +24 -8
- package/lib/cache/resources/messages.d.ts +11 -7
- package/lib/cache/resources/messages.js +25 -11
- 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 +32 -20
- package/lib/client/base.js +51 -30
- package/lib/client/client.d.ts +12 -9
- package/lib/client/client.js +43 -49
- package/lib/client/collectors.d.ts +36 -0
- package/lib/client/collectors.js +110 -0
- 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 +18 -15
- package/lib/client/workerclient.js +148 -110
- package/lib/collection.d.ts +2 -2
- package/lib/collection.js +2 -2
- package/lib/commands/applications/chat.d.ts +40 -38
- package/lib/commands/applications/chat.js +22 -12
- package/lib/commands/applications/chatcontext.d.ts +17 -17
- package/lib/commands/applications/chatcontext.js +5 -5
- package/lib/commands/applications/menu.d.ts +9 -9
- package/lib/commands/applications/menu.js +5 -7
- 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 +14 -0
- package/lib/commands/decorators.d.ts +47 -35
- package/lib/commands/decorators.js +19 -27
- 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 +296 -160
- 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 +2 -0
- package/lib/common/index.js +4 -1
- package/lib/common/it/colors.js +48 -49
- package/lib/common/it/formatter.d.ts +187 -0
- package/lib/common/it/formatter.js +226 -0
- package/lib/common/it/logger.d.ts +0 -1
- package/lib/common/it/logger.js +8 -8
- package/lib/common/it/utils.d.ts +15 -2
- package/lib/common/it/utils.js +80 -21
- package/lib/common/shorters/application.d.ts +56 -0
- package/lib/common/shorters/application.js +81 -0
- package/lib/common/shorters/bans.d.ts +42 -0
- package/lib/common/shorters/bans.js +78 -0
- 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 +8 -7
- 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 +12 -9
- 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 +10 -9
- 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 +12 -11
- 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.d.ts +3 -2
- package/lib/components/componentcommand.js +4 -3
- package/lib/components/componentcontext.d.ts +11 -10
- package/lib/components/componentcontext.js +8 -8
- package/lib/components/handler.d.ts +16 -15
- package/lib/components/handler.js +101 -108
- package/lib/components/index.d.ts +3 -3
- package/lib/components/index.js +12 -10
- package/lib/components/modalcommand.d.ts +2 -1
- package/lib/components/modalcommand.js +1 -0
- package/lib/components/modalcontext.d.ts +13 -12
- 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/event.d.ts +4 -3
- package/lib/events/handler.d.ts +40 -15
- package/lib/events/handler.js +99 -21
- 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 +126 -181
- package/lib/events/hooks/guild.js +13 -15
- package/lib/events/hooks/integration.d.ts +71 -15
- 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 -14
- package/lib/events/hooks/message.d.ts +72 -52
- package/lib/events/hooks/message.js +4 -8
- package/lib/events/hooks/presence.d.ts +21 -16
- package/lib/events/hooks/stage.d.ts +4 -4
- package/lib/events/hooks/thread.d.ts +140 -60
- package/lib/events/hooks/thread.js +4 -4
- package/lib/events/hooks/typing.d.ts +28 -5
- 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 +6 -15
- package/lib/index.js +8 -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 +37 -30
- package/lib/structures/Guild.js +7 -2
- package/lib/structures/GuildBan.d.ts +25 -0
- package/lib/structures/GuildBan.js +37 -0
- package/lib/structures/GuildEmoji.d.ts +4 -4
- package/lib/structures/GuildEmoji.js +3 -2
- package/lib/structures/GuildMember.d.ts +27 -19
- package/lib/structures/GuildMember.js +21 -11
- 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 +56 -38
- package/lib/structures/Interaction.js +134 -86
- package/lib/structures/Message.d.ts +80 -20
- package/lib/structures/Message.js +67 -26
- package/lib/structures/Poll.d.ts +4 -3
- package/lib/structures/Poll.js +6 -2
- package/lib/structures/Sticker.d.ts +10 -10
- package/lib/structures/Sticker.js +7 -7
- package/lib/structures/User.d.ts +6 -4
- package/lib/structures/User.js +6 -2
- 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 +14 -10
- package/lib/structures/channels.js +97 -62
- 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 -6
- package/lib/websocket/discord/basesocket.js +35 -6
- 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 +9 -8
- package/lib/websocket/discord/shard.js +65 -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 -3
- package/lib/client/onmessagecreate.js +0 -395
- package/lib/structures/extra/functions.d.ts +0 -12
- package/lib/structures/extra/functions.js +0 -70
|
@@ -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
|
/**
|
|
@@ -17,14 +18,14 @@ export declare class ComponentContext<Type extends keyof ContextComponentCommand
|
|
|
17
18
|
* @param interaction - The component interaction object.
|
|
18
19
|
*/
|
|
19
20
|
constructor(client: UsingClient, interaction: ContextComponentCommandInteractionMap[Type]);
|
|
20
|
-
command
|
|
21
|
+
command: ComponentCommand;
|
|
21
22
|
metadata: CommandMetadata<UnionToTuple<M>>;
|
|
22
23
|
globalMetadata: GlobalMetadata;
|
|
23
24
|
/**
|
|
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
|
-
reloadAll(): Promise<void>;
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
}) => ModalCommand | ComponentCommand | false;
|
|
47
|
+
reloadAll(stopIfFail?: boolean): Promise<void>;
|
|
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 {};
|
|
@@ -22,7 +22,7 @@ class ComponentHandler extends common_1.BaseHandler {
|
|
|
22
22
|
this.values.set(messageId, {
|
|
23
23
|
components: [],
|
|
24
24
|
options,
|
|
25
|
-
idle: options.idle
|
|
25
|
+
idle: options.idle && options.idle > 0
|
|
26
26
|
? setTimeout(() => {
|
|
27
27
|
this.deleteValue(messageId);
|
|
28
28
|
options.onStop?.('idle', () => {
|
|
@@ -30,7 +30,7 @@ class ComponentHandler extends common_1.BaseHandler {
|
|
|
30
30
|
});
|
|
31
31
|
}, options.idle)
|
|
32
32
|
: undefined,
|
|
33
|
-
timeout: options.timeout
|
|
33
|
+
timeout: options.timeout && options.timeout > 0
|
|
34
34
|
? setTimeout(() => {
|
|
35
35
|
this.deleteValue(messageId);
|
|
36
36
|
options.onStop?.('timeout', () => {
|
|
@@ -117,55 +117,72 @@ 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(`${paths[i].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, paths[i]);
|
|
137
|
+
this.logger.warn(e, i);
|
|
141
138
|
continue;
|
|
142
139
|
}
|
|
143
|
-
|
|
140
|
+
this.stablishDefaults(component);
|
|
141
|
+
this.commands.push(component);
|
|
142
|
+
}
|
|
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)
|
|
144
148
|
continue;
|
|
145
|
-
|
|
146
|
-
component
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
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);
|
|
156
172
|
}
|
|
157
|
-
component.__filePath = paths[i].path;
|
|
158
|
-
this.commands.push(component);
|
|
159
173
|
}
|
|
160
174
|
}
|
|
161
175
|
async reload(path) {
|
|
162
176
|
if (!this.client.components)
|
|
163
177
|
return;
|
|
178
|
+
if ((0, common_1.isCloudfareWorker)()) {
|
|
179
|
+
throw new Error('Reload in cloudfare worker is not supported');
|
|
180
|
+
}
|
|
164
181
|
const component = this.client.components.commands.find(x => x.__filePath?.endsWith(`${path}.js`) ||
|
|
165
182
|
x.__filePath?.endsWith(`${path}.ts`) ||
|
|
166
183
|
x.__filePath?.endsWith(path) ||
|
|
167
184
|
x.__filePath === path);
|
|
168
|
-
if (!component
|
|
185
|
+
if (!component?.__filePath)
|
|
169
186
|
return null;
|
|
170
187
|
delete require.cache[component.__filePath];
|
|
171
188
|
const index = this.client.components.commands.findIndex(x => x.__filePath === component.__filePath);
|
|
@@ -178,13 +195,51 @@ class ComponentHandler extends common_1.BaseHandler {
|
|
|
178
195
|
this.client.components.commands.push(command);
|
|
179
196
|
return imported;
|
|
180
197
|
}
|
|
181
|
-
async reloadAll() {
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
198
|
+
async reloadAll(stopIfFail = true) {
|
|
199
|
+
for (const i of this.commands) {
|
|
200
|
+
try {
|
|
201
|
+
await this.reload(i.__filePath ?? '');
|
|
202
|
+
}
|
|
203
|
+
catch (e) {
|
|
204
|
+
if (stopIfFail) {
|
|
205
|
+
throw e;
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
}
|
|
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
|
+
}
|
|
188
243
|
}
|
|
189
244
|
}
|
|
190
245
|
async executeComponent(context) {
|
|
@@ -194,39 +249,7 @@ class ComponentHandler extends common_1.BaseHandler {
|
|
|
194
249
|
i.cType === context.interaction.componentType &&
|
|
195
250
|
(await i.filter(context))) {
|
|
196
251
|
context.command = i;
|
|
197
|
-
|
|
198
|
-
const resultRunGlobalMiddlewares = await commands_1.BaseCommand.__runMiddlewares(context, (context.client.options?.globalMiddlewares ?? []), true);
|
|
199
|
-
if (resultRunGlobalMiddlewares.pass) {
|
|
200
|
-
return;
|
|
201
|
-
}
|
|
202
|
-
if ('error' in resultRunGlobalMiddlewares) {
|
|
203
|
-
return i.onMiddlewaresError?.(context, resultRunGlobalMiddlewares.error ?? 'Unknown error');
|
|
204
|
-
}
|
|
205
|
-
const resultRunMiddlewares = await commands_1.BaseCommand.__runMiddlewares(context, i.middlewares, false);
|
|
206
|
-
if (resultRunMiddlewares.pass) {
|
|
207
|
-
return;
|
|
208
|
-
}
|
|
209
|
-
if ('error' in resultRunMiddlewares) {
|
|
210
|
-
return i.onMiddlewaresError?.(context, resultRunMiddlewares.error ?? 'Unknown error');
|
|
211
|
-
}
|
|
212
|
-
try {
|
|
213
|
-
await i.run(context);
|
|
214
|
-
await i.onAfterRun?.(context, undefined);
|
|
215
|
-
}
|
|
216
|
-
catch (error) {
|
|
217
|
-
await i.onRunError?.(context, error);
|
|
218
|
-
await i.onAfterRun?.(context, error);
|
|
219
|
-
}
|
|
220
|
-
}
|
|
221
|
-
catch (error) {
|
|
222
|
-
try {
|
|
223
|
-
await i.onInternalError?.(this.client, error);
|
|
224
|
-
}
|
|
225
|
-
catch {
|
|
226
|
-
// supress error
|
|
227
|
-
}
|
|
228
|
-
}
|
|
229
|
-
break;
|
|
252
|
+
await this.execute(i, context);
|
|
230
253
|
}
|
|
231
254
|
}
|
|
232
255
|
catch (e) {
|
|
@@ -239,39 +262,7 @@ class ComponentHandler extends common_1.BaseHandler {
|
|
|
239
262
|
try {
|
|
240
263
|
if (i.type === componentcommand_1.InteractionCommandType.MODAL && (await i.filter(context))) {
|
|
241
264
|
context.command = i;
|
|
242
|
-
|
|
243
|
-
const resultRunGlobalMiddlewares = await commands_1.BaseCommand.__runMiddlewares(context, (context.client.options?.globalMiddlewares ?? []), true);
|
|
244
|
-
if (resultRunGlobalMiddlewares.pass) {
|
|
245
|
-
return;
|
|
246
|
-
}
|
|
247
|
-
if ('error' in resultRunGlobalMiddlewares) {
|
|
248
|
-
return i.onMiddlewaresError?.(context, resultRunGlobalMiddlewares.error ?? 'Unknown error');
|
|
249
|
-
}
|
|
250
|
-
const resultRunMiddlewares = await commands_1.BaseCommand.__runMiddlewares(context, i.middlewares, false);
|
|
251
|
-
if (resultRunMiddlewares.pass) {
|
|
252
|
-
return;
|
|
253
|
-
}
|
|
254
|
-
if ('error' in resultRunMiddlewares) {
|
|
255
|
-
return i.onMiddlewaresError?.(context, resultRunMiddlewares.error ?? 'Unknown error');
|
|
256
|
-
}
|
|
257
|
-
try {
|
|
258
|
-
await i.run(context);
|
|
259
|
-
await i.onAfterRun?.(context, undefined);
|
|
260
|
-
}
|
|
261
|
-
catch (error) {
|
|
262
|
-
await i.onRunError?.(context, error);
|
|
263
|
-
await i.onAfterRun?.(context, error);
|
|
264
|
-
}
|
|
265
|
-
}
|
|
266
|
-
catch (error) {
|
|
267
|
-
try {
|
|
268
|
-
await i.onInternalError?.(this.client, error);
|
|
269
|
-
}
|
|
270
|
-
catch {
|
|
271
|
-
// supress error
|
|
272
|
-
}
|
|
273
|
-
}
|
|
274
|
-
break;
|
|
265
|
+
await this.execute(i, context);
|
|
275
266
|
}
|
|
276
267
|
}
|
|
277
268
|
catch (e) {
|
|
@@ -279,9 +270,11 @@ class ComponentHandler extends common_1.BaseHandler {
|
|
|
279
270
|
}
|
|
280
271
|
}
|
|
281
272
|
}
|
|
282
|
-
|
|
283
|
-
|
|
273
|
+
onFile(file) {
|
|
274
|
+
return file.default ? [file.default] : undefined;
|
|
275
|
+
}
|
|
276
|
+
callback(file) {
|
|
277
|
+
return new file();
|
|
284
278
|
}
|
|
285
|
-
callback = (file) => new file();
|
|
286
279
|
}
|
|
287
280
|
exports.ComponentHandler = ComponentHandler;
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import { type APIMessageActionRowComponent } from '
|
|
1
|
+
import { type APIMessageActionRowComponent } from '../types';
|
|
2
2
|
import { BaseComponent } from './BaseComponent';
|
|
3
|
-
import { ButtonComponent, LinkButtonComponent } from './ButtonComponent';
|
|
3
|
+
import { ButtonComponent, LinkButtonComponent, SKUButtonComponent } from './ButtonComponent';
|
|
4
4
|
import { ChannelSelectMenuComponent } from './ChannelSelectMenuComponent';
|
|
5
5
|
import { MentionableSelectMenuComponent } from './MentionableSelectMenuComponent';
|
|
6
6
|
import { RoleSelectMenuComponent } from './RoleSelectMenuComponent';
|
|
7
7
|
import { StringSelectMenuComponent } from './StringSelectMenuComponent';
|
|
8
8
|
import type { TextInputComponent } from './TextInputComponent';
|
|
9
9
|
import { UserSelectMenuComponent } from './UserSelectMenuComponent';
|
|
10
|
-
export type MessageComponents = ButtonComponent | LinkButtonComponent | RoleSelectMenuComponent | UserSelectMenuComponent | StringSelectMenuComponent | ChannelSelectMenuComponent | MentionableSelectMenuComponent | TextInputComponent;
|
|
10
|
+
export type MessageComponents = ButtonComponent | LinkButtonComponent | SKUButtonComponent | RoleSelectMenuComponent | UserSelectMenuComponent | StringSelectMenuComponent | ChannelSelectMenuComponent | MentionableSelectMenuComponent | TextInputComponent;
|
|
11
11
|
export type ActionRowMessageComponents = Exclude<MessageComponents, TextInputComponent>;
|
|
12
12
|
export * from './componentcommand';
|
|
13
13
|
export * from './componentcontext';
|
package/lib/components/index.js
CHANGED
|
@@ -14,8 +14,8 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
exports.componentFactory =
|
|
18
|
-
const
|
|
17
|
+
exports.componentFactory = componentFactory;
|
|
18
|
+
const types_1 = require("../types");
|
|
19
19
|
const BaseComponent_1 = require("./BaseComponent");
|
|
20
20
|
const ButtonComponent_1 = require("./ButtonComponent");
|
|
21
21
|
const ChannelSelectMenuComponent_1 = require("./ChannelSelectMenuComponent");
|
|
@@ -35,23 +35,25 @@ __exportStar(require("./modalcontext"), exports);
|
|
|
35
35
|
*/
|
|
36
36
|
function componentFactory(component) {
|
|
37
37
|
switch (component.type) {
|
|
38
|
-
case
|
|
39
|
-
if (component.style ===
|
|
38
|
+
case types_1.ComponentType.Button:
|
|
39
|
+
if (component.style === types_1.ButtonStyle.Link) {
|
|
40
40
|
return new ButtonComponent_1.LinkButtonComponent(component);
|
|
41
41
|
}
|
|
42
|
+
if (component.style === types_1.ButtonStyle.Premium) {
|
|
43
|
+
return new ButtonComponent_1.SKUButtonComponent(component);
|
|
44
|
+
}
|
|
42
45
|
return new ButtonComponent_1.ButtonComponent(component);
|
|
43
|
-
case
|
|
46
|
+
case types_1.ComponentType.ChannelSelect:
|
|
44
47
|
return new ChannelSelectMenuComponent_1.ChannelSelectMenuComponent(component);
|
|
45
|
-
case
|
|
48
|
+
case types_1.ComponentType.RoleSelect:
|
|
46
49
|
return new RoleSelectMenuComponent_1.RoleSelectMenuComponent(component);
|
|
47
|
-
case
|
|
50
|
+
case types_1.ComponentType.StringSelect:
|
|
48
51
|
return new StringSelectMenuComponent_1.StringSelectMenuComponent(component);
|
|
49
|
-
case
|
|
52
|
+
case types_1.ComponentType.UserSelect:
|
|
50
53
|
return new UserSelectMenuComponent_1.UserSelectMenuComponent(component);
|
|
51
|
-
case
|
|
54
|
+
case types_1.ComponentType.MentionableSelect:
|
|
52
55
|
return new MentionableSelectMenuComponent_1.MentionableSelectMenuComponent(component);
|
|
53
56
|
default:
|
|
54
57
|
return new BaseComponent_1.BaseComponent(component);
|
|
55
58
|
}
|
|
56
59
|
}
|
|
57
|
-
exports.componentFactory = componentFactory;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { RegisteredMiddlewares, UsingClient } from '../commands';
|
|
1
|
+
import type { ExtraProps, RegisteredMiddlewares, UsingClient } from '../commands';
|
|
2
2
|
import type { ModalContext } from './modalcontext';
|
|
3
3
|
export interface ModalCommand {
|
|
4
4
|
__filePath?: string;
|
|
@@ -8,6 +8,7 @@ export declare abstract class ModalCommand {
|
|
|
8
8
|
abstract filter(context: ModalContext): Promise<boolean> | boolean;
|
|
9
9
|
abstract run(context: ModalContext): any;
|
|
10
10
|
middlewares: (keyof RegisteredMiddlewares)[];
|
|
11
|
+
props: ExtraProps;
|
|
11
12
|
onAfterRun?(context: ModalContext, error: unknown | undefined): any;
|
|
12
13
|
onRunError?(context: ModalContext, error: unknown): any;
|
|
13
14
|
onMiddlewaresError?(context: ModalContext, error: string): any;
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import type { AllChannels,
|
|
1
|
+
import type { AllChannels, ModalCommand, ModalSubmitInteraction, ReturnCache } from '..';
|
|
2
2
|
import type { CommandMetadata, ExtendContext, GlobalMetadata, RegisteredMiddlewares, UsingClient } from '../commands';
|
|
3
3
|
import { BaseContext } from '../commands/basecontext';
|
|
4
4
|
import type { InteractionCreateBodyRequest, InteractionMessageUpdateBodyRequest, ModalCreateBodyRequest, UnionToTuple, When } from '../common';
|
|
5
|
+
import type { GuildMemberStructure, GuildStructure, MessageStructure, WebhookMessageStructure } from '../client/transformers';
|
|
5
6
|
export interface ModalContext extends BaseContext, ExtendContext {
|
|
6
7
|
}
|
|
7
8
|
/**
|
|
@@ -17,30 +18,30 @@ export declare class ModalContext<M extends keyof RegisteredMiddlewares = never>
|
|
|
17
18
|
* @param interaction - The component interaction object.
|
|
18
19
|
*/
|
|
19
20
|
constructor(client: UsingClient, interaction: ModalSubmitInteraction);
|
|
20
|
-
command
|
|
21
|
+
command: ModalCommand;
|
|
21
22
|
metadata: CommandMetadata<UnionToTuple<M>>;
|
|
22
23
|
globalMetadata: GlobalMetadata;
|
|
23
24
|
get customId(): string;
|
|
24
25
|
get components(): {
|
|
25
26
|
components: {
|
|
26
|
-
type: import("
|
|
27
|
+
type: import("../types").ComponentType;
|
|
27
28
|
customId: string;
|
|
28
29
|
value: string;
|
|
29
30
|
}[];
|
|
30
|
-
type: import("
|
|
31
|
+
type: import("../types").ComponentType.ActionRow;
|
|
31
32
|
}[];
|
|
32
33
|
/**
|
|
33
34
|
* Gets the language object for the interaction's locale.
|
|
34
35
|
*/
|
|
35
36
|
get t(): import("..").__InternalParseLocale<import("..").DefaultLocale> & {
|
|
36
|
-
get(locale?: string
|
|
37
|
+
get(locale?: string): import("..").DefaultLocale;
|
|
37
38
|
};
|
|
38
39
|
/**
|
|
39
40
|
* Writes a response to the interaction.
|
|
40
41
|
* @param body - The body of the response.
|
|
41
42
|
* @param fetchReply - Whether to fetch the reply or not.
|
|
42
43
|
*/
|
|
43
|
-
write<FR extends boolean = false>(body: InteractionCreateBodyRequest, fetchReply?: FR): Promise<When<FR, WebhookMessage, void>>;
|
|
44
|
+
write<FR extends boolean = false>(body: InteractionCreateBodyRequest, fetchReply?: FR): Promise<When<FR, import("..").WebhookMessage, void>>;
|
|
44
45
|
/**
|
|
45
46
|
* Defers the reply to the interaction.
|
|
46
47
|
* @param ephemeral - Whether the reply should be ephemeral or not.
|
|
@@ -50,13 +51,13 @@ export declare class ModalContext<M extends keyof RegisteredMiddlewares = never>
|
|
|
50
51
|
* Edits the response of the interaction.
|
|
51
52
|
* @param body - The updated body of the response.
|
|
52
53
|
*/
|
|
53
|
-
editResponse(body: InteractionMessageUpdateBodyRequest): Promise<WebhookMessage>;
|
|
54
|
+
editResponse(body: InteractionMessageUpdateBodyRequest): Promise<import("..").WebhookMessage>;
|
|
54
55
|
/**
|
|
55
56
|
* Edits the response or replies to the interaction.
|
|
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 ModalContext<M extends keyof RegisteredMiddlewares = never>
|
|
|
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.ModalContext = 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 ModalContext 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.
|