seyfert 1.4.0 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -190
- package/README.md +22 -14
- package/lib/api/Router.js +5 -3
- package/lib/api/Routes/applications.d.ts +23 -1
- package/lib/api/Routes/channels.d.ts +1 -1
- package/lib/api/Routes/gateway.d.ts +1 -1
- package/lib/api/Routes/guilds.d.ts +8 -2
- package/lib/api/Routes/interactions.d.ts +1 -1
- package/lib/api/Routes/invites.d.ts +1 -1
- package/lib/api/Routes/stage-instances.d.ts +1 -1
- package/lib/api/Routes/stickers.d.ts +2 -2
- package/lib/api/Routes/users.d.ts +1 -1
- package/lib/api/Routes/voice.d.ts +1 -1
- package/lib/api/Routes/webhooks.d.ts +2 -2
- package/lib/api/api.d.ts +2 -2
- package/lib/api/api.js +2 -14
- package/lib/api/bucket.d.ts +0 -1
- package/lib/api/shared.d.ts +0 -1
- package/lib/api/utils/constants.d.ts +2 -5
- package/lib/api/utils/constants.js +3 -7
- package/lib/api/utils/utils.d.ts +1 -2
- package/lib/api/utils/utils.js +2 -3
- package/lib/builders/ActionRow.d.ts +1 -1
- package/lib/builders/ActionRow.js +3 -3
- package/lib/builders/Attachment.d.ts +2 -3
- package/lib/builders/Attachment.js +12 -13
- package/lib/builders/Base.d.ts +2 -2
- package/lib/builders/Base.js +1 -1
- package/lib/builders/Button.d.ts +7 -7
- package/lib/builders/Button.js +11 -9
- package/lib/builders/Embed.d.ts +1 -1
- package/lib/builders/Modal.d.ts +1 -1
- package/lib/builders/Modal.js +2 -2
- package/lib/builders/Poll.d.ts +2 -2
- package/lib/builders/Poll.js +5 -6
- package/lib/builders/SelectMenu.d.ts +1 -1
- package/lib/builders/SelectMenu.js +17 -18
- package/lib/builders/index.d.ts +1 -1
- package/lib/builders/index.js +10 -11
- package/lib/cache/adapters/default.d.ts +16 -9
- package/lib/cache/adapters/default.js +42 -31
- package/lib/cache/adapters/index.d.ts +0 -1
- package/lib/cache/adapters/index.js +0 -1
- package/lib/cache/adapters/limited.d.ts +17 -12
- package/lib/cache/adapters/limited.js +80 -36
- package/lib/cache/adapters/types.d.ts +6 -7
- package/lib/cache/adapters/workeradapter.d.ts +6 -6
- package/lib/cache/adapters/workeradapter.js +13 -0
- package/lib/cache/index.d.ts +24 -11
- package/lib/cache/index.js +335 -19
- package/lib/cache/resources/bans.d.ts +15 -0
- package/lib/cache/resources/bans.js +44 -0
- package/lib/cache/resources/channels.d.ts +6 -4
- package/lib/cache/resources/channels.js +13 -7
- package/lib/cache/resources/default/base.d.ts +7 -7
- package/lib/cache/resources/default/base.js +2 -2
- package/lib/cache/resources/default/guild-based.d.ts +6 -6
- package/lib/cache/resources/default/guild-based.js +6 -6
- package/lib/cache/resources/default/guild-related.d.ts +7 -7
- package/lib/cache/resources/default/guild-related.js +10 -8
- package/lib/cache/resources/emojis.d.ts +15 -6
- package/lib/cache/resources/emojis.js +13 -4
- package/lib/cache/resources/guilds.d.ts +9 -6
- package/lib/cache/resources/guilds.js +27 -6
- package/lib/cache/resources/members.d.ts +9 -6
- package/lib/cache/resources/members.js +24 -8
- package/lib/cache/resources/messages.d.ts +11 -7
- package/lib/cache/resources/messages.js +25 -11
- package/lib/cache/resources/overwrites.d.ts +11 -2
- package/lib/cache/resources/overwrites.js +9 -0
- package/lib/cache/resources/presence.d.ts +3 -2
- package/lib/cache/resources/roles.d.ts +9 -6
- package/lib/cache/resources/roles.js +13 -4
- package/lib/cache/resources/stage-instances.d.ts +2 -2
- package/lib/cache/resources/stickers.d.ts +9 -6
- package/lib/cache/resources/stickers.js +13 -4
- package/lib/cache/resources/threads.d.ts +9 -6
- package/lib/cache/resources/threads.js +13 -4
- package/lib/cache/resources/users.d.ts +9 -6
- package/lib/cache/resources/users.js +13 -4
- package/lib/cache/resources/voice-states.d.ts +11 -8
- package/lib/cache/resources/voice-states.js +15 -4
- package/lib/client/base.d.ts +32 -20
- package/lib/client/base.js +51 -30
- package/lib/client/client.d.ts +12 -9
- package/lib/client/client.js +43 -49
- package/lib/client/collectors.d.ts +36 -0
- package/lib/client/collectors.js +110 -0
- package/lib/client/httpclient.d.ts +8 -13
- package/lib/client/httpclient.js +27 -218
- package/lib/client/index.d.ts +1 -0
- package/lib/client/index.js +1 -0
- package/lib/client/transformers.d.ts +68 -0
- package/lib/client/transformers.js +99 -0
- package/lib/client/types.d.ts +5 -0
- package/lib/client/types.js +2 -0
- package/lib/client/workerclient.d.ts +18 -15
- package/lib/client/workerclient.js +148 -110
- package/lib/collection.d.ts +2 -2
- package/lib/collection.js +2 -2
- package/lib/commands/applications/chat.d.ts +40 -38
- package/lib/commands/applications/chat.js +22 -12
- package/lib/commands/applications/chatcontext.d.ts +17 -17
- package/lib/commands/applications/chatcontext.js +5 -5
- package/lib/commands/applications/menu.d.ts +9 -9
- package/lib/commands/applications/menu.js +5 -7
- package/lib/commands/applications/menucontext.d.ts +14 -13
- package/lib/commands/applications/menucontext.js +9 -9
- package/lib/commands/applications/options.d.ts +1 -1
- package/lib/commands/applications/options.js +20 -21
- package/lib/commands/applications/shared.d.ts +14 -0
- package/lib/commands/decorators.d.ts +47 -35
- package/lib/commands/decorators.js +19 -27
- package/lib/commands/handle.d.ts +64 -0
- package/lib/commands/handle.js +685 -0
- package/lib/commands/handler.d.ts +27 -18
- package/lib/commands/handler.js +296 -160
- package/lib/commands/optionresolver.d.ts +13 -13
- package/lib/commands/optionresolver.js +23 -28
- package/lib/common/bot/watcher.d.ts +4 -33
- package/lib/common/bot/watcher.js +0 -109
- package/lib/common/index.d.ts +2 -0
- package/lib/common/index.js +4 -1
- package/lib/common/it/colors.js +48 -49
- package/lib/common/it/formatter.d.ts +187 -0
- package/lib/common/it/formatter.js +226 -0
- package/lib/common/it/logger.d.ts +0 -1
- package/lib/common/it/logger.js +8 -8
- package/lib/common/it/utils.d.ts +15 -2
- package/lib/common/it/utils.js +80 -21
- package/lib/common/shorters/application.d.ts +56 -0
- package/lib/common/shorters/application.js +81 -0
- package/lib/common/shorters/bans.d.ts +42 -0
- package/lib/common/shorters/bans.js +78 -0
- package/lib/common/shorters/channels.d.ts +7 -6
- package/lib/common/shorters/channels.js +19 -15
- package/lib/common/shorters/emojis.d.ts +5 -6
- package/lib/common/shorters/emojis.js +8 -7
- package/lib/common/shorters/guilds.d.ts +18 -16
- package/lib/common/shorters/guilds.js +31 -26
- package/lib/common/shorters/interaction.d.ts +6 -6
- package/lib/common/shorters/interaction.js +12 -9
- package/lib/common/shorters/members.d.ts +29 -12
- package/lib/common/shorters/members.js +55 -16
- package/lib/common/shorters/messages.d.ts +7 -8
- package/lib/common/shorters/messages.js +10 -9
- package/lib/common/shorters/reactions.d.ts +3 -3
- package/lib/common/shorters/reactions.js +11 -11
- package/lib/common/shorters/roles.d.ts +9 -7
- package/lib/common/shorters/roles.js +26 -7
- package/lib/common/shorters/templates.d.ts +7 -8
- package/lib/common/shorters/templates.js +7 -7
- package/lib/common/shorters/threads.d.ts +6 -7
- package/lib/common/shorters/threads.js +6 -9
- package/lib/common/shorters/users.d.ts +4 -4
- package/lib/common/shorters/users.js +8 -4
- package/lib/common/shorters/webhook.d.ts +10 -10
- package/lib/common/shorters/webhook.js +12 -11
- package/lib/common/types/resolvables.d.ts +2 -2
- package/lib/common/types/util.d.ts +3 -1
- package/lib/common/types/write.d.ts +1 -1
- package/lib/components/ActionRow.d.ts +1 -1
- package/lib/components/BaseComponent.d.ts +1 -1
- package/lib/components/BaseComponent.js +1 -1
- package/lib/components/BaseSelectMenuComponent.d.ts +1 -1
- package/lib/components/ButtonComponent.d.ts +17 -7
- package/lib/components/ButtonComponent.js +19 -2
- package/lib/components/ChannelSelectMenuComponent.d.ts +3 -3
- package/lib/components/MentionableSelectMenuComponent.d.ts +2 -2
- package/lib/components/RoleSelectMenuComponent.d.ts +2 -2
- package/lib/components/StringSelectMenuComponent.d.ts +2 -2
- package/lib/components/TextInputComponent.d.ts +2 -2
- package/lib/components/UserSelectMenuComponent.d.ts +2 -2
- package/lib/components/componentcommand.d.ts +3 -2
- package/lib/components/componentcommand.js +4 -3
- package/lib/components/componentcontext.d.ts +11 -10
- package/lib/components/componentcontext.js +8 -8
- package/lib/components/handler.d.ts +16 -15
- package/lib/components/handler.js +101 -108
- package/lib/components/index.d.ts +3 -3
- package/lib/components/index.js +12 -10
- package/lib/components/modalcommand.d.ts +2 -1
- package/lib/components/modalcommand.js +1 -0
- package/lib/components/modalcontext.d.ts +13 -12
- package/lib/components/modalcontext.js +2 -2
- package/lib/deps/mixer.d.ts +8 -0
- package/lib/deps/mixer.js +66 -0
- package/lib/events/event.d.ts +4 -3
- package/lib/events/handler.d.ts +40 -15
- package/lib/events/handler.js +99 -21
- package/lib/events/hooks/application_command.d.ts +2 -2
- package/lib/events/hooks/auto_moderation.d.ts +6 -7
- package/lib/events/hooks/auto_moderation.js +4 -4
- package/lib/events/hooks/channel.d.ts +2 -2
- package/lib/events/hooks/channel.js +4 -7
- package/lib/events/hooks/custom.d.ts +3 -3
- package/lib/events/hooks/dispatch.d.ts +3 -4
- package/lib/events/hooks/dispatch.js +2 -2
- package/lib/events/hooks/entitlement.d.ts +5 -37
- package/lib/events/hooks/entitlement.js +7 -7
- package/lib/events/hooks/guild.d.ts +126 -181
- package/lib/events/hooks/guild.js +13 -15
- package/lib/events/hooks/integration.d.ts +71 -15
- package/lib/events/hooks/integration.js +3 -3
- package/lib/events/hooks/interactions.d.ts +2 -2
- package/lib/events/hooks/invite.d.ts +18 -14
- package/lib/events/hooks/message.d.ts +72 -52
- package/lib/events/hooks/message.js +4 -8
- package/lib/events/hooks/presence.d.ts +21 -16
- package/lib/events/hooks/stage.d.ts +4 -4
- package/lib/events/hooks/thread.d.ts +140 -60
- package/lib/events/hooks/thread.js +4 -4
- package/lib/events/hooks/typing.d.ts +28 -5
- package/lib/events/hooks/typing.js +2 -2
- package/lib/events/hooks/user.d.ts +3 -3
- package/lib/events/hooks/user.js +2 -2
- package/lib/events/hooks/voice.d.ts +28 -3
- package/lib/events/hooks/voice.js +8 -4
- package/lib/events/hooks/webhook.d.ts +1 -1
- package/lib/index.d.ts +6 -15
- package/lib/index.js +8 -12
- package/lib/langs/handler.d.ts +14 -10
- package/lib/langs/handler.js +40 -9
- package/lib/structures/AutoModerationRule.d.ts +4 -4
- package/lib/structures/AutoModerationRule.js +1 -2
- package/lib/structures/ClientUser.d.ts +1 -1
- package/lib/structures/Entitlement.d.ts +10 -0
- package/lib/structures/Entitlement.js +16 -0
- package/lib/structures/Guild.d.ts +37 -30
- package/lib/structures/Guild.js +7 -2
- package/lib/structures/GuildBan.d.ts +25 -0
- package/lib/structures/GuildBan.js +37 -0
- package/lib/structures/GuildEmoji.d.ts +4 -4
- package/lib/structures/GuildEmoji.js +3 -2
- package/lib/structures/GuildMember.d.ts +27 -19
- package/lib/structures/GuildMember.js +21 -11
- package/lib/structures/GuildPreview.d.ts +1 -1
- package/lib/structures/GuildRole.d.ts +5 -3
- package/lib/structures/GuildRole.js +8 -1
- package/lib/structures/GuildTemplate.d.ts +2 -2
- package/lib/structures/GuildTemplate.js +1 -1
- package/lib/structures/Interaction.d.ts +56 -38
- package/lib/structures/Interaction.js +134 -86
- package/lib/structures/Message.d.ts +80 -20
- package/lib/structures/Message.js +67 -26
- package/lib/structures/Poll.d.ts +4 -3
- package/lib/structures/Poll.js +6 -2
- package/lib/structures/Sticker.d.ts +10 -10
- package/lib/structures/Sticker.js +7 -7
- package/lib/structures/User.d.ts +6 -4
- package/lib/structures/User.js +6 -2
- package/lib/structures/VoiceState.d.ts +15 -11
- package/lib/structures/VoiceState.js +35 -17
- package/lib/structures/Webhook.d.ts +6 -7
- package/lib/structures/Webhook.js +6 -7
- package/lib/structures/channels.d.ts +14 -10
- package/lib/structures/channels.js +97 -62
- package/lib/structures/extra/BaseGuild.d.ts +1 -1
- package/lib/structures/extra/BaseGuild.js +3 -3
- package/lib/structures/extra/BitField.d.ts +1 -1
- package/lib/structures/extra/BitField.js +3 -2
- package/lib/structures/extra/DiscordBase.js +2 -2
- package/lib/structures/extra/Permissions.d.ts +3 -1
- package/lib/structures/extra/Permissions.js +8 -3
- package/lib/types/gateway.d.ts +1537 -0
- package/lib/types/gateway.js +4 -0
- package/lib/types/index.d.ts +9 -1
- package/lib/types/index.js +28 -1
- package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/attachment.d.ts +5 -0
- package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/attachment.js +2 -0
- package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/base.d.ts +22 -0
- package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/base.js +2 -0
- package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/boolean.d.ts +4 -0
- package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/boolean.js +2 -0
- package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/channel.d.ts +7 -0
- package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/channel.js +2 -0
- package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/integer.d.ts +17 -0
- package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/integer.js +2 -0
- package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/mentionable.d.ts +5 -0
- package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/mentionable.js +2 -0
- package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/number.d.ts +17 -0
- package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/number.js +2 -0
- package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/role.d.ts +5 -0
- package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/role.js +2 -0
- package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/shared.d.ts +25 -0
- package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/shared.js +20 -0
- package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/string.d.ts +17 -0
- package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/string.js +2 -0
- package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/subcommand.d.ts +11 -0
- package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/subcommand.js +2 -0
- package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/subcommandGroup.d.ts +11 -0
- package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/subcommandGroup.js +2 -0
- package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/user.d.ts +5 -0
- package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/user.js +2 -0
- package/lib/types/payloads/_interactions/_applicationCommands/chatInput.d.ts +60 -0
- package/lib/types/payloads/_interactions/_applicationCommands/chatInput.js +29 -0
- package/lib/types/payloads/_interactions/_applicationCommands/contextMenu.d.ts +65 -0
- package/lib/types/payloads/_interactions/_applicationCommands/contextMenu.js +2 -0
- package/lib/types/payloads/_interactions/_applicationCommands/internals.d.ts +8 -0
- package/lib/types/payloads/_interactions/_applicationCommands/internals.js +2 -0
- package/lib/types/payloads/_interactions/_applicationCommands/permissions.d.ts +54 -0
- package/lib/types/payloads/_interactions/_applicationCommands/permissions.js +20 -0
- package/lib/types/payloads/_interactions/applicationCommands.d.ts +153 -0
- package/lib/types/payloads/_interactions/applicationCommands.js +61 -0
- package/lib/types/payloads/_interactions/autocomplete.d.ts +10 -0
- package/lib/types/payloads/_interactions/autocomplete.js +2 -0
- package/lib/types/payloads/_interactions/base.d.ts +197 -0
- package/lib/types/payloads/_interactions/base.js +2 -0
- package/lib/types/payloads/_interactions/messageComponents.d.ts +41 -0
- package/lib/types/payloads/_interactions/messageComponents.js +2 -0
- package/lib/types/payloads/_interactions/modalSubmit.d.ts +35 -0
- package/lib/types/payloads/_interactions/modalSubmit.js +2 -0
- package/lib/types/payloads/_interactions/ping.d.ts +3 -0
- package/lib/types/payloads/_interactions/ping.js +2 -0
- package/lib/types/payloads/_interactions/responses.d.ts +112 -0
- package/lib/types/payloads/_interactions/responses.js +54 -0
- package/lib/types/payloads/application.d.ts +292 -0
- package/lib/types/payloads/application.js +117 -0
- package/lib/types/payloads/auditLog.d.ts +644 -0
- package/lib/types/payloads/auditLog.js +80 -0
- package/lib/types/payloads/autoModeration.d.ts +219 -0
- package/lib/types/payloads/autoModeration.js +87 -0
- package/lib/types/payloads/channel.d.ts +1708 -0
- package/lib/types/payloads/channel.js +372 -0
- package/lib/types/payloads/emoji.d.ts +48 -0
- package/lib/types/payloads/emoji.js +5 -0
- package/lib/types/payloads/gateway.d.ts +373 -0
- package/lib/types/payloads/gateway.js +82 -0
- package/lib/types/payloads/guild.d.ts +1060 -0
- package/lib/types/payloads/guild.js +324 -0
- package/lib/types/payloads/guildScheduledEvent.d.ts +138 -0
- package/lib/types/payloads/guildScheduledEvent.js +32 -0
- package/lib/types/payloads/index.d.ts +64 -0
- package/lib/types/payloads/index.js +37 -0
- package/lib/types/payloads/interactions.d.ts +24 -0
- package/lib/types/payloads/interactions.js +23 -0
- package/lib/types/payloads/invite.d.ts +121 -0
- package/lib/types/payloads/invite.js +23 -0
- package/lib/types/payloads/monetization.d.ts +150 -0
- package/lib/types/payloads/monetization.js +79 -0
- package/lib/types/payloads/oauth2.d.ts +131 -0
- package/lib/types/payloads/oauth2.js +135 -0
- package/lib/types/payloads/permissions.d.ts +97 -0
- package/lib/types/payloads/permissions.js +16 -0
- package/lib/types/payloads/poll.d.ts +104 -0
- package/lib/types/payloads/poll.js +16 -0
- package/lib/types/payloads/stageInstance.d.ts +77 -0
- package/lib/types/payloads/stageInstance.js +19 -0
- package/lib/types/payloads/sticker.d.ts +123 -0
- package/lib/types/payloads/sticker.js +30 -0
- package/lib/types/payloads/teams.d.ts +78 -0
- package/lib/types/payloads/teams.js +23 -0
- package/lib/types/payloads/template.d.ts +62 -0
- package/lib/types/payloads/template.js +5 -0
- package/lib/types/payloads/user.d.ts +337 -0
- package/lib/types/payloads/user.js +167 -0
- package/lib/types/payloads/voice.d.ts +89 -0
- package/lib/types/payloads/voice.js +5 -0
- package/lib/types/payloads/webhook.d.ts +76 -0
- package/lib/types/payloads/webhook.js +21 -0
- package/lib/types/rest/application.d.ts +57 -0
- package/lib/types/rest/application.js +2 -0
- package/lib/types/rest/auditLog.d.ts +30 -0
- package/lib/types/rest/auditLog.js +2 -0
- package/lib/types/rest/autoModeration.d.ts +66 -0
- package/lib/types/rest/autoModeration.js +2 -0
- package/lib/types/rest/channel.d.ts +712 -0
- package/lib/types/rest/channel.js +11 -0
- package/lib/types/rest/emoji.d.ts +54 -0
- package/lib/types/rest/emoji.js +2 -0
- package/lib/types/rest/gateway.d.ts +9 -0
- package/lib/types/rest/gateway.js +2 -0
- package/lib/types/rest/guild.d.ts +865 -0
- package/lib/types/rest/guild.js +2 -0
- package/lib/types/rest/guildScheduledEvent.d.ts +126 -0
- package/lib/types/rest/guildScheduledEvent.js +2 -0
- package/lib/types/rest/index.d.ts +296 -0
- package/lib/types/rest/index.js +292 -0
- package/lib/types/rest/interactions.d.ts +194 -0
- package/lib/types/rest/interactions.js +2 -0
- package/lib/types/rest/invite.d.ts +24 -0
- package/lib/types/rest/invite.js +2 -0
- package/lib/types/rest/monetization.d.ts +82 -0
- package/lib/types/rest/monetization.js +11 -0
- package/lib/types/rest/oauth2.d.ts +172 -0
- package/lib/types/rest/oauth2.js +2 -0
- package/lib/types/rest/poll.d.ts +44 -0
- package/lib/types/rest/poll.js +2 -0
- package/lib/types/rest/stageInstance.d.ts +58 -0
- package/lib/types/rest/stageInstance.js +2 -0
- package/lib/types/rest/sticker.d.ts +77 -0
- package/lib/types/rest/sticker.js +2 -0
- package/lib/types/rest/template.d.ts +62 -0
- package/lib/types/rest/template.js +2 -0
- package/lib/types/rest/user.d.ts +120 -0
- package/lib/types/rest/user.js +2 -0
- package/lib/types/rest/voice.d.ts +17 -0
- package/lib/types/rest/voice.js +2 -0
- package/lib/types/rest/webhook.d.ts +250 -0
- package/lib/types/rest/webhook.js +2 -0
- package/lib/types/utils/index.d.ts +797 -0
- package/lib/types/utils/index.js +799 -0
- package/lib/websocket/SharedTypes.d.ts +4 -3
- package/lib/websocket/SharedTypes.js +1 -1
- package/lib/websocket/constants/index.d.ts +0 -1
- package/lib/websocket/discord/basesocket.d.ts +7 -6
- package/lib/websocket/discord/basesocket.js +35 -6
- package/lib/websocket/discord/events/memberUpdate.d.ts +1 -6
- package/lib/websocket/discord/events/memberUpdate.js +2 -1
- package/lib/websocket/discord/events/presenceUpdate.d.ts +5 -18
- package/lib/websocket/discord/events/presenceUpdate.js +5 -6
- package/lib/websocket/discord/shard.d.ts +9 -8
- package/lib/websocket/discord/shard.js +65 -47
- package/lib/websocket/discord/sharder.d.ts +6 -5
- package/lib/websocket/discord/sharder.js +11 -10
- package/lib/websocket/discord/shared.d.ts +13 -5
- package/lib/websocket/discord/socket/custom.d.ts +52 -0
- package/lib/websocket/discord/socket/custom.js +283 -0
- package/lib/websocket/discord/worker.d.ts +5 -10
- package/lib/websocket/discord/workermanager.d.ts +8 -15
- package/lib/websocket/discord/workermanager.js +35 -39
- package/lib/websocket/structures/index.d.ts +0 -1
- package/lib/websocket/structures/index.js +1 -1
- package/lib/websocket/structures/timeout.d.ts +0 -1
- package/package.json +65 -74
- package/lib/cache/adapters/redis.d.ts +0 -37
- package/lib/cache/adapters/redis.js +0 -218
- package/lib/client/oninteractioncreate.d.ts +0 -4
- package/lib/client/oninteractioncreate.js +0 -198
- package/lib/client/onmessagecreate.d.ts +0 -3
- package/lib/client/onmessagecreate.js +0 -395
- package/lib/structures/extra/functions.d.ts +0 -12
- package/lib/structures/extra/functions.js +0 -70
package/lib/client/index.d.ts
CHANGED
package/lib/client/index.js
CHANGED
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import type { ChannelType } from '../types';
|
|
2
|
+
import { type CustomStructures, OptionResolver } from '../commands';
|
|
3
|
+
import { AnonymousGuild, AutoModerationRule, BaseChannel, BaseGuildChannel, CategoryChannel, ClientUser, DMChannel, DirectoryChannel, ForumChannel, Guild, GuildEmoji, GuildMember, GuildRole, GuildTemplate, InteractionGuildMember, MediaChannel, Message, NewsChannel, Poll, StageChannel, Sticker, TextGuildChannel, ThreadChannel, User, VoiceChannel, VoiceState, Webhook, WebhookMessage } from '../structures';
|
|
4
|
+
import type { StructStates } from '../common/';
|
|
5
|
+
import { GuildBan } from '../structures/GuildBan';
|
|
6
|
+
export type PollStructure = InferCustomStructure<Poll, 'Poll'>;
|
|
7
|
+
export type ClientUserStructure = InferCustomStructure<ClientUser, 'ClientUser'>;
|
|
8
|
+
export type AnonymousGuildStructure = InferCustomStructure<AnonymousGuild, 'AnonymousGuild'>;
|
|
9
|
+
export type AutoModerationRuleStructure = InferCustomStructure<AutoModerationRule, 'AutoModerationRule'>;
|
|
10
|
+
export type BaseChannelStructure = InferCustomStructure<BaseChannel<ChannelType>, 'BaseChannel'>;
|
|
11
|
+
export type BaseGuildChannelStructure = InferCustomStructure<BaseGuildChannel, 'BaseGuildChannel'>;
|
|
12
|
+
export type TextGuildChannelStructure = InferCustomStructure<TextGuildChannel, 'TextGuildChannel'>;
|
|
13
|
+
export type DMChannelStructure = InferCustomStructure<DMChannel, 'DMChannel'>;
|
|
14
|
+
export type VoiceChannelStructure = InferCustomStructure<VoiceChannel, 'VoiceChannel'>;
|
|
15
|
+
export type StageChannelStructure = InferCustomStructure<StageChannel, 'StageChannel'>;
|
|
16
|
+
export type MediaChannelStructure = InferCustomStructure<MediaChannel, 'MediaChannel'>;
|
|
17
|
+
export type ForumChannelStructure = InferCustomStructure<ForumChannel, 'ForumChannel'>;
|
|
18
|
+
export type ThreadChannelStructure = InferCustomStructure<ThreadChannel, 'ThreadChannel'>;
|
|
19
|
+
export type CategoryChannelStructure = InferCustomStructure<CategoryChannel, 'CategoryChannel'>;
|
|
20
|
+
export type NewsChannelStructure = InferCustomStructure<NewsChannel, 'NewsChannel'>;
|
|
21
|
+
export type DirectoryChannelStructure = InferCustomStructure<DirectoryChannel, 'DirectoryChannel'>;
|
|
22
|
+
export type GuildStructure<State extends StructStates = 'api'> = InferCustomStructure<Guild<State>, 'Guild'>;
|
|
23
|
+
export type GuildBanStructure = InferCustomStructure<GuildBan, 'GuildBan'>;
|
|
24
|
+
export type GuildEmojiStructure = InferCustomStructure<GuildEmoji, 'GuildEmoji'>;
|
|
25
|
+
export type GuildMemberStructure = InferCustomStructure<GuildMember, 'GuildMember'>;
|
|
26
|
+
export type InteractionGuildMemberStructure = InferCustomStructure<InteractionGuildMember, 'InteractionGuildMember'>;
|
|
27
|
+
export type GuildRoleStructure = InferCustomStructure<GuildRole, 'GuildRole'>;
|
|
28
|
+
export type GuildTemplateStructure = InferCustomStructure<GuildTemplate, 'GuildTemplate'>;
|
|
29
|
+
export type MessageStructure = InferCustomStructure<Message, 'Message'>;
|
|
30
|
+
export type WebhookMessageStructure = InferCustomStructure<WebhookMessage, 'WebhookMessage'>;
|
|
31
|
+
export type StickerStructure = InferCustomStructure<Sticker, 'Sticker'>;
|
|
32
|
+
export type UserStructure = InferCustomStructure<User, 'User'>;
|
|
33
|
+
export type VoiceStateStructure = InferCustomStructure<VoiceState, 'VoiceState'>;
|
|
34
|
+
export type WebhookStructure = InferCustomStructure<Webhook, 'Webhook'>;
|
|
35
|
+
export type OptionResolverStructure = InferCustomStructure<OptionResolver, 'OptionResolver'>;
|
|
36
|
+
export declare class Transformers {
|
|
37
|
+
static AnonymousGuild(...args: ConstructorParameters<typeof AnonymousGuild>): AnonymousGuildStructure;
|
|
38
|
+
static AutoModerationRule(...args: ConstructorParameters<typeof AutoModerationRule>): AutoModerationRuleStructure;
|
|
39
|
+
static BaseChannel(...args: ConstructorParameters<typeof BaseChannel>): BaseChannelStructure;
|
|
40
|
+
static BaseGuildChannel(...args: ConstructorParameters<typeof BaseGuildChannel>): BaseGuildChannelStructure;
|
|
41
|
+
static TextGuildChannel(...args: ConstructorParameters<typeof TextGuildChannel>): TextGuildChannelStructure;
|
|
42
|
+
static DMChannel(...args: ConstructorParameters<typeof DMChannel>): DMChannelStructure;
|
|
43
|
+
static VoiceChannel(...args: ConstructorParameters<typeof VoiceChannel>): VoiceChannelStructure;
|
|
44
|
+
static StageChannel(...args: ConstructorParameters<typeof StageChannel>): StageChannelStructure;
|
|
45
|
+
static MediaChannel(...args: ConstructorParameters<typeof MediaChannel>): MediaChannelStructure;
|
|
46
|
+
static ForumChannel(...args: ConstructorParameters<typeof ForumChannel>): ForumChannelStructure;
|
|
47
|
+
static ThreadChannel(...args: ConstructorParameters<typeof ThreadChannel>): ThreadChannelStructure;
|
|
48
|
+
static CategoryChannel(...args: ConstructorParameters<typeof CategoryChannel>): CategoryChannelStructure;
|
|
49
|
+
static NewsChannel(...args: ConstructorParameters<typeof NewsChannel>): NewsChannelStructure;
|
|
50
|
+
static DirectoryChannel(...args: ConstructorParameters<typeof DirectoryChannel>): DirectoryChannelStructure;
|
|
51
|
+
static ClientUser(...args: ConstructorParameters<typeof ClientUser>): ClientUserStructure;
|
|
52
|
+
static Guild<State extends StructStates = 'api'>(...args: ConstructorParameters<typeof Guild>): GuildStructure<State>;
|
|
53
|
+
static GuildBan(...args: ConstructorParameters<typeof GuildBan>): GuildBanStructure;
|
|
54
|
+
static GuildEmoji(...args: ConstructorParameters<typeof GuildEmoji>): GuildEmojiStructure;
|
|
55
|
+
static GuildMember(...args: ConstructorParameters<typeof GuildMember>): GuildMemberStructure;
|
|
56
|
+
static InteractionGuildMember(...args: ConstructorParameters<typeof InteractionGuildMember>): InteractionGuildMemberStructure;
|
|
57
|
+
static GuildRole(...args: ConstructorParameters<typeof GuildRole>): GuildRoleStructure;
|
|
58
|
+
static GuildTemplate(...args: ConstructorParameters<typeof GuildTemplate>): GuildTemplateStructure;
|
|
59
|
+
static Message(...args: ConstructorParameters<typeof Message>): MessageStructure;
|
|
60
|
+
static WebhookMessage(...args: ConstructorParameters<typeof WebhookMessage>): WebhookMessageStructure;
|
|
61
|
+
static Poll(...args: ConstructorParameters<typeof Poll>): PollStructure;
|
|
62
|
+
static Sticker(...args: ConstructorParameters<typeof Sticker>): StickerStructure;
|
|
63
|
+
static User(...args: ConstructorParameters<typeof User>): UserStructure;
|
|
64
|
+
static VoiceState(...args: ConstructorParameters<typeof VoiceState>): VoiceStateStructure;
|
|
65
|
+
static Webhook(...args: ConstructorParameters<typeof Webhook>): WebhookStructure;
|
|
66
|
+
static OptionResolver(...args: ConstructorParameters<typeof OptionResolver>): OptionResolverStructure;
|
|
67
|
+
}
|
|
68
|
+
export type InferCustomStructure<T, N extends string> = CustomStructures extends Record<N, infer P> ? P : T;
|
|
@@ -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,30 +1,30 @@
|
|
|
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 '..';
|
|
1
|
+
import { type GatewayDispatchPayload } from '../types';
|
|
8
2
|
import type { Cache } from '../cache';
|
|
9
3
|
import { type DeepPartial, type When } from '../common';
|
|
10
4
|
import { EventHandler } from '../events';
|
|
11
|
-
import {
|
|
12
|
-
import { Shard, type ShardManagerOptions } from '../websocket';
|
|
5
|
+
import { Shard, type ShardManagerOptions, type WorkerData } from '../websocket';
|
|
13
6
|
import type { WorkerShardInfo } from '../websocket/discord/worker';
|
|
14
7
|
import type { ManagerMessages } from '../websocket/discord/workermanager';
|
|
15
8
|
import type { BaseClientOptions, ServicesOptions, StartOptions } from './base';
|
|
16
9
|
import { BaseClient } from './base';
|
|
17
|
-
import type { Client } from './client';
|
|
10
|
+
import type { Client, ClientOptions } from './client';
|
|
11
|
+
import { Collectors } from './collectors';
|
|
12
|
+
import { type ClientUserStructure } from './transformers';
|
|
13
|
+
import { MemberUpdateHandler } from '../websocket/discord/events/memberUpdate';
|
|
14
|
+
import { PresenceUpdateHandler } from '../websocket/discord/events/presenceUpdate';
|
|
18
15
|
export declare class WorkerClient<Ready extends boolean = boolean> extends BaseClient {
|
|
19
16
|
private __handleGuilds?;
|
|
20
|
-
|
|
17
|
+
memberUpdateHandler: MemberUpdateHandler;
|
|
18
|
+
presenceUpdateHandler: PresenceUpdateHandler;
|
|
19
|
+
collectors: Collectors;
|
|
21
20
|
events?: EventHandler | undefined;
|
|
22
|
-
me: When<Ready,
|
|
21
|
+
me: When<Ready, ClientUserStructure>;
|
|
23
22
|
promises: Map<string, {
|
|
24
23
|
resolve: (value: any) => void;
|
|
25
24
|
timeout: NodeJS.Timeout;
|
|
26
25
|
}>;
|
|
27
26
|
shards: Map<number, Shard>;
|
|
27
|
+
private __setServicesCache?;
|
|
28
28
|
options: WorkerClientOptions;
|
|
29
29
|
constructor(options?: WorkerClientOptions);
|
|
30
30
|
get workerId(): number;
|
|
@@ -34,10 +34,11 @@ export declare class WorkerClient<Ready extends boolean = boolean> extends BaseC
|
|
|
34
34
|
events?: EventHandler['callback'];
|
|
35
35
|
};
|
|
36
36
|
}): void;
|
|
37
|
+
setWorkerData(data: WorkerData): void;
|
|
37
38
|
start(options?: Omit<DeepPartial<StartOptions>, 'httpConnection' | 'token' | 'connection'>): Promise<void>;
|
|
38
39
|
loadEvents(dir?: string): Promise<void>;
|
|
39
|
-
postMessage(body:
|
|
40
|
-
|
|
40
|
+
postMessage(body: unknown): unknown;
|
|
41
|
+
handleManagerMessages(data: ManagerMessages): Promise<any>;
|
|
41
42
|
private generateNonce;
|
|
42
43
|
private generateSendPromise;
|
|
43
44
|
tellWorker(workerId: number, func: (_: this) => {}): Promise<unknown>;
|
|
@@ -45,8 +46,10 @@ export declare class WorkerClient<Ready extends boolean = boolean> extends BaseC
|
|
|
45
46
|
}
|
|
46
47
|
export declare function generateShardInfo(shard: Shard): WorkerShardInfo;
|
|
47
48
|
interface WorkerClientOptions extends BaseClientOptions {
|
|
48
|
-
disabledCache
|
|
49
|
+
disabledCache?: Cache['disabledCache'];
|
|
49
50
|
commands?: NonNullable<Client['options']>['commands'];
|
|
50
51
|
handlePayload?: ShardManagerOptions['handlePayload'];
|
|
52
|
+
gateway?: ClientOptions['gateway'];
|
|
53
|
+
postMessage?: (body: unknown) => unknown;
|
|
51
54
|
}
|
|
52
55
|
export {};
|
|
@@ -1,17 +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
|
|
14
|
-
const
|
|
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");
|
|
15
17
|
let workerData;
|
|
16
18
|
let manager;
|
|
17
19
|
try {
|
|
@@ -23,52 +25,25 @@ try {
|
|
|
23
25
|
token: process.env.SEYFERT_WORKER_TOKEN,
|
|
24
26
|
workerId: Number.parseInt(process.env.SEYFERT_WORKER_WORKERID),
|
|
25
27
|
workerProxy: process.env.SEYFERT_WORKER_WORKERPROXY === 'true',
|
|
28
|
+
totalShards: Number(process.env.SEYFERT_WORKER_TOTALSHARDS),
|
|
29
|
+
mode: process.env.SEYFERT_WORKER_MODE,
|
|
26
30
|
};
|
|
27
31
|
}
|
|
28
32
|
catch { }
|
|
29
33
|
class WorkerClient extends base_1.BaseClient {
|
|
30
34
|
__handleGuilds = new Set();
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
events = new events_1.EventHandler(this
|
|
35
|
+
memberUpdateHandler = new memberUpdate_1.MemberUpdateHandler();
|
|
36
|
+
presenceUpdateHandler = new presenceUpdate_1.PresenceUpdateHandler();
|
|
37
|
+
collectors = new collectors_1.Collectors();
|
|
38
|
+
events = new events_1.EventHandler(this);
|
|
35
39
|
me;
|
|
36
40
|
promises = new Map();
|
|
37
41
|
shards = new Map();
|
|
42
|
+
__setServicesCache;
|
|
38
43
|
constructor(options) {
|
|
39
44
|
super(options);
|
|
40
|
-
if (
|
|
41
|
-
|
|
42
|
-
}
|
|
43
|
-
this.postMessage({
|
|
44
|
-
type: 'WORKER_START',
|
|
45
|
-
workerId: workerData.workerId,
|
|
46
|
-
});
|
|
47
|
-
const worker_threads = (0, common_1.lazyLoadPackage)('node:worker_threads');
|
|
48
|
-
if (worker_threads?.parentPort) {
|
|
49
|
-
manager = worker_threads?.parentPort;
|
|
50
|
-
}
|
|
51
|
-
(manager ?? process).on('message', (data) => this.handleManagerMessages(data));
|
|
52
|
-
this.setServices({
|
|
53
|
-
cache: {
|
|
54
|
-
adapter: new cache_1.WorkerAdapter(workerData),
|
|
55
|
-
disabledCache: options?.disabledCache,
|
|
56
|
-
},
|
|
57
|
-
});
|
|
58
|
-
if (workerData.debug) {
|
|
59
|
-
this.debugger = new __1.Logger({
|
|
60
|
-
name: `[Worker #${workerData.workerId}]`,
|
|
61
|
-
logLevel: common_1.LogLevels.Debug,
|
|
62
|
-
});
|
|
63
|
-
}
|
|
64
|
-
if (workerData.workerProxy) {
|
|
65
|
-
this.setServices({
|
|
66
|
-
rest: new __1.ApiHandler({
|
|
67
|
-
token: workerData.token,
|
|
68
|
-
workerProxy: true,
|
|
69
|
-
debug: workerData.debug,
|
|
70
|
-
}),
|
|
71
|
-
});
|
|
45
|
+
if (options?.postMessage) {
|
|
46
|
+
this.postMessage = options.postMessage;
|
|
72
47
|
}
|
|
73
48
|
}
|
|
74
49
|
get workerId() {
|
|
@@ -81,22 +56,73 @@ class WorkerClient extends base_1.BaseClient {
|
|
|
81
56
|
}
|
|
82
57
|
setServices({ ...rest }) {
|
|
83
58
|
super.setServices(rest);
|
|
59
|
+
if (rest.cache) {
|
|
60
|
+
this.__setServicesCache = true;
|
|
61
|
+
}
|
|
84
62
|
if (rest.handlers && 'events' in rest.handlers) {
|
|
85
63
|
if (!rest.handlers.events) {
|
|
86
64
|
this.events = undefined;
|
|
87
65
|
}
|
|
88
66
|
else if (typeof rest.handlers.events === 'function') {
|
|
89
|
-
this.events = new events_1.EventHandler(this
|
|
90
|
-
this.events.setHandlers({
|
|
91
|
-
callback: rest.handlers.events,
|
|
92
|
-
});
|
|
67
|
+
this.events = new events_1.EventHandler(this);
|
|
93
68
|
}
|
|
94
69
|
else {
|
|
95
70
|
this.events = rest.handlers.events;
|
|
96
71
|
}
|
|
97
72
|
}
|
|
98
73
|
}
|
|
74
|
+
setWorkerData(data) {
|
|
75
|
+
workerData = data;
|
|
76
|
+
}
|
|
99
77
|
async start(options = {}) {
|
|
78
|
+
const worker_threads = (0, common_1.lazyLoadPackage)('node:worker_threads');
|
|
79
|
+
if (worker_threads?.parentPort) {
|
|
80
|
+
manager = worker_threads?.parentPort;
|
|
81
|
+
}
|
|
82
|
+
if (workerData.mode !== 'custom')
|
|
83
|
+
(manager ?? process).on('message', (data) => this.handleManagerMessages(data));
|
|
84
|
+
this.logger = new __1.Logger({
|
|
85
|
+
name: `[Worker #${workerData.workerId}]`,
|
|
86
|
+
});
|
|
87
|
+
if (this.__setServicesCache) {
|
|
88
|
+
this.setServices({
|
|
89
|
+
cache: {
|
|
90
|
+
disabledCache: this.options.disabledCache,
|
|
91
|
+
},
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
else {
|
|
95
|
+
const adapter = new cache_1.WorkerAdapter(workerData);
|
|
96
|
+
if (this.options.postMessage) {
|
|
97
|
+
adapter.postMessage = this.options.postMessage;
|
|
98
|
+
}
|
|
99
|
+
this.setServices({
|
|
100
|
+
cache: {
|
|
101
|
+
adapter,
|
|
102
|
+
disabledCache: this.options.disabledCache,
|
|
103
|
+
},
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
delete this.__setServicesCache;
|
|
107
|
+
if (workerData.debug) {
|
|
108
|
+
this.debugger = new __1.Logger({
|
|
109
|
+
name: `[Worker #${workerData.workerId}]`,
|
|
110
|
+
logLevel: common_1.LogLevels.Debug,
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
if (workerData.workerProxy) {
|
|
114
|
+
this.setServices({
|
|
115
|
+
rest: new __1.ApiHandler({
|
|
116
|
+
token: workerData.token,
|
|
117
|
+
workerProxy: true,
|
|
118
|
+
debug: workerData.debug,
|
|
119
|
+
}),
|
|
120
|
+
});
|
|
121
|
+
}
|
|
122
|
+
this.postMessage({
|
|
123
|
+
type: 'WORKER_START',
|
|
124
|
+
workerId: workerData.workerId,
|
|
125
|
+
});
|
|
100
126
|
await super.start(options);
|
|
101
127
|
await this.loadEvents(options.eventsDir);
|
|
102
128
|
this.cache.intents = workerData.intents;
|
|
@@ -165,9 +191,12 @@ class WorkerClient extends base_1.BaseClient {
|
|
|
165
191
|
info: data.info,
|
|
166
192
|
compress: data.compress,
|
|
167
193
|
debugger: this.debugger,
|
|
194
|
+
properties: {
|
|
195
|
+
...websocket_1.properties,
|
|
196
|
+
...this.options.gateway?.properties,
|
|
197
|
+
},
|
|
168
198
|
async handlePayload(shardId, payload) {
|
|
169
199
|
await handlePayload?.(shardId, payload);
|
|
170
|
-
await self.cache.onPacket(payload);
|
|
171
200
|
await onPacket?.(payload, shardId);
|
|
172
201
|
self.postMessage({
|
|
173
202
|
workerId: workerData.workerId,
|
|
@@ -230,9 +259,8 @@ class WorkerClient extends base_1.BaseClient {
|
|
|
230
259
|
{
|
|
231
260
|
let result;
|
|
232
261
|
try {
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
(${data.func})(this)
|
|
262
|
+
result = await eval(`
|
|
263
|
+
(${data.func})(this)
|
|
236
264
|
`);
|
|
237
265
|
}
|
|
238
266
|
catch (e) {
|
|
@@ -286,76 +314,87 @@ class WorkerClient extends base_1.BaseClient {
|
|
|
286
314
|
return this.generateSendPromise(nonce);
|
|
287
315
|
}
|
|
288
316
|
async onPacket(packet, shardId) {
|
|
289
|
-
|
|
317
|
+
Promise.allSettled([
|
|
318
|
+
this.events?.runEvent('RAW', this, packet, shardId, false),
|
|
319
|
+
this.collectors.run('RAW', packet, this),
|
|
320
|
+
]); //ignore promise
|
|
290
321
|
switch (packet.t) {
|
|
322
|
+
//// Cases where we must obtain the old data before updating
|
|
291
323
|
case 'GUILD_MEMBER_UPDATE':
|
|
324
|
+
{
|
|
325
|
+
if (!this.memberUpdateHandler.check(packet.d)) {
|
|
326
|
+
return;
|
|
327
|
+
}
|
|
328
|
+
await this.events?.execute(packet.t, packet, this, shardId);
|
|
329
|
+
}
|
|
330
|
+
break;
|
|
292
331
|
case 'PRESENCE_UPDATE':
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
332
|
+
{
|
|
333
|
+
if (!this.presenceUpdateHandler.check(packet.d)) {
|
|
334
|
+
return;
|
|
335
|
+
}
|
|
336
|
+
await this.events?.execute(packet.t, packet, this, shardId);
|
|
337
|
+
}
|
|
338
|
+
break;
|
|
296
339
|
case 'GUILD_DELETE':
|
|
297
|
-
case '
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
340
|
+
case 'GUILD_CREATE': {
|
|
341
|
+
if (this.__handleGuilds?.has(packet.d.id)) {
|
|
342
|
+
this.__handleGuilds?.delete(packet.d.id);
|
|
343
|
+
if (!this.__handleGuilds?.size && [...this.shards.values()].every(shard => shard.data.session_id)) {
|
|
344
|
+
delete this.__handleGuilds;
|
|
345
|
+
await this.cache.onPacket?.(packet);
|
|
346
|
+
this.postMessage({
|
|
347
|
+
type: 'WORKER_READY',
|
|
348
|
+
workerId: this.workerId,
|
|
349
|
+
});
|
|
350
|
+
return this.events?.runEvent('WORKER_READY', this, this.me, -1);
|
|
351
|
+
}
|
|
352
|
+
if (!this.__handleGuilds?.size)
|
|
353
|
+
delete this.__handleGuilds;
|
|
354
|
+
return this.cache.onPacket?.(packet);
|
|
355
|
+
}
|
|
307
356
|
await this.events?.execute(packet.t, packet, this, shardId);
|
|
308
|
-
await this.cache.onPacket(packet);
|
|
309
357
|
break;
|
|
310
|
-
|
|
311
|
-
default:
|
|
312
|
-
{
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
break;
|
|
340
|
-
case 'GUILD_CREATE': {
|
|
341
|
-
if (this.__handleGuilds?.has(packet.d.id)) {
|
|
342
|
-
this.__handleGuilds.delete(packet.d.id);
|
|
343
|
-
if (!this.__handleGuilds.size && [...this.shards.values()].every(shard => shard.data.session_id)) {
|
|
344
|
-
this.postMessage({
|
|
345
|
-
type: 'WORKER_READY',
|
|
346
|
-
workerId: this.workerId,
|
|
347
|
-
});
|
|
348
|
-
await this.events?.runEvent('WORKER_READY', this, this.me, -1);
|
|
349
|
-
}
|
|
350
|
-
if (!this.__handleGuilds.size)
|
|
351
|
-
delete this.__handleGuilds;
|
|
352
|
-
return;
|
|
358
|
+
}
|
|
359
|
+
default: {
|
|
360
|
+
switch (packet.t) {
|
|
361
|
+
case 'INTERACTION_CREATE':
|
|
362
|
+
await this.events?.execute(packet.t, packet, this, shardId);
|
|
363
|
+
await this.handleCommand.interaction(packet.d, shardId);
|
|
364
|
+
break;
|
|
365
|
+
case 'MESSAGE_CREATE':
|
|
366
|
+
await this.events?.execute(packet.t, packet, this, shardId);
|
|
367
|
+
await this.handleCommand.message(packet.d, shardId);
|
|
368
|
+
break;
|
|
369
|
+
case 'READY':
|
|
370
|
+
if (!this.__handleGuilds)
|
|
371
|
+
this.__handleGuilds = new Set();
|
|
372
|
+
for (const g of packet.d.guilds) {
|
|
373
|
+
this.__handleGuilds?.add(g.id);
|
|
374
|
+
}
|
|
375
|
+
this.botId = packet.d.user.id;
|
|
376
|
+
this.applicationId = packet.d.application.id;
|
|
377
|
+
this.me = transformers_1.Transformers.ClientUser(this, packet.d.user, packet.d.application);
|
|
378
|
+
await this.events?.execute(packet.t, packet, this, shardId);
|
|
379
|
+
if (!(this.__handleGuilds?.size &&
|
|
380
|
+
(workerData.intents & types_1.GatewayIntentBits.Guilds) === types_1.GatewayIntentBits.Guilds)) {
|
|
381
|
+
if ([...this.shards.values()].every(shard => shard.data.session_id)) {
|
|
382
|
+
this.postMessage({
|
|
383
|
+
type: 'WORKER_READY',
|
|
384
|
+
workerId: this.workerId,
|
|
385
|
+
});
|
|
386
|
+
await this.events?.runEvent('WORKER_READY', this, this.me, -1);
|
|
353
387
|
}
|
|
388
|
+
delete this.__handleGuilds;
|
|
354
389
|
}
|
|
355
|
-
|
|
356
|
-
|
|
390
|
+
this.debugger?.debug(`#${shardId}[${packet.d.user.username}](${this.botId}) is online...`);
|
|
391
|
+
break;
|
|
392
|
+
default:
|
|
393
|
+
await this.events?.execute(packet.t, packet, this, shardId);
|
|
394
|
+
break;
|
|
357
395
|
}
|
|
358
396
|
break;
|
|
397
|
+
}
|
|
359
398
|
}
|
|
360
399
|
}
|
|
361
400
|
}
|
|
@@ -368,4 +407,3 @@ function generateShardInfo(shard) {
|
|
|
368
407
|
resumable: shard.resumable,
|
|
369
408
|
};
|
|
370
409
|
}
|
|
371
|
-
exports.generateShardInfo = generateShardInfo;
|
package/lib/collection.d.ts
CHANGED
|
@@ -229,8 +229,8 @@ export declare class LimitedCollection<K, V> {
|
|
|
229
229
|
private resetTimeout;
|
|
230
230
|
private stopTimeout;
|
|
231
231
|
private startTimeout;
|
|
232
|
-
keys():
|
|
233
|
-
values():
|
|
232
|
+
keys(): IterableIterator<K>;
|
|
233
|
+
values(): IterableIterator<LimitedCollectionData<V>>;
|
|
234
234
|
entries(): IterableIterator<[K, LimitedCollectionData<V>]>;
|
|
235
235
|
clear(): void;
|
|
236
236
|
private clearExpired;
|
package/lib/collection.js
CHANGED
|
@@ -365,10 +365,10 @@ class LimitedCollection {
|
|
|
365
365
|
}, expireOn - Date.now());
|
|
366
366
|
}
|
|
367
367
|
keys() {
|
|
368
|
-
return this.data.keys;
|
|
368
|
+
return this.data.keys();
|
|
369
369
|
}
|
|
370
370
|
values() {
|
|
371
|
-
return this.data.values;
|
|
371
|
+
return this.data.values();
|
|
372
372
|
}
|
|
373
373
|
entries() {
|
|
374
374
|
return this.data.entries();
|