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
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Transformers = void 0;
|
|
4
|
+
const commands_1 = require("../commands");
|
|
5
|
+
const structures_1 = require("../structures");
|
|
6
|
+
const GuildBan_1 = require("../structures/GuildBan");
|
|
7
|
+
class Transformers {
|
|
8
|
+
static AnonymousGuild(...args) {
|
|
9
|
+
return new structures_1.AnonymousGuild(...args);
|
|
10
|
+
}
|
|
11
|
+
static AutoModerationRule(...args) {
|
|
12
|
+
return new structures_1.AutoModerationRule(...args);
|
|
13
|
+
}
|
|
14
|
+
static BaseChannel(...args) {
|
|
15
|
+
return new structures_1.BaseChannel(...args);
|
|
16
|
+
}
|
|
17
|
+
static BaseGuildChannel(...args) {
|
|
18
|
+
return new structures_1.BaseGuildChannel(...args);
|
|
19
|
+
}
|
|
20
|
+
static TextGuildChannel(...args) {
|
|
21
|
+
return new structures_1.TextGuildChannel(...args);
|
|
22
|
+
}
|
|
23
|
+
static DMChannel(...args) {
|
|
24
|
+
return new structures_1.DMChannel(...args);
|
|
25
|
+
}
|
|
26
|
+
static VoiceChannel(...args) {
|
|
27
|
+
return new structures_1.VoiceChannel(...args);
|
|
28
|
+
}
|
|
29
|
+
static StageChannel(...args) {
|
|
30
|
+
return new structures_1.StageChannel(...args);
|
|
31
|
+
}
|
|
32
|
+
static MediaChannel(...args) {
|
|
33
|
+
return new structures_1.MediaChannel(...args);
|
|
34
|
+
}
|
|
35
|
+
static ForumChannel(...args) {
|
|
36
|
+
return new structures_1.ForumChannel(...args);
|
|
37
|
+
}
|
|
38
|
+
static ThreadChannel(...args) {
|
|
39
|
+
return new structures_1.ThreadChannel(...args);
|
|
40
|
+
}
|
|
41
|
+
static CategoryChannel(...args) {
|
|
42
|
+
return new structures_1.CategoryChannel(...args);
|
|
43
|
+
}
|
|
44
|
+
static NewsChannel(...args) {
|
|
45
|
+
return new structures_1.NewsChannel(...args);
|
|
46
|
+
}
|
|
47
|
+
static DirectoryChannel(...args) {
|
|
48
|
+
return new structures_1.DirectoryChannel(...args);
|
|
49
|
+
}
|
|
50
|
+
static ClientUser(...args) {
|
|
51
|
+
return new structures_1.ClientUser(...args);
|
|
52
|
+
}
|
|
53
|
+
static Guild(...args) {
|
|
54
|
+
return new structures_1.Guild(...args);
|
|
55
|
+
}
|
|
56
|
+
static GuildBan(...args) {
|
|
57
|
+
return new GuildBan_1.GuildBan(...args);
|
|
58
|
+
}
|
|
59
|
+
static GuildEmoji(...args) {
|
|
60
|
+
return new structures_1.GuildEmoji(...args);
|
|
61
|
+
}
|
|
62
|
+
static GuildMember(...args) {
|
|
63
|
+
return new structures_1.GuildMember(...args);
|
|
64
|
+
}
|
|
65
|
+
static InteractionGuildMember(...args) {
|
|
66
|
+
return new structures_1.InteractionGuildMember(...args);
|
|
67
|
+
}
|
|
68
|
+
static GuildRole(...args) {
|
|
69
|
+
return new structures_1.GuildRole(...args);
|
|
70
|
+
}
|
|
71
|
+
static GuildTemplate(...args) {
|
|
72
|
+
return new structures_1.GuildTemplate(...args);
|
|
73
|
+
}
|
|
74
|
+
static Message(...args) {
|
|
75
|
+
return new structures_1.Message(...args);
|
|
76
|
+
}
|
|
77
|
+
static WebhookMessage(...args) {
|
|
78
|
+
return new structures_1.WebhookMessage(...args);
|
|
79
|
+
}
|
|
80
|
+
static Poll(...args) {
|
|
81
|
+
return new structures_1.Poll(...args);
|
|
82
|
+
}
|
|
83
|
+
static Sticker(...args) {
|
|
84
|
+
return new structures_1.Sticker(...args);
|
|
85
|
+
}
|
|
86
|
+
static User(...args) {
|
|
87
|
+
return new structures_1.User(...args);
|
|
88
|
+
}
|
|
89
|
+
static VoiceState(...args) {
|
|
90
|
+
return new structures_1.VoiceState(...args);
|
|
91
|
+
}
|
|
92
|
+
static Webhook(...args) {
|
|
93
|
+
return new structures_1.Webhook(...args);
|
|
94
|
+
}
|
|
95
|
+
static OptionResolver(...args) {
|
|
96
|
+
return new commands_1.OptionResolver(...args);
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
exports.Transformers = Transformers;
|
|
@@ -1,32 +1,29 @@
|
|
|
1
|
-
|
|
2
|
-
/// <reference types="node" />
|
|
3
|
-
/// <reference types="node" />
|
|
4
|
-
/// <reference types="node" />
|
|
5
|
-
/// <reference types="node" />
|
|
6
|
-
import { type GatewayDispatchPayload } from 'discord-api-types/v10';
|
|
7
|
-
import { Logger } from '..';
|
|
8
|
-
import type { Cache } from '../cache';
|
|
1
|
+
import { type GatewayDispatchPayload } from '../types';
|
|
9
2
|
import { type DeepPartial, type When } from '../common';
|
|
10
3
|
import { EventHandler } from '../events';
|
|
11
|
-
import {
|
|
12
|
-
import { Shard, type ShardManagerOptions } from '../websocket';
|
|
4
|
+
import { Shard, type ShardManagerOptions, type WorkerData } from '../websocket';
|
|
13
5
|
import type { WorkerShardInfo } from '../websocket/discord/worker';
|
|
14
6
|
import type { ManagerMessages } from '../websocket/discord/workermanager';
|
|
15
7
|
import type { BaseClientOptions, ServicesOptions, StartOptions } from './base';
|
|
16
8
|
import { BaseClient } from './base';
|
|
17
9
|
import type { Client, ClientOptions } from './client';
|
|
18
10
|
import { Collectors } from './collectors';
|
|
11
|
+
import { type ClientUserStructure } from './transformers';
|
|
12
|
+
import { MemberUpdateHandler } from '../websocket/discord/events/memberUpdate';
|
|
13
|
+
import { PresenceUpdateHandler } from '../websocket/discord/events/presenceUpdate';
|
|
19
14
|
export declare class WorkerClient<Ready extends boolean = boolean> extends BaseClient {
|
|
20
15
|
private __handleGuilds?;
|
|
21
|
-
|
|
16
|
+
memberUpdateHandler: MemberUpdateHandler;
|
|
17
|
+
presenceUpdateHandler: PresenceUpdateHandler;
|
|
22
18
|
collectors: Collectors;
|
|
23
19
|
events?: EventHandler | undefined;
|
|
24
|
-
me: When<Ready,
|
|
20
|
+
me: When<Ready, ClientUserStructure>;
|
|
25
21
|
promises: Map<string, {
|
|
26
22
|
resolve: (value: any) => void;
|
|
27
23
|
timeout: NodeJS.Timeout;
|
|
28
24
|
}>;
|
|
29
25
|
shards: Map<number, Shard>;
|
|
26
|
+
private __setServicesCache?;
|
|
30
27
|
options: WorkerClientOptions;
|
|
31
28
|
constructor(options?: WorkerClientOptions);
|
|
32
29
|
get workerId(): number;
|
|
@@ -36,10 +33,12 @@ export declare class WorkerClient<Ready extends boolean = boolean> extends BaseC
|
|
|
36
33
|
events?: EventHandler['callback'];
|
|
37
34
|
};
|
|
38
35
|
}): void;
|
|
36
|
+
setWorkerData(data: WorkerData): void;
|
|
37
|
+
get workerData(): WorkerData;
|
|
39
38
|
start(options?: Omit<DeepPartial<StartOptions>, 'httpConnection' | 'token' | 'connection'>): Promise<void>;
|
|
40
39
|
loadEvents(dir?: string): Promise<void>;
|
|
41
|
-
postMessage(body:
|
|
42
|
-
|
|
40
|
+
postMessage(body: unknown): unknown;
|
|
41
|
+
handleManagerMessages(data: ManagerMessages): Promise<any>;
|
|
43
42
|
private generateNonce;
|
|
44
43
|
private generateSendPromise;
|
|
45
44
|
tellWorker(workerId: number, func: (_: this) => {}): Promise<unknown>;
|
|
@@ -47,9 +46,11 @@ export declare class WorkerClient<Ready extends boolean = boolean> extends BaseC
|
|
|
47
46
|
}
|
|
48
47
|
export declare function generateShardInfo(shard: Shard): WorkerShardInfo;
|
|
49
48
|
interface WorkerClientOptions extends BaseClientOptions {
|
|
50
|
-
disabledCache: Cache['disabledCache'];
|
|
51
49
|
commands?: NonNullable<Client['options']>['commands'];
|
|
52
50
|
handlePayload?: ShardManagerOptions['handlePayload'];
|
|
53
51
|
gateway?: ClientOptions['gateway'];
|
|
52
|
+
postMessage?: (body: unknown) => unknown;
|
|
53
|
+
/** can have perfomance issues in big bots if the client sends every event, specially in startup (false by default) */
|
|
54
|
+
sendPayloadToParent?: boolean;
|
|
54
55
|
}
|
|
55
56
|
export {};
|
|
@@ -1,18 +1,19 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
|
|
3
|
+
exports.WorkerClient = void 0;
|
|
4
|
+
exports.generateShardInfo = generateShardInfo;
|
|
5
|
+
const types_1 = require("../types");
|
|
5
6
|
const node_crypto_1 = require("node:crypto");
|
|
6
7
|
const __1 = require("..");
|
|
7
8
|
const cache_1 = require("../cache");
|
|
8
9
|
const common_1 = require("../common");
|
|
9
10
|
const events_1 = require("../events");
|
|
10
|
-
const structures_1 = require("../structures");
|
|
11
11
|
const websocket_1 = require("../websocket");
|
|
12
12
|
const base_1 = require("./base");
|
|
13
|
-
const oninteractioncreate_1 = require("./oninteractioncreate");
|
|
14
|
-
const onmessagecreate_1 = require("./onmessagecreate");
|
|
15
13
|
const collectors_1 = require("./collectors");
|
|
14
|
+
const transformers_1 = require("./transformers");
|
|
15
|
+
const memberUpdate_1 = require("../websocket/discord/events/memberUpdate");
|
|
16
|
+
const presenceUpdate_1 = require("../websocket/discord/events/presenceUpdate");
|
|
16
17
|
let workerData;
|
|
17
18
|
let manager;
|
|
18
19
|
try {
|
|
@@ -24,59 +25,25 @@ try {
|
|
|
24
25
|
token: process.env.SEYFERT_WORKER_TOKEN,
|
|
25
26
|
workerId: Number.parseInt(process.env.SEYFERT_WORKER_WORKERID),
|
|
26
27
|
workerProxy: process.env.SEYFERT_WORKER_WORKERPROXY === 'true',
|
|
28
|
+
totalShards: Number(process.env.SEYFERT_WORKER_TOTALSHARDS),
|
|
29
|
+
mode: process.env.SEYFERT_WORKER_MODE,
|
|
27
30
|
};
|
|
28
31
|
}
|
|
29
32
|
catch { }
|
|
30
33
|
class WorkerClient extends base_1.BaseClient {
|
|
31
34
|
__handleGuilds = new Set();
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
});
|
|
35
|
+
memberUpdateHandler = new memberUpdate_1.MemberUpdateHandler();
|
|
36
|
+
presenceUpdateHandler = new presenceUpdate_1.PresenceUpdateHandler();
|
|
35
37
|
collectors = new collectors_1.Collectors();
|
|
36
38
|
events = new events_1.EventHandler(this);
|
|
37
39
|
me;
|
|
38
40
|
promises = new Map();
|
|
39
41
|
shards = new Map();
|
|
42
|
+
__setServicesCache;
|
|
40
43
|
constructor(options) {
|
|
41
44
|
super(options);
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
argsParser: onmessagecreate_1.defaultArgsParser,
|
|
45
|
-
optionsParser: onmessagecreate_1.defaultOptionsParser,
|
|
46
|
-
},
|
|
47
|
-
}, this.options);
|
|
48
|
-
if (!process.env.SEYFERT_SPAWNING) {
|
|
49
|
-
throw new Error('WorkerClient cannot spawn without manager');
|
|
50
|
-
}
|
|
51
|
-
this.postMessage({
|
|
52
|
-
type: 'WORKER_START',
|
|
53
|
-
workerId: workerData.workerId,
|
|
54
|
-
});
|
|
55
|
-
const worker_threads = (0, common_1.lazyLoadPackage)('node:worker_threads');
|
|
56
|
-
if (worker_threads?.parentPort) {
|
|
57
|
-
manager = worker_threads?.parentPort;
|
|
58
|
-
}
|
|
59
|
-
(manager ?? process).on('message', (data) => this.handleManagerMessages(data));
|
|
60
|
-
this.setServices({
|
|
61
|
-
cache: {
|
|
62
|
-
adapter: new cache_1.WorkerAdapter(workerData),
|
|
63
|
-
disabledCache: options?.disabledCache,
|
|
64
|
-
},
|
|
65
|
-
});
|
|
66
|
-
if (workerData.debug) {
|
|
67
|
-
this.debugger = new __1.Logger({
|
|
68
|
-
name: `[Worker #${workerData.workerId}]`,
|
|
69
|
-
logLevel: common_1.LogLevels.Debug,
|
|
70
|
-
});
|
|
71
|
-
}
|
|
72
|
-
if (workerData.workerProxy) {
|
|
73
|
-
this.setServices({
|
|
74
|
-
rest: new __1.ApiHandler({
|
|
75
|
-
token: workerData.token,
|
|
76
|
-
workerProxy: true,
|
|
77
|
-
debug: workerData.debug,
|
|
78
|
-
}),
|
|
79
|
-
});
|
|
45
|
+
if (options?.postMessage) {
|
|
46
|
+
this.postMessage = options.postMessage;
|
|
80
47
|
}
|
|
81
48
|
}
|
|
82
49
|
get workerId() {
|
|
@@ -89,22 +56,76 @@ class WorkerClient extends base_1.BaseClient {
|
|
|
89
56
|
}
|
|
90
57
|
setServices({ ...rest }) {
|
|
91
58
|
super.setServices(rest);
|
|
59
|
+
if (rest.cache) {
|
|
60
|
+
this.__setServicesCache = true;
|
|
61
|
+
}
|
|
92
62
|
if (rest.handlers && 'events' in rest.handlers) {
|
|
93
63
|
if (!rest.handlers.events) {
|
|
94
64
|
this.events = undefined;
|
|
95
65
|
}
|
|
96
66
|
else if (typeof rest.handlers.events === 'function') {
|
|
97
67
|
this.events = new events_1.EventHandler(this);
|
|
98
|
-
this.events.setHandlers({
|
|
99
|
-
callback: rest.handlers.events,
|
|
100
|
-
});
|
|
101
68
|
}
|
|
102
69
|
else {
|
|
103
70
|
this.events = rest.handlers.events;
|
|
104
71
|
}
|
|
105
72
|
}
|
|
106
73
|
}
|
|
74
|
+
setWorkerData(data) {
|
|
75
|
+
workerData = data;
|
|
76
|
+
}
|
|
77
|
+
get workerData() {
|
|
78
|
+
return workerData;
|
|
79
|
+
}
|
|
107
80
|
async start(options = {}) {
|
|
81
|
+
const worker_threads = (0, common_1.lazyLoadPackage)('node:worker_threads');
|
|
82
|
+
if (worker_threads?.parentPort) {
|
|
83
|
+
manager = worker_threads?.parentPort;
|
|
84
|
+
}
|
|
85
|
+
if (workerData.mode !== 'custom')
|
|
86
|
+
(manager ?? process).on('message', (data) => this.handleManagerMessages(data));
|
|
87
|
+
this.logger = new __1.Logger({
|
|
88
|
+
name: `[Worker #${workerData.workerId}]`,
|
|
89
|
+
});
|
|
90
|
+
if (this.__setServicesCache) {
|
|
91
|
+
this.setServices({
|
|
92
|
+
cache: {
|
|
93
|
+
disabledCache: this.cache.disabledCache,
|
|
94
|
+
},
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
else {
|
|
98
|
+
const adapter = new cache_1.WorkerAdapter(workerData);
|
|
99
|
+
if (this.options.postMessage) {
|
|
100
|
+
adapter.postMessage = this.options.postMessage;
|
|
101
|
+
}
|
|
102
|
+
this.setServices({
|
|
103
|
+
cache: {
|
|
104
|
+
adapter,
|
|
105
|
+
disabledCache: this.cache.disabledCache,
|
|
106
|
+
},
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
delete this.__setServicesCache;
|
|
110
|
+
if (workerData.debug) {
|
|
111
|
+
this.debugger = new __1.Logger({
|
|
112
|
+
name: `[Worker #${workerData.workerId}]`,
|
|
113
|
+
logLevel: common_1.LogLevels.Debug,
|
|
114
|
+
});
|
|
115
|
+
}
|
|
116
|
+
if (workerData.workerProxy) {
|
|
117
|
+
this.setServices({
|
|
118
|
+
rest: new __1.ApiHandler({
|
|
119
|
+
token: workerData.token,
|
|
120
|
+
workerProxy: true,
|
|
121
|
+
debug: workerData.debug,
|
|
122
|
+
}),
|
|
123
|
+
});
|
|
124
|
+
}
|
|
125
|
+
this.postMessage({
|
|
126
|
+
type: 'WORKER_START',
|
|
127
|
+
workerId: workerData.workerId,
|
|
128
|
+
});
|
|
108
129
|
await super.start(options);
|
|
109
130
|
await this.loadEvents(options.eventsDir);
|
|
110
131
|
this.cache.intents = workerData.intents;
|
|
@@ -164,6 +185,7 @@ class WorkerClient extends base_1.BaseClient {
|
|
|
164
185
|
const onPacket = this.onPacket.bind(this);
|
|
165
186
|
const handlePayload = this.options?.handlePayload?.bind(this);
|
|
166
187
|
const self = this;
|
|
188
|
+
const { sendPayloadToParent } = this.options;
|
|
167
189
|
for (const id of workerData.shards) {
|
|
168
190
|
let shard = this.shards.get(id);
|
|
169
191
|
if (!shard) {
|
|
@@ -179,13 +201,14 @@ class WorkerClient extends base_1.BaseClient {
|
|
|
179
201
|
},
|
|
180
202
|
async handlePayload(shardId, payload) {
|
|
181
203
|
await handlePayload?.(shardId, payload);
|
|
182
|
-
await onPacket
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
204
|
+
await onPacket(payload, shardId);
|
|
205
|
+
if (sendPayloadToParent)
|
|
206
|
+
self.postMessage({
|
|
207
|
+
workerId: workerData.workerId,
|
|
208
|
+
shardId,
|
|
209
|
+
type: 'RECEIVE_PAYLOAD',
|
|
210
|
+
payload,
|
|
211
|
+
});
|
|
189
212
|
},
|
|
190
213
|
});
|
|
191
214
|
this.shards.set(id, shard);
|
|
@@ -241,7 +264,6 @@ class WorkerClient extends base_1.BaseClient {
|
|
|
241
264
|
{
|
|
242
265
|
let result;
|
|
243
266
|
try {
|
|
244
|
-
// biome-ignore lint/security/noGlobalEval: yes
|
|
245
267
|
result = await eval(`
|
|
246
268
|
(${data.func})(this)
|
|
247
269
|
`);
|
|
@@ -297,19 +319,42 @@ class WorkerClient extends base_1.BaseClient {
|
|
|
297
319
|
return this.generateSendPromise(nonce);
|
|
298
320
|
}
|
|
299
321
|
async onPacket(packet, shardId) {
|
|
300
|
-
|
|
322
|
+
Promise.allSettled([
|
|
323
|
+
this.events?.runEvent('RAW', this, packet, shardId, false),
|
|
324
|
+
this.collectors.run('RAW', packet, this),
|
|
325
|
+
]); //ignore promise
|
|
301
326
|
switch (packet.t) {
|
|
327
|
+
//// Cases where we must obtain the old data before updating
|
|
328
|
+
case 'GUILD_MEMBER_UPDATE':
|
|
329
|
+
{
|
|
330
|
+
if (!this.memberUpdateHandler.check(packet.d)) {
|
|
331
|
+
return;
|
|
332
|
+
}
|
|
333
|
+
await this.events?.execute(packet.t, packet, this, shardId);
|
|
334
|
+
}
|
|
335
|
+
break;
|
|
336
|
+
case 'PRESENCE_UPDATE':
|
|
337
|
+
{
|
|
338
|
+
if (!this.presenceUpdateHandler.check(packet.d)) {
|
|
339
|
+
return;
|
|
340
|
+
}
|
|
341
|
+
await this.events?.execute(packet.t, packet, this, shardId);
|
|
342
|
+
}
|
|
343
|
+
break;
|
|
344
|
+
case 'GUILD_DELETE':
|
|
302
345
|
case 'GUILD_CREATE': {
|
|
303
346
|
if (this.__handleGuilds?.has(packet.d.id)) {
|
|
304
|
-
this.__handleGuilds
|
|
305
|
-
if (!this.__handleGuilds
|
|
347
|
+
this.__handleGuilds?.delete(packet.d.id);
|
|
348
|
+
if (!this.__handleGuilds?.size && [...this.shards.values()].every(shard => shard.data.session_id)) {
|
|
349
|
+
delete this.__handleGuilds;
|
|
350
|
+
await this.cache.onPacket(packet);
|
|
306
351
|
this.postMessage({
|
|
307
352
|
type: 'WORKER_READY',
|
|
308
353
|
workerId: this.workerId,
|
|
309
354
|
});
|
|
310
|
-
|
|
355
|
+
return this.events?.runEvent('WORKER_READY', this, this.me, -1);
|
|
311
356
|
}
|
|
312
|
-
if (!this.__handleGuilds
|
|
357
|
+
if (!this.__handleGuilds?.size)
|
|
313
358
|
delete this.__handleGuilds;
|
|
314
359
|
return this.cache.onPacket(packet);
|
|
315
360
|
}
|
|
@@ -317,17 +362,34 @@ class WorkerClient extends base_1.BaseClient {
|
|
|
317
362
|
break;
|
|
318
363
|
}
|
|
319
364
|
default: {
|
|
320
|
-
await this.events?.execute(packet.t, packet, this, shardId);
|
|
321
365
|
switch (packet.t) {
|
|
366
|
+
case 'INTERACTION_CREATE':
|
|
367
|
+
await this.events?.execute(packet.t, packet, this, shardId);
|
|
368
|
+
await this.handleCommand.interaction(packet.d, shardId);
|
|
369
|
+
break;
|
|
370
|
+
case 'MESSAGE_CREATE':
|
|
371
|
+
await this.events?.execute(packet.t, packet, this, shardId);
|
|
372
|
+
await this.handleCommand.message(packet.d, shardId);
|
|
373
|
+
break;
|
|
322
374
|
case 'READY':
|
|
375
|
+
if (!this.__handleGuilds)
|
|
376
|
+
this.__handleGuilds = new Set();
|
|
323
377
|
for (const g of packet.d.guilds) {
|
|
324
378
|
this.__handleGuilds?.add(g.id);
|
|
325
379
|
}
|
|
326
380
|
this.botId = packet.d.user.id;
|
|
327
381
|
this.applicationId = packet.d.application.id;
|
|
328
|
-
this.me =
|
|
382
|
+
this.me = transformers_1.Transformers.ClientUser(this, packet.d.user, packet.d.application);
|
|
383
|
+
await this.events?.execute(packet.t, packet, this, shardId);
|
|
384
|
+
if ([...this.shards.values()].every(shard => shard.data.session_id)) {
|
|
385
|
+
this.postMessage({
|
|
386
|
+
type: 'WORKER_SHARDS_CONNECTED',
|
|
387
|
+
workerId: this.workerId,
|
|
388
|
+
});
|
|
389
|
+
await this.events?.runEvent('WORKER_SHARDS_CONNECTED', this, this.me, -1);
|
|
390
|
+
}
|
|
329
391
|
if (!(this.__handleGuilds?.size &&
|
|
330
|
-
(workerData.intents &
|
|
392
|
+
(workerData.intents & types_1.GatewayIntentBits.Guilds) === types_1.GatewayIntentBits.Guilds)) {
|
|
331
393
|
if ([...this.shards.values()].every(shard => shard.data.session_id)) {
|
|
332
394
|
this.postMessage({
|
|
333
395
|
type: 'WORKER_READY',
|
|
@@ -337,13 +399,10 @@ class WorkerClient extends base_1.BaseClient {
|
|
|
337
399
|
}
|
|
338
400
|
delete this.__handleGuilds;
|
|
339
401
|
}
|
|
340
|
-
this.debugger?.debug(`#${shardId}
|
|
402
|
+
this.debugger?.debug(`#${shardId}[${packet.d.user.username}](${this.botId}) is online...`);
|
|
341
403
|
break;
|
|
342
|
-
|
|
343
|
-
await (
|
|
344
|
-
break;
|
|
345
|
-
case 'MESSAGE_CREATE':
|
|
346
|
-
await (0, onmessagecreate_1.onMessageCreate)(this, packet.d, shardId);
|
|
404
|
+
default:
|
|
405
|
+
await this.events?.execute(packet.t, packet, this, shardId);
|
|
347
406
|
break;
|
|
348
407
|
}
|
|
349
408
|
break;
|
|
@@ -360,4 +419,3 @@ function generateShardInfo(shard) {
|
|
|
360
419
|
resumable: shard.resumable,
|
|
361
420
|
};
|
|
362
421
|
}
|
|
363
|
-
exports.generateShardInfo = generateShardInfo;
|
|
@@ -1,21 +1,22 @@
|
|
|
1
|
-
import { ApplicationCommandOptionType, ApplicationCommandType, type ApplicationIntegrationType, type InteractionContextType, type APIApplicationCommandBasicOption, type APIApplicationCommandOption, type LocaleString } from '
|
|
1
|
+
import { ApplicationCommandOptionType, ApplicationCommandType, type ApplicationIntegrationType, type InteractionContextType, type APIApplicationCommandBasicOption, type APIApplicationCommandOption, type LocaleString } from '../../types';
|
|
2
2
|
import type { PermissionStrings, SeyfertNumberOption, SeyfertStringOption } from '../..';
|
|
3
3
|
import type { Attachment } from '../../builders';
|
|
4
|
-
import { type FlatObjectKeys } from '../../common';
|
|
5
|
-
import type { AllChannels, AutocompleteInteraction
|
|
4
|
+
import { type Awaitable, type FlatObjectKeys } from '../../common';
|
|
5
|
+
import type { AllChannels, AutocompleteInteraction } from '../../structures';
|
|
6
6
|
import type { Groups, RegisteredMiddlewares } from '../decorators';
|
|
7
7
|
import type { CommandContext } from './chatcontext';
|
|
8
8
|
import type { DefaultLocale, ExtraProps, IgnoreCommand, OKFunction, OnOptionsReturnObject, StopFunction, UsingClient } from './shared';
|
|
9
|
+
import type { GuildRoleStructure, InteractionGuildMemberStructure, UserStructure } from '../../client/transformers';
|
|
9
10
|
export interface ReturnOptionsTypes {
|
|
10
11
|
1: never;
|
|
11
12
|
2: never;
|
|
12
13
|
3: string;
|
|
13
14
|
4: number;
|
|
14
15
|
5: boolean;
|
|
15
|
-
6:
|
|
16
|
+
6: InteractionGuildMemberStructure | UserStructure;
|
|
16
17
|
7: AllChannels;
|
|
17
|
-
8:
|
|
18
|
-
9:
|
|
18
|
+
8: GuildRoleStructure;
|
|
19
|
+
9: GuildRoleStructure | AllChannels | UserStructure;
|
|
19
20
|
10: number;
|
|
20
21
|
11: Attachment;
|
|
21
22
|
}
|
|
@@ -24,7 +25,7 @@ type Wrap<N extends ApplicationCommandOptionType> = N extends ApplicationCommand
|
|
|
24
25
|
value?(data: {
|
|
25
26
|
context: CommandContext;
|
|
26
27
|
value: ReturnOptionsTypes[N];
|
|
27
|
-
}, ok: OKFunction<any>, fail: StopFunction): void
|
|
28
|
+
}, ok: OKFunction<any>, fail: StopFunction): Awaitable<void>;
|
|
28
29
|
} & {
|
|
29
30
|
description: string;
|
|
30
31
|
description_localizations?: APIApplicationCommandBasicOption['description_localizations'];
|
|
@@ -88,16 +89,16 @@ export declare class BaseCommand {
|
|
|
88
89
|
aliases?: string[];
|
|
89
90
|
props: ExtraProps;
|
|
90
91
|
toJSON(): {
|
|
91
|
-
name: BaseCommand[
|
|
92
|
-
type: BaseCommand[
|
|
93
|
-
nsfw: BaseCommand[
|
|
94
|
-
description: BaseCommand[
|
|
95
|
-
name_localizations: BaseCommand[
|
|
96
|
-
description_localizations: BaseCommand[
|
|
97
|
-
guild_id: BaseCommand[
|
|
92
|
+
name: BaseCommand["name"];
|
|
93
|
+
type: BaseCommand["type"];
|
|
94
|
+
nsfw: BaseCommand["nsfw"];
|
|
95
|
+
description: BaseCommand["description"];
|
|
96
|
+
name_localizations: BaseCommand["name_localizations"];
|
|
97
|
+
description_localizations: BaseCommand["description_localizations"];
|
|
98
|
+
guild_id: BaseCommand["guildId"];
|
|
98
99
|
default_member_permissions: string;
|
|
99
|
-
contexts: BaseCommand[
|
|
100
|
-
integration_types: BaseCommand[
|
|
100
|
+
contexts: BaseCommand["contexts"];
|
|
101
|
+
integration_types: BaseCommand["integrationTypes"];
|
|
101
102
|
};
|
|
102
103
|
reload(): Promise<void>;
|
|
103
104
|
run?(context: CommandContext): any;
|
|
@@ -120,16 +121,16 @@ export declare class Command extends BaseCommand {
|
|
|
120
121
|
}>;
|
|
121
122
|
toJSON(): {
|
|
122
123
|
options: APIApplicationCommandOption[];
|
|
123
|
-
name:
|
|
124
|
-
type:
|
|
125
|
-
nsfw:
|
|
126
|
-
description:
|
|
127
|
-
name_localizations:
|
|
128
|
-
description_localizations:
|
|
129
|
-
guild_id:
|
|
124
|
+
name: BaseCommand["name"];
|
|
125
|
+
type: BaseCommand["type"];
|
|
126
|
+
nsfw: BaseCommand["nsfw"];
|
|
127
|
+
description: BaseCommand["description"];
|
|
128
|
+
name_localizations: BaseCommand["name_localizations"];
|
|
129
|
+
description_localizations: BaseCommand["description_localizations"];
|
|
130
|
+
guild_id: BaseCommand["guildId"];
|
|
130
131
|
default_member_permissions: string;
|
|
131
|
-
contexts:
|
|
132
|
-
integration_types:
|
|
132
|
+
contexts: BaseCommand["contexts"];
|
|
133
|
+
integration_types: BaseCommand["integrationTypes"];
|
|
133
134
|
};
|
|
134
135
|
}
|
|
135
136
|
export declare abstract class SubCommand extends BaseCommand {
|
|
@@ -138,16 +139,16 @@ export declare abstract class SubCommand extends BaseCommand {
|
|
|
138
139
|
options?: CommandOption[];
|
|
139
140
|
toJSON(): {
|
|
140
141
|
options: APIApplicationCommandBasicOption[];
|
|
141
|
-
name:
|
|
142
|
-
type:
|
|
143
|
-
nsfw:
|
|
144
|
-
description:
|
|
145
|
-
name_localizations:
|
|
146
|
-
description_localizations:
|
|
147
|
-
guild_id:
|
|
142
|
+
name: BaseCommand["name"];
|
|
143
|
+
type: BaseCommand["type"];
|
|
144
|
+
nsfw: BaseCommand["nsfw"];
|
|
145
|
+
description: BaseCommand["description"];
|
|
146
|
+
name_localizations: BaseCommand["name_localizations"];
|
|
147
|
+
description_localizations: BaseCommand["description_localizations"];
|
|
148
|
+
guild_id: BaseCommand["guildId"];
|
|
148
149
|
default_member_permissions: string;
|
|
149
|
-
contexts:
|
|
150
|
-
integration_types:
|
|
150
|
+
contexts: BaseCommand["contexts"];
|
|
151
|
+
integration_types: BaseCommand["integrationTypes"];
|
|
151
152
|
};
|
|
152
153
|
abstract run(context: CommandContext<any>): any;
|
|
153
154
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.SubCommand = exports.Command = exports.BaseCommand = void 0;
|
|
4
|
-
const
|
|
4
|
+
const types_1 = require("../../types");
|
|
5
5
|
const common_1 = require("../../common");
|
|
6
6
|
const node_util_1 = require("node:util");
|
|
7
7
|
class BaseCommand {
|
|
@@ -35,9 +35,7 @@ class BaseCommand {
|
|
|
35
35
|
try {
|
|
36
36
|
const option = this.options.find(x => x.name === i.name);
|
|
37
37
|
const value = resolver.getHoisted(i.name)?.value !== undefined
|
|
38
|
-
? await new Promise(
|
|
39
|
-
// biome-ignore lint/suspicious/noAsyncPromiseExecutor: yes
|
|
40
|
-
async (res, rej) => {
|
|
38
|
+
? await new Promise(async (res, rej) => {
|
|
41
39
|
try {
|
|
42
40
|
(await option.value?.({ context: ctx, value: resolver.getValue(i.name) }, res, rej)) ||
|
|
43
41
|
res(resolver.getValue(i.name));
|
|
@@ -95,8 +93,6 @@ class BaseCommand {
|
|
|
95
93
|
if (!running) {
|
|
96
94
|
return;
|
|
97
95
|
}
|
|
98
|
-
// biome-ignore lint/style/noArguments: yes
|
|
99
|
-
// biome-ignore lint/correctness/noUndeclaredVariables: xd
|
|
100
96
|
if (arguments.length) {
|
|
101
97
|
// @ts-expect-error
|
|
102
98
|
context[global ? 'globalMetadata' : 'metadata'][middlewares[index]] = obj;
|
|
@@ -153,7 +149,7 @@ class BaseCommand {
|
|
|
153
149
|
}
|
|
154
150
|
exports.BaseCommand = BaseCommand;
|
|
155
151
|
class Command extends BaseCommand {
|
|
156
|
-
type =
|
|
152
|
+
type = types_1.ApplicationCommandType.ChatInput;
|
|
157
153
|
groups;
|
|
158
154
|
groupsAliases;
|
|
159
155
|
__tGroups;
|
|
@@ -167,7 +163,7 @@ class Command extends BaseCommand {
|
|
|
167
163
|
if (i.group) {
|
|
168
164
|
if (!options.find(x => x.name === i.group)) {
|
|
169
165
|
options.push({
|
|
170
|
-
type:
|
|
166
|
+
type: types_1.ApplicationCommandOptionType.SubcommandGroup,
|
|
171
167
|
name: i.group,
|
|
172
168
|
description: this.groups[i.group].defaultDescription,
|
|
173
169
|
description_localizations: Object.fromEntries(this.groups?.[i.group].description ?? []),
|
|
@@ -189,7 +185,7 @@ class Command extends BaseCommand {
|
|
|
189
185
|
}
|
|
190
186
|
exports.Command = Command;
|
|
191
187
|
class SubCommand extends BaseCommand {
|
|
192
|
-
type =
|
|
188
|
+
type = types_1.ApplicationCommandOptionType.Subcommand;
|
|
193
189
|
group;
|
|
194
190
|
toJSON() {
|
|
195
191
|
return {
|