seyfert 1.5.0 → 2.1.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 +8 -2
- package/lib/api/Routes/invites.d.ts +1 -1
- package/lib/api/Routes/skus.d.ts +11 -0
- package/lib/api/Routes/skus.js +2 -0
- 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 +3 -3
- package/lib/api/api.js +15 -25
- package/lib/api/bucket.d.ts +0 -1
- package/lib/api/shared.d.ts +1 -2
- 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 +3 -4
- package/lib/builders/Attachment.js +24 -25
- 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 +20 -8
- package/lib/cache/index.js +328 -22
- 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 +29 -21
- package/lib/client/base.js +64 -57
- package/lib/client/client.d.ts +11 -16
- package/lib/client/client.js +51 -37
- 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 +16 -15
- package/lib/client/workerclient.js +130 -72
- 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/entryPoint.d.ts +46 -0
- package/lib/commands/applications/entryPoint.js +56 -0
- package/lib/commands/applications/entrycontext.d.ts +40 -0
- package/lib/commands/applications/entrycontext.js +85 -0
- 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 +4 -3
- package/lib/commands/applications/options.js +20 -21
- package/lib/commands/applications/shared.d.ts +3 -1
- package/lib/commands/decorators.d.ts +47 -35
- package/lib/commands/decorators.js +20 -18
- package/lib/commands/handle.d.ts +65 -0
- package/lib/commands/handle.js +727 -0
- package/lib/commands/handler.d.ts +29 -18
- package/lib/commands/handler.js +295 -164
- package/lib/commands/index.d.ts +2 -0
- package/lib/commands/index.js +2 -0
- package/lib/commands/optionresolver.d.ts +13 -13
- package/lib/commands/optionresolver.js +24 -29
- 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 +24 -4
- package/lib/common/it/utils.js +88 -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 +7 -7
- 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 +4 -2
- package/lib/common/types/write.d.ts +3 -3
- 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 +71 -0
- package/lib/events/handler.d.ts +35 -13
- package/lib/events/handler.js +57 -24
- 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 +4 -3
- package/lib/events/hooks/custom.js +5 -1
- 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/subscriptions.d.ts +35 -0
- package/lib/events/hooks/subscriptions.js +16 -0
- 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 +76 -39
- package/lib/structures/Interaction.js +179 -94
- package/lib/structures/Message.d.ts +29 -33
- package/lib/structures/Message.js +8 -12
- 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 +12 -2
- package/lib/structures/extra/BaseGuild.js +30 -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 +1554 -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 +65 -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 +188 -0
- package/lib/types/payloads/_interactions/applicationCommands.js +88 -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 +184 -0
- package/lib/types/payloads/_interactions/responses.js +58 -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 +1748 -0
- package/lib/types/payloads/channel.js +376 -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 +178 -0
- package/lib/types/payloads/monetization.js +88 -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 +699 -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 +216 -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 +103 -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 +808 -0
- package/lib/types/utils/index.js +810 -0
- package/lib/websocket/SharedTypes.d.ts +12 -5
- package/lib/websocket/SharedTypes.js +1 -1
- package/lib/websocket/constants/index.d.ts +3 -3
- package/lib/websocket/constants/index.js +11 -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 +9 -8
- package/lib/websocket/discord/shard.js +83 -57
- package/lib/websocket/discord/sharder.d.ts +6 -5
- package/lib/websocket/discord/sharder.js +70 -11
- package/lib/websocket/discord/shared.d.ts +34 -6
- package/lib/websocket/discord/socket/custom.d.ts +52 -0
- package/lib/websocket/discord/socket/custom.js +300 -0
- package/lib/websocket/discord/worker.d.ts +6 -10
- package/lib/websocket/discord/workermanager.d.ts +10 -16
- package/lib/websocket/discord/workermanager.js +63 -50
- 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 +70 -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
|
@@ -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;
|
|
@@ -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,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
|
/**
|
|
@@ -23,24 +24,24 @@ export declare class ModalContext<M extends keyof RegisteredMiddlewares = never>
|
|
|
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.
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Mixes a class with other classes.
|
|
3
|
+
* @param args The classes to mix.
|
|
4
|
+
* @returns The mixed class.
|
|
5
|
+
*/
|
|
6
|
+
export declare function Mixin<T, C extends TypeClass[]>(...args: C): C[number] & T;
|
|
7
|
+
export type TypeClass<InstanceType = {}, StaticType = {}> = (abstract new (...args: any[]) => InstanceType) & StaticType;
|
|
8
|
+
export declare const mix: (...ingredients: TypeClass[]) => (decoratedClass: any) => any;
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.mix = void 0;
|
|
4
|
+
exports.Mixin = Mixin;
|
|
5
|
+
/**
|
|
6
|
+
* Gets the descriptors of a class.
|
|
7
|
+
* @param c The class to get the descriptors of.
|
|
8
|
+
* @returns The descriptors of the class.
|
|
9
|
+
*/
|
|
10
|
+
function getDescriptors(c) {
|
|
11
|
+
let proto = c.prototype;
|
|
12
|
+
const result = [];
|
|
13
|
+
while (proto) {
|
|
14
|
+
const descriptors = Object.getOwnPropertyDescriptors(proto);
|
|
15
|
+
// @ts-expect-error this is not a function in all cases
|
|
16
|
+
if (descriptors.valueOf.configurable)
|
|
17
|
+
break;
|
|
18
|
+
result.push(descriptors);
|
|
19
|
+
proto = proto.__proto__;
|
|
20
|
+
}
|
|
21
|
+
return result;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Mixes a class with other classes.
|
|
25
|
+
* @param args The classes to mix.
|
|
26
|
+
* @returns The mixed class.
|
|
27
|
+
*/
|
|
28
|
+
function Mixin(...args) {
|
|
29
|
+
const ignoreOverwriteToString = Object.keys(Object.getOwnPropertyDescriptors(args[0].prototype)).includes('toString');
|
|
30
|
+
function MixedClass(...constructorArgs) {
|
|
31
|
+
for (const i of args) {
|
|
32
|
+
const descriptors = getDescriptors(i);
|
|
33
|
+
for (const j of descriptors) {
|
|
34
|
+
// @ts-expect-error
|
|
35
|
+
Object.assign(this, new j.constructor.value(...constructorArgs));
|
|
36
|
+
for (const descriptorK in j) {
|
|
37
|
+
if (descriptorK === 'constructor')
|
|
38
|
+
continue;
|
|
39
|
+
if (descriptorK in MixedClass.prototype && descriptorK !== 'toString')
|
|
40
|
+
continue;
|
|
41
|
+
const descriptor = j[descriptorK];
|
|
42
|
+
if (descriptor.value) {
|
|
43
|
+
if (descriptorK === 'toString' && ignoreOverwriteToString) {
|
|
44
|
+
MixedClass.prototype[descriptorK] = args[0].prototype.toString;
|
|
45
|
+
continue;
|
|
46
|
+
}
|
|
47
|
+
MixedClass.prototype[descriptorK] = descriptor.value;
|
|
48
|
+
continue;
|
|
49
|
+
}
|
|
50
|
+
if (descriptor.get || descriptor.set) {
|
|
51
|
+
Object.defineProperty(MixedClass.prototype, descriptorK, {
|
|
52
|
+
get: descriptor.get,
|
|
53
|
+
set: descriptor.set,
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
return MixedClass;
|
|
61
|
+
}
|
|
62
|
+
const mix = (...ingredients) => (decoratedClass) => {
|
|
63
|
+
ingredients.unshift(decoratedClass);
|
|
64
|
+
const mixedClass = Mixin(...ingredients);
|
|
65
|
+
Object.defineProperty(mixedClass, 'name', {
|
|
66
|
+
value: decoratedClass.name,
|
|
67
|
+
writable: false,
|
|
68
|
+
});
|
|
69
|
+
return mixedClass;
|
|
70
|
+
};
|
|
71
|
+
exports.mix = mix;
|
package/lib/events/handler.d.ts
CHANGED
|
@@ -1,29 +1,51 @@
|
|
|
1
|
-
import type { GatewayDispatchPayload } from '
|
|
1
|
+
import type { GatewayDispatchPayload } from '../types';
|
|
2
2
|
import type { Client, WorkerClient } from '../client';
|
|
3
|
-
import { BaseHandler, type MakeRequired, type SnakeCase } from '../common';
|
|
3
|
+
import { BaseHandler, type CamelCase, type MakeRequired, type SnakeCase } from '../common';
|
|
4
4
|
import type { ClientEvents } from '../events/hooks';
|
|
5
|
-
import type { ClientEvent, CustomEvents, CustomEventsKeys } from './event';
|
|
5
|
+
import type { ClientEvent, CustomEvents, CustomEventsKeys, ClientNameEvents, EventContext } from './event';
|
|
6
|
+
import type { FileLoaded } from '../commands/handler';
|
|
7
|
+
import type { UsingClient } from '../commands';
|
|
6
8
|
export type EventValue = MakeRequired<ClientEvent, '__filePath'> & {
|
|
7
9
|
fired?: boolean;
|
|
8
10
|
};
|
|
9
11
|
export type GatewayEvents = Uppercase<SnakeCase<keyof ClientEvents>>;
|
|
12
|
+
export type ResolveEventParams<T extends ClientNameEvents | CustomEventsKeys | GatewayEvents> = T extends CustomEventsKeys ? [...Parameters<CustomEvents[T]>, UsingClient] : T extends GatewayEvents ? EventContext<{
|
|
13
|
+
data: {
|
|
14
|
+
name: CamelCase<T>;
|
|
15
|
+
};
|
|
16
|
+
}> : T extends ClientNameEvents ? EventContext<{
|
|
17
|
+
data: {
|
|
18
|
+
name: T;
|
|
19
|
+
};
|
|
20
|
+
}> : never;
|
|
21
|
+
export type ResolveEventRunParams<T extends ClientNameEvents | CustomEventsKeys | GatewayEvents> = T extends CustomEventsKeys ? Parameters<CustomEvents[T]> : T extends GatewayEvents ? EventContext<{
|
|
22
|
+
data: {
|
|
23
|
+
name: CamelCase<T>;
|
|
24
|
+
};
|
|
25
|
+
}> : T extends ClientNameEvents ? EventContext<{
|
|
26
|
+
data: {
|
|
27
|
+
name: T;
|
|
28
|
+
};
|
|
29
|
+
}> : never;
|
|
30
|
+
export type EventValues = {
|
|
31
|
+
[K in CustomEventsKeys | GatewayEvents]: Omit<EventValue, 'run'> & {
|
|
32
|
+
run(...args: ResolveEventRunParams<K>): any;
|
|
33
|
+
};
|
|
34
|
+
};
|
|
10
35
|
export declare class EventHandler extends BaseHandler {
|
|
11
36
|
protected client: Client | WorkerClient;
|
|
12
37
|
constructor(client: Client | WorkerClient);
|
|
13
38
|
onFail: (event: GatewayEvents | CustomEventsKeys, err: unknown) => void;
|
|
14
39
|
protected filter: (path: string) => boolean;
|
|
15
|
-
values: Partial<
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
}[]): Promise<void>;
|
|
40
|
+
values: Partial<EventValues>;
|
|
41
|
+
discordEvents: ClientNameEvents[];
|
|
42
|
+
set(events: ClientEvent[]): void;
|
|
43
|
+
load(eventsDir: string): Promise<void>;
|
|
20
44
|
execute(name: GatewayEvents, ...args: [GatewayDispatchPayload, Client<true> | WorkerClient<true>, number]): Promise<void>;
|
|
21
|
-
runEvent(name: GatewayEvents, client: Client | WorkerClient, packet: any, shardId: number): Promise<void>;
|
|
22
|
-
runCustom<T extends CustomEventsKeys>(name: T, ...args:
|
|
45
|
+
runEvent(name: GatewayEvents, client: Client | WorkerClient, packet: any, shardId: number, runCache?: boolean): Promise<void>;
|
|
46
|
+
runCustom<T extends CustomEventsKeys>(name: T, ...args: ResolveEventRunParams<T>): Promise<void>;
|
|
23
47
|
reload(name: GatewayEvents | CustomEventsKeys): Promise<any>;
|
|
24
48
|
reloadAll(stopIfFail?: boolean): Promise<void>;
|
|
25
|
-
|
|
26
|
-
callback: EventHandler['callback'];
|
|
27
|
-
}): void;
|
|
49
|
+
onFile(file: FileLoaded<ClientEvent>): ClientEvent[] | undefined;
|
|
28
50
|
callback: (file: ClientEvent) => ClientEvent | false;
|
|
29
51
|
}
|