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
package/lib/cache/index.js
CHANGED
|
@@ -14,7 +14,8 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
exports.Cache = void 0;
|
|
17
|
+
exports.Cache = exports.GuildBasedResource = exports.GuildRelatedResource = exports.BaseResource = void 0;
|
|
18
|
+
const common_1 = require("../common");
|
|
18
19
|
const guilds_1 = require("./resources/guilds");
|
|
19
20
|
const users_1 = require("./resources/users");
|
|
20
21
|
const channels_1 = require("./resources/channels");
|
|
@@ -27,9 +28,15 @@ const stickers_1 = require("./resources/stickers");
|
|
|
27
28
|
const threads_1 = require("./resources/threads");
|
|
28
29
|
const voice_states_1 = require("./resources/voice-states");
|
|
29
30
|
const bans_1 = require("./resources/bans");
|
|
30
|
-
const
|
|
31
|
+
const types_1 = require("../types");
|
|
31
32
|
const overwrites_1 = require("./resources/overwrites");
|
|
32
33
|
const messages_1 = require("./resources/messages");
|
|
34
|
+
var base_1 = require("./resources/default/base");
|
|
35
|
+
Object.defineProperty(exports, "BaseResource", { enumerable: true, get: function () { return base_1.BaseResource; } });
|
|
36
|
+
var guild_related_1 = require("./resources/default/guild-related");
|
|
37
|
+
Object.defineProperty(exports, "GuildRelatedResource", { enumerable: true, get: function () { return guild_related_1.GuildRelatedResource; } });
|
|
38
|
+
var guild_based_1 = require("./resources/default/guild-based");
|
|
39
|
+
Object.defineProperty(exports, "GuildBasedResource", { enumerable: true, get: function () { return guild_based_1.GuildBasedResource; } });
|
|
33
40
|
__exportStar(require("./adapters/index"), exports);
|
|
34
41
|
class Cache {
|
|
35
42
|
intents;
|
|
@@ -52,55 +59,60 @@ class Cache {
|
|
|
52
59
|
stageInstances;
|
|
53
60
|
messages;
|
|
54
61
|
bans;
|
|
55
|
-
|
|
62
|
+
__logger__;
|
|
63
|
+
constructor(intents, adapter, disabledCache = {}, client) {
|
|
56
64
|
this.intents = intents;
|
|
57
65
|
this.adapter = adapter;
|
|
58
66
|
this.disabledCache = disabledCache;
|
|
59
67
|
// non-guild based
|
|
60
|
-
if (!this.disabledCache.
|
|
68
|
+
if (!this.disabledCache.users) {
|
|
61
69
|
this.users = new users_1.Users(this, client);
|
|
62
70
|
}
|
|
63
|
-
if (!this.disabledCache.
|
|
71
|
+
if (!this.disabledCache.guilds) {
|
|
64
72
|
this.guilds = new guilds_1.Guilds(this, client);
|
|
65
73
|
}
|
|
66
74
|
// guild related
|
|
67
|
-
if (!this.disabledCache.
|
|
75
|
+
if (!this.disabledCache.members) {
|
|
68
76
|
this.members = new members_1.Members(this, client);
|
|
69
77
|
}
|
|
70
|
-
if (!this.disabledCache.
|
|
78
|
+
if (!this.disabledCache.voiceStates) {
|
|
71
79
|
this.voiceStates = new voice_states_1.VoiceStates(this, client);
|
|
72
80
|
}
|
|
73
81
|
// guild based
|
|
74
|
-
if (!this.disabledCache.
|
|
82
|
+
if (!this.disabledCache.roles) {
|
|
75
83
|
this.roles = new roles_1.Roles(this, client);
|
|
76
84
|
}
|
|
77
|
-
if (!this.disabledCache.
|
|
85
|
+
if (!this.disabledCache.overwrites) {
|
|
78
86
|
this.overwrites = new overwrites_1.Overwrites(this, client);
|
|
79
87
|
}
|
|
80
|
-
if (!this.disabledCache.
|
|
88
|
+
if (!this.disabledCache.channels) {
|
|
81
89
|
this.channels = new channels_1.Channels(this, client);
|
|
82
90
|
}
|
|
83
|
-
if (!this.disabledCache.
|
|
91
|
+
if (!this.disabledCache.emojis) {
|
|
84
92
|
this.emojis = new emojis_1.Emojis(this, client);
|
|
85
93
|
}
|
|
86
|
-
if (!this.disabledCache.
|
|
94
|
+
if (!this.disabledCache.stickers) {
|
|
87
95
|
this.stickers = new stickers_1.Stickers(this, client);
|
|
88
96
|
}
|
|
89
|
-
if (!this.disabledCache.
|
|
97
|
+
if (!this.disabledCache.presences) {
|
|
90
98
|
this.presences = new presence_1.Presences(this, client);
|
|
91
99
|
}
|
|
92
|
-
if (!this.disabledCache.
|
|
100
|
+
if (!this.disabledCache.threads) {
|
|
93
101
|
this.threads = new threads_1.Threads(this, client);
|
|
94
102
|
}
|
|
95
|
-
if (!this.disabledCache.
|
|
103
|
+
if (!this.disabledCache.stageInstances) {
|
|
96
104
|
this.stageInstances = new stage_instances_1.StageInstances(this, client);
|
|
97
105
|
}
|
|
98
|
-
if (!this.disabledCache.
|
|
106
|
+
if (!this.disabledCache.messages) {
|
|
99
107
|
this.messages = new messages_1.Messages(this, client);
|
|
100
108
|
}
|
|
101
|
-
if (!this.disabledCache.
|
|
109
|
+
if (!this.disabledCache.bans) {
|
|
102
110
|
this.bans = new bans_1.Bans(this, client);
|
|
103
111
|
}
|
|
112
|
+
if (this.disabledCache.onPacket) {
|
|
113
|
+
//@ts-expect-error
|
|
114
|
+
this.onPacket = () => { };
|
|
115
|
+
}
|
|
104
116
|
}
|
|
105
117
|
/** @internal */
|
|
106
118
|
__setClient(client) {
|
|
@@ -124,7 +136,7 @@ class Cache {
|
|
|
124
136
|
}
|
|
125
137
|
// internal use ./structures
|
|
126
138
|
hasIntent(intent) {
|
|
127
|
-
return (this.intents &
|
|
139
|
+
return (this.intents & types_1.GatewayIntentBits[intent]) === types_1.GatewayIntentBits[intent];
|
|
128
140
|
}
|
|
129
141
|
get hasGuildsIntent() {
|
|
130
142
|
return this.hasIntent('Guilds');
|
|
@@ -274,7 +286,7 @@ class Cache {
|
|
|
274
286
|
}
|
|
275
287
|
}
|
|
276
288
|
await this.adapter.bulkAddToRelationShip(relationshipsData);
|
|
277
|
-
await this.adapter.
|
|
289
|
+
await this.adapter.bulkPatch(false, allData);
|
|
278
290
|
}
|
|
279
291
|
async bulkSet(keys) {
|
|
280
292
|
const allData = [];
|
|
@@ -289,7 +301,6 @@ class Cache {
|
|
|
289
301
|
case 'stageInstances':
|
|
290
302
|
case 'emojis':
|
|
291
303
|
case 'overwrites':
|
|
292
|
-
case 'bans':
|
|
293
304
|
case 'messages':
|
|
294
305
|
{
|
|
295
306
|
if (!this[type]?.filter(data, id, guildId))
|
|
@@ -308,6 +319,7 @@ class Cache {
|
|
|
308
319
|
allData.push([this[type].hashId(id), this[type].parse(data, id, guildId)]);
|
|
309
320
|
}
|
|
310
321
|
break;
|
|
322
|
+
case 'bans':
|
|
311
323
|
case 'voiceStates':
|
|
312
324
|
case 'members':
|
|
313
325
|
{
|
|
@@ -346,7 +358,7 @@ class Cache {
|
|
|
346
358
|
}
|
|
347
359
|
}
|
|
348
360
|
await this.adapter.bulkAddToRelationShip(relationshipsData);
|
|
349
|
-
await this.adapter.
|
|
361
|
+
await this.adapter.bulkSet(allData);
|
|
350
362
|
}
|
|
351
363
|
async onPacket(event) {
|
|
352
364
|
switch (event.t) {
|
|
@@ -373,7 +385,7 @@ class Cache {
|
|
|
373
385
|
await this.overwrites?.set(event.d.id, event.d.guild_id, event.d.permission_overwrites);
|
|
374
386
|
break;
|
|
375
387
|
}
|
|
376
|
-
if (event.d.type ===
|
|
388
|
+
if (event.d.type === types_1.ChannelType.DM) {
|
|
377
389
|
await this.channels?.set(event.d.recipients[0]?.id, '@me', event.d);
|
|
378
390
|
break;
|
|
379
391
|
}
|
|
@@ -457,5 +469,299 @@ class Cache {
|
|
|
457
469
|
break;
|
|
458
470
|
}
|
|
459
471
|
}
|
|
472
|
+
async testAdapter() {
|
|
473
|
+
this.__logger__ ??= new common_1.Logger({
|
|
474
|
+
name: '[CACHE]',
|
|
475
|
+
});
|
|
476
|
+
await this.adapter.flush();
|
|
477
|
+
// this method will only check the cache for `users`, `members` y `channels`
|
|
478
|
+
// likewise these have the three types of resources (GuildRelatedResource, GuildBasedResource, BaseResource)
|
|
479
|
+
// will also check `overwrites`, since the latter stores an array not as an object but as data.
|
|
480
|
+
await this.testUsersAndMembers();
|
|
481
|
+
await this.testChannelsAndOverwrites();
|
|
482
|
+
this.__logger__.info('The adapter seems to work properly');
|
|
483
|
+
this.__logger__.debug('Flushing adapter');
|
|
484
|
+
delete this.__logger__;
|
|
485
|
+
await this.adapter.flush();
|
|
486
|
+
}
|
|
487
|
+
async testUsersAndMembers() {
|
|
488
|
+
if (!this.users)
|
|
489
|
+
throw new Error('Users cache disabled, you should enable it for this.');
|
|
490
|
+
if (!this.members)
|
|
491
|
+
throw new Error('Members cache disabled, you should enable it for this.');
|
|
492
|
+
function createUser(name) {
|
|
493
|
+
return {
|
|
494
|
+
avatar: 'xdxd',
|
|
495
|
+
discriminator: '0',
|
|
496
|
+
global_name: name,
|
|
497
|
+
id: `${Math.random()}`.slice(2),
|
|
498
|
+
username: `@seyfert/${name}`,
|
|
499
|
+
};
|
|
500
|
+
}
|
|
501
|
+
function createMember(name) {
|
|
502
|
+
return {
|
|
503
|
+
banner: null,
|
|
504
|
+
avatar: 'xdxd',
|
|
505
|
+
deaf: !false,
|
|
506
|
+
flags: types_1.GuildMemberFlags.StartedHomeActions,
|
|
507
|
+
joined_at: new Date().toISOString(),
|
|
508
|
+
mute: !true,
|
|
509
|
+
roles: ['111111111111'],
|
|
510
|
+
user: createUser(name),
|
|
511
|
+
};
|
|
512
|
+
}
|
|
513
|
+
const users = [
|
|
514
|
+
createUser('witherking_'),
|
|
515
|
+
createUser('vanecia'),
|
|
516
|
+
createUser('socram'),
|
|
517
|
+
createUser('free'),
|
|
518
|
+
createUser('justevil'),
|
|
519
|
+
createUser('nobody'),
|
|
520
|
+
createUser('aaron'),
|
|
521
|
+
createUser('simxnet'),
|
|
522
|
+
createUser('yuzu'),
|
|
523
|
+
createUser('vyrek'),
|
|
524
|
+
createUser('marcrock'),
|
|
525
|
+
];
|
|
526
|
+
for (const user of users) {
|
|
527
|
+
await this.users.set(user.id, user);
|
|
528
|
+
}
|
|
529
|
+
let count = 0;
|
|
530
|
+
if ((await this.users.values()).length !== users.length)
|
|
531
|
+
throw new Error('users.values() is not of the expected size.');
|
|
532
|
+
if ((await this.users.count()) !== users.length)
|
|
533
|
+
throw new Error('users.count() is not of the expected amount');
|
|
534
|
+
for (const user of users) {
|
|
535
|
+
const cache = await this.users.raw(user.id);
|
|
536
|
+
if (!cache)
|
|
537
|
+
throw new Error(`users.raw(${user.id}) has returned undefined!!!!!!`);
|
|
538
|
+
if (cache.username !== user.username)
|
|
539
|
+
throw new Error(`users.raw(${user.id}).username is not of the expected value!!!!! (cache (${cache.username})) (expected value: (${user.username}))`);
|
|
540
|
+
if (cache.id !== user.id)
|
|
541
|
+
throw new Error(`users.raw(${user.id}).id is not of the expected value!!!!!! (cache (${cache.id})) (expected value: (${user.id}))`);
|
|
542
|
+
await this.users.remove(user.id);
|
|
543
|
+
if ((await this.users.count()) !== users.length - ++count)
|
|
544
|
+
throw new Error(`users.count() should be ${users.length - count}!! please check your remove method`);
|
|
545
|
+
}
|
|
546
|
+
this.__logger__.info('the user cache seems to be alright.');
|
|
547
|
+
this.__logger__.debug('Flushing adapter to clear users cache.');
|
|
548
|
+
await this.adapter.flush();
|
|
549
|
+
// unexpected error message
|
|
550
|
+
if ((await this.users.count()) !== 0)
|
|
551
|
+
throw new Error('users.count() should be 0!! please check your flush method');
|
|
552
|
+
const guildMembers = {
|
|
553
|
+
'852531635252494346': [
|
|
554
|
+
createMember("witherking_'s member"),
|
|
555
|
+
createMember("vanecia's member"),
|
|
556
|
+
createMember("nobody's member"),
|
|
557
|
+
],
|
|
558
|
+
'1003825077969764412': [
|
|
559
|
+
createMember("free's member"),
|
|
560
|
+
createMember("socram's member"),
|
|
561
|
+
createMember("marcrock's member"),
|
|
562
|
+
createMember("justevil's member"),
|
|
563
|
+
createMember("vyrek's member"),
|
|
564
|
+
],
|
|
565
|
+
'876711213126520882': [
|
|
566
|
+
createMember("aaron's member"),
|
|
567
|
+
createMember("simxnet's member"),
|
|
568
|
+
createMember("yuzu's member"),
|
|
569
|
+
],
|
|
570
|
+
};
|
|
571
|
+
for (const guildId in guildMembers) {
|
|
572
|
+
const members = guildMembers[guildId];
|
|
573
|
+
for (const member of members) {
|
|
574
|
+
await this.members.set(member.user.id, guildId, member);
|
|
575
|
+
}
|
|
576
|
+
if ((await this.members.values(guildId)).length !== members.length)
|
|
577
|
+
throw new Error('members.values(guildId) is not of the expected size.');
|
|
578
|
+
if ((await this.members.count(guildId)) !== members.length)
|
|
579
|
+
throw new Error('members.count(guildId) is not of the expected amount');
|
|
580
|
+
for (const member of members) {
|
|
581
|
+
const cache = await this.members.raw(member.user.id, guildId);
|
|
582
|
+
if (!cache)
|
|
583
|
+
throw new Error(`members.raw(${member.user.id}, ${guildId}) has returned undefined.`);
|
|
584
|
+
if (cache.roles[0] !== member.roles[0])
|
|
585
|
+
throw new Error(`members.raw(${member.user.id}, ${guildId}).roles[0] is not the expected value: ${member.roles[0]} (cache: ${cache.roles[0]})`);
|
|
586
|
+
if (cache.user.username !== member.user.username)
|
|
587
|
+
throw new Error(`members.raw(${member.user.id}, ${guildId}).user.username is not the expected value!!!!!! (cache (${cache.user.username})) (expected value: (${member.user.username}))`);
|
|
588
|
+
if (cache.user.id !== member.user.id)
|
|
589
|
+
throw new Error(`members.raw(${member.user.id}, ${guildId}).user.id is not the expected value!!!!!! (cache (${cache.user.id})) (expected value: (${member.user.id}))`);
|
|
590
|
+
}
|
|
591
|
+
}
|
|
592
|
+
if ((await this.members.values('*')).length !== Object.values(guildMembers).flat().length)
|
|
593
|
+
throw new Error('members.values(*) is not of the expected size');
|
|
594
|
+
if ((await this.members.count('*')) !== Object.values(guildMembers).flat().length)
|
|
595
|
+
throw new Error('the global amount of members.count(*) is not the expected amount');
|
|
596
|
+
count = 0;
|
|
597
|
+
for (const guildId in guildMembers) {
|
|
598
|
+
const members = guildMembers[guildId];
|
|
599
|
+
for (const member of members) {
|
|
600
|
+
await this.members.remove(member.user.id, guildId);
|
|
601
|
+
if ((await this.members.count(guildId)) !== members.length - ++count)
|
|
602
|
+
throw new Error(`members.count(${guildId}) should be ${members.length - count}!! please check your remove method`);
|
|
603
|
+
}
|
|
604
|
+
count = 0;
|
|
605
|
+
}
|
|
606
|
+
await this.adapter.flush();
|
|
607
|
+
// unexpected error message
|
|
608
|
+
if ((await this.users.count()) !== 0)
|
|
609
|
+
throw new Error('users.count() should be zero!! please check your flush method');
|
|
610
|
+
// unexpected error message
|
|
611
|
+
if ((await this.members.count('*')) !== 0)
|
|
612
|
+
throw new Error("members.count('*') should be zero!! please check your flush method");
|
|
613
|
+
this.__logger__.info('the member cache seems to be alright.');
|
|
614
|
+
}
|
|
615
|
+
async testChannelsAndOverwrites() {
|
|
616
|
+
if (!this.channels)
|
|
617
|
+
throw new Error('Channels cache disabled, you should enable it for this.');
|
|
618
|
+
if (!this.overwrites)
|
|
619
|
+
throw new Error('Overwrites cache disabled, you should enable it for this.');
|
|
620
|
+
function createChannel(name) {
|
|
621
|
+
return {
|
|
622
|
+
id: `${Math.random()}`.slice(2),
|
|
623
|
+
name,
|
|
624
|
+
type: types_1.ChannelType.GuildText,
|
|
625
|
+
position: Math.random() > 0.5 ? 1 : 0,
|
|
626
|
+
};
|
|
627
|
+
}
|
|
628
|
+
function createOverwrites(name) {
|
|
629
|
+
const channel_id = `${Math.random()}`.slice(2);
|
|
630
|
+
return [
|
|
631
|
+
{
|
|
632
|
+
id: name,
|
|
633
|
+
allow: '8',
|
|
634
|
+
deny: '2',
|
|
635
|
+
type: types_1.OverwriteType.Role,
|
|
636
|
+
channel_id,
|
|
637
|
+
},
|
|
638
|
+
{
|
|
639
|
+
id: `${name}-2`,
|
|
640
|
+
allow: '8',
|
|
641
|
+
deny: '2',
|
|
642
|
+
type: types_1.OverwriteType.Role,
|
|
643
|
+
channel_id,
|
|
644
|
+
},
|
|
645
|
+
];
|
|
646
|
+
}
|
|
647
|
+
const guildChannels = {
|
|
648
|
+
'852531635252494346': [
|
|
649
|
+
createChannel("witherking_'s channel"),
|
|
650
|
+
createChannel("vanecia's channel"),
|
|
651
|
+
createChannel("nobody's channel"),
|
|
652
|
+
],
|
|
653
|
+
'1003825077969764412': [
|
|
654
|
+
createChannel("free's channel"),
|
|
655
|
+
createChannel("socram's channel"),
|
|
656
|
+
createChannel("marcrock's channel"),
|
|
657
|
+
createChannel("justevil's channel"),
|
|
658
|
+
createChannel("vyrek's channel"),
|
|
659
|
+
],
|
|
660
|
+
'876711213126520882': [
|
|
661
|
+
createChannel("aaron's channel"),
|
|
662
|
+
createChannel("simxnet's channel"),
|
|
663
|
+
createChannel("yuzu's channel"),
|
|
664
|
+
],
|
|
665
|
+
};
|
|
666
|
+
for (const guildId in guildChannels) {
|
|
667
|
+
const channels = guildChannels[guildId];
|
|
668
|
+
for (const channel of channels) {
|
|
669
|
+
await this.channels.set(channel.id, guildId, channel);
|
|
670
|
+
}
|
|
671
|
+
if ((await this.channels.values(guildId)).length !== channels.length)
|
|
672
|
+
throw new Error('channels.values(guildId) is not of the expected size');
|
|
673
|
+
if ((await this.channels.count(guildId)) !== channels.length)
|
|
674
|
+
throw new Error('channels.count(guildId) is not of the expected amount');
|
|
675
|
+
for (const channel of channels) {
|
|
676
|
+
const cache = await this.channels.raw(channel.id);
|
|
677
|
+
if (!cache)
|
|
678
|
+
throw new Error(`channels.raw(${channel.id}) has returned undefined!!!!!!`);
|
|
679
|
+
if (cache.type !== types_1.ChannelType.GuildText)
|
|
680
|
+
throw new Error(`channels.raw(${channel.id}).type is not of the expected type: ${channel.type}!!!!!!!! (mismatched type: ${cache.type})`);
|
|
681
|
+
if (cache.name !== channel.name)
|
|
682
|
+
throw new Error(`channels.raw(${channel.id}).name is not the expected value!!!!!! (cache (${cache.name})) (expected value: (${channel.name}))`);
|
|
683
|
+
if (cache.id !== channel.id)
|
|
684
|
+
throw new Error(`channels.raw(${channel.id}).id is not the expected value!!!!!! (cache (${cache.id})) (expected value: (${channel.id}))`);
|
|
685
|
+
}
|
|
686
|
+
}
|
|
687
|
+
if ((await this.channels.values('*')).length !== Object.values(guildChannels).flat().length)
|
|
688
|
+
throw new Error('channels.values(*) is not of the expected size');
|
|
689
|
+
if ((await this.channels.count('*')) !== Object.values(guildChannels).flat().length)
|
|
690
|
+
throw new Error('channels.count(*) is not of the expected amount');
|
|
691
|
+
let count = 0;
|
|
692
|
+
for (const guildId in guildChannels) {
|
|
693
|
+
const channels = guildChannels[guildId];
|
|
694
|
+
for (const channel of channels) {
|
|
695
|
+
await this.channels.remove(channel.id, guildId);
|
|
696
|
+
if ((await this.channels.count(guildId)) !== channels.length - ++count)
|
|
697
|
+
throw new Error(`channels.count(${guildId}) should be ${channels.length - count}!! please check your remove method`);
|
|
698
|
+
}
|
|
699
|
+
count = 0;
|
|
700
|
+
}
|
|
701
|
+
// unexpected error message
|
|
702
|
+
if ((await this.channels.count('*')) !== 0)
|
|
703
|
+
throw new Error(`channels.count('*') should be zero!! please check your remove method`);
|
|
704
|
+
this.__logger__.info('the channel cache seems to be alright');
|
|
705
|
+
const guildOverwrites = {
|
|
706
|
+
'852531635252494346': [
|
|
707
|
+
createOverwrites("witherking_'s channel"),
|
|
708
|
+
createOverwrites("vanecia's channel"),
|
|
709
|
+
createOverwrites("nobody's channel"),
|
|
710
|
+
],
|
|
711
|
+
'1003825077969764412': [
|
|
712
|
+
createOverwrites("free's channel"),
|
|
713
|
+
createOverwrites("socram's channel"),
|
|
714
|
+
createOverwrites("marcrock's channel"),
|
|
715
|
+
createOverwrites("justevil's channel"),
|
|
716
|
+
createOverwrites("vyrek's channel"),
|
|
717
|
+
],
|
|
718
|
+
'876711213126520882': [
|
|
719
|
+
createOverwrites("aaron's channel"),
|
|
720
|
+
createOverwrites("simxnet's channel"),
|
|
721
|
+
createOverwrites("yuzu's channel"),
|
|
722
|
+
],
|
|
723
|
+
};
|
|
724
|
+
for (const guildId in guildOverwrites) {
|
|
725
|
+
const bulkOverwrites = guildOverwrites[guildId];
|
|
726
|
+
for (const overwrites of bulkOverwrites) {
|
|
727
|
+
await this.overwrites.set(overwrites[0].channel_id, guildId, overwrites);
|
|
728
|
+
}
|
|
729
|
+
if ((await this.overwrites.values(guildId)).length !== bulkOverwrites.length)
|
|
730
|
+
throw new Error('overwrites.values(channelId) is not of the expected size');
|
|
731
|
+
if ((await this.overwrites.count(guildId)) !== bulkOverwrites.length)
|
|
732
|
+
throw new Error('overwrites.count(channelId) is not of the expected amount');
|
|
733
|
+
for (const overwrites of bulkOverwrites) {
|
|
734
|
+
const cache = await this.overwrites.raw(overwrites[0].channel_id);
|
|
735
|
+
if (!cache)
|
|
736
|
+
throw new Error(`overwrites.raw(${overwrites[0].channel_id}) has returned undefined!!!!!!`);
|
|
737
|
+
if (cache.length !== overwrites.length)
|
|
738
|
+
throw new Error(`overwrites.raw(${overwrites[0].channel_id}).length is not of the expected length!!!!!! (cache (${cache.length})) (expected value: (${overwrites.length}))`);
|
|
739
|
+
for (const overwrite of overwrites) {
|
|
740
|
+
if (!cache.some(x => {
|
|
741
|
+
return (x.allow === overwrite.allow &&
|
|
742
|
+
x.deny === overwrite.deny &&
|
|
743
|
+
x.guild_id === guildId &&
|
|
744
|
+
x.id === overwrite.id &&
|
|
745
|
+
x.type === overwrite.type);
|
|
746
|
+
}))
|
|
747
|
+
throw new Error("cache wasn't found in the overwrites cache");
|
|
748
|
+
}
|
|
749
|
+
}
|
|
750
|
+
}
|
|
751
|
+
count = 0;
|
|
752
|
+
for (const guildId in guildOverwrites) {
|
|
753
|
+
const bulkOverwrites = guildOverwrites[guildId];
|
|
754
|
+
for (const overwrites of bulkOverwrites) {
|
|
755
|
+
await this.overwrites.remove(overwrites[0].channel_id, guildId);
|
|
756
|
+
if ((await this.overwrites.count(guildId)) !== bulkOverwrites.length - ++count)
|
|
757
|
+
throw new Error(`overwrites.count(${guildId}) should be ${overwrites.length - count}!! please check your remove method`);
|
|
758
|
+
}
|
|
759
|
+
count = 0;
|
|
760
|
+
}
|
|
761
|
+
// unexpected error message
|
|
762
|
+
if ((await this.overwrites.count('*')) !== 0)
|
|
763
|
+
throw new Error(`overwrites.count('*') should be zero!! please check your remove method`);
|
|
764
|
+
this.__logger__.info('the overwrites cache seems to be alright.');
|
|
765
|
+
}
|
|
460
766
|
}
|
|
461
767
|
exports.Cache = Cache;
|
|
@@ -1,12 +1,15 @@
|
|
|
1
|
-
import type { APIBan } from '
|
|
1
|
+
import type { APIBan, GatewayGuildBanModifyDispatchData } from '../../types';
|
|
2
2
|
import type { ReturnCache } from '../..';
|
|
3
3
|
import { GuildBasedResource } from './default/guild-based';
|
|
4
|
-
import {
|
|
5
|
-
export declare class Bans extends GuildBasedResource {
|
|
4
|
+
import { type GuildBanStructure } from '../../client/transformers';
|
|
5
|
+
export declare class Bans extends GuildBasedResource<any, GatewayGuildBanModifyDispatchData | APIBan> {
|
|
6
6
|
namespace: string;
|
|
7
7
|
filter(data: APIBan, id: string, guild_id: string): boolean;
|
|
8
8
|
parse(data: any, key: string, guild_id: string): any;
|
|
9
|
-
get(id: string, guild: string): ReturnCache<
|
|
10
|
-
|
|
11
|
-
|
|
9
|
+
get(id: string, guild: string): ReturnCache<GuildBanStructure | undefined>;
|
|
10
|
+
raw(id: string, guild: string): ReturnCache<Omit<GatewayGuildBanModifyDispatchData | APIBan, 'user'> | undefined>;
|
|
11
|
+
bulk(ids: string[], guild: string): ReturnCache<GuildBanStructure[]>;
|
|
12
|
+
bulkRaw(ids: string[], guild: string): ReturnCache<Omit<GatewayGuildBanModifyDispatchData | APIBan, 'user'>[]>;
|
|
13
|
+
values(guild: string): ReturnCache<GuildBanStructure[]>;
|
|
14
|
+
valuesRaw(guild: string): ReturnCache<Omit<GatewayGuildBanModifyDispatchData | APIBan, 'user'>[]>;
|
|
12
15
|
}
|
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.Bans = void 0;
|
|
4
4
|
const common_1 = require("../../common");
|
|
5
5
|
const guild_based_1 = require("./default/guild-based");
|
|
6
|
-
const
|
|
6
|
+
const transformers_1 = require("../../client/transformers");
|
|
7
7
|
class Bans extends guild_based_1.GuildBasedResource {
|
|
8
8
|
namespace = 'ban';
|
|
9
9
|
//@ts-expect-error
|
|
@@ -15,21 +15,30 @@ class Bans extends guild_based_1.GuildBasedResource {
|
|
|
15
15
|
return rest;
|
|
16
16
|
}
|
|
17
17
|
get(id, guild) {
|
|
18
|
-
return (0, common_1.fakePromise)(super.get(id, guild)).then(rawBan => rawBan ?
|
|
18
|
+
return (0, common_1.fakePromise)(super.get(id, guild)).then(rawBan => rawBan ? transformers_1.Transformers.GuildBan(this.client, rawBan, guild) : undefined);
|
|
19
|
+
}
|
|
20
|
+
raw(id, guild) {
|
|
21
|
+
return super.get(id, guild);
|
|
19
22
|
}
|
|
20
23
|
bulk(ids, guild) {
|
|
21
24
|
return (0, common_1.fakePromise)(super.bulk(ids, guild)).then(bans => bans
|
|
22
25
|
.map(rawBan => {
|
|
23
|
-
return rawBan ?
|
|
26
|
+
return rawBan ? transformers_1.Transformers.GuildBan(this.client, rawBan, guild) : undefined;
|
|
24
27
|
})
|
|
25
28
|
.filter(Boolean));
|
|
26
29
|
}
|
|
30
|
+
bulkRaw(ids, guild) {
|
|
31
|
+
return super.bulk(ids, guild);
|
|
32
|
+
}
|
|
27
33
|
values(guild) {
|
|
28
34
|
return (0, common_1.fakePromise)(super.values(guild)).then(bans => bans
|
|
29
35
|
.map(rawBan => {
|
|
30
|
-
return rawBan ?
|
|
36
|
+
return rawBan ? transformers_1.Transformers.GuildBan(this.client, rawBan, guild) : undefined;
|
|
31
37
|
})
|
|
32
38
|
.filter(Boolean));
|
|
33
39
|
}
|
|
40
|
+
valuesRaw(guild) {
|
|
41
|
+
return super.values(guild);
|
|
42
|
+
}
|
|
34
43
|
}
|
|
35
44
|
exports.Bans = Bans;
|
|
@@ -1,12 +1,14 @@
|
|
|
1
|
-
import type { APIChannel } from '
|
|
2
|
-
import type
|
|
3
|
-
import channelFrom from '../../structures/channels';
|
|
1
|
+
import type { APIChannel } from '../../types';
|
|
2
|
+
import { channelFrom, type AllChannels } from '../../structures';
|
|
4
3
|
import type { ReturnCache } from '../index';
|
|
5
4
|
import { GuildRelatedResource } from './default/guild-related';
|
|
6
|
-
export declare class Channels extends GuildRelatedResource {
|
|
5
|
+
export declare class Channels extends GuildRelatedResource<any, APIChannel> {
|
|
7
6
|
namespace: string;
|
|
8
7
|
parse(data: APIChannel, id: string, guild_id: string): any;
|
|
9
8
|
get(id: string): ReturnCache<AllChannels | undefined>;
|
|
9
|
+
raw(id: string): ReturnCache<Omit<APIChannel, 'permission_overwrites'> | undefined>;
|
|
10
10
|
bulk(ids: string[]): ReturnCache<ReturnType<typeof channelFrom>[]>;
|
|
11
|
+
bulkRaw(ids: string[]): ReturnCache<Omit<APIChannel, 'permission_overwrites'>[]>;
|
|
11
12
|
values(guild: string): ReturnCache<ReturnType<typeof channelFrom>[]>;
|
|
13
|
+
valuesRaw(guild: string): ReturnCache<Omit<APIChannel, 'permission_overwrites'>[]>;
|
|
12
14
|
}
|
|
@@ -1,11 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
3
|
exports.Channels = void 0;
|
|
7
4
|
const common_1 = require("../../common");
|
|
8
|
-
const
|
|
5
|
+
const structures_1 = require("../../structures");
|
|
9
6
|
const guild_related_1 = require("./default/guild-related");
|
|
10
7
|
class Channels extends guild_related_1.GuildRelatedResource {
|
|
11
8
|
namespace = 'channel';
|
|
@@ -14,13 +11,22 @@ class Channels extends guild_related_1.GuildRelatedResource {
|
|
|
14
11
|
return rest;
|
|
15
12
|
}
|
|
16
13
|
get(id) {
|
|
17
|
-
return (0, common_1.fakePromise)(super.get(id)).then(rawChannel => rawChannel ? (0,
|
|
14
|
+
return (0, common_1.fakePromise)(super.get(id)).then(rawChannel => rawChannel ? (0, structures_1.channelFrom)(rawChannel, this.client) : undefined);
|
|
15
|
+
}
|
|
16
|
+
raw(id) {
|
|
17
|
+
return super.get(id);
|
|
18
18
|
}
|
|
19
19
|
bulk(ids) {
|
|
20
|
-
return (0, common_1.fakePromise)(super.bulk(ids)).then(channels => channels.map(rawChannel => (0,
|
|
20
|
+
return (0, common_1.fakePromise)(super.bulk(ids)).then(channels => channels.map(rawChannel => (0, structures_1.channelFrom)(rawChannel, this.client)));
|
|
21
|
+
}
|
|
22
|
+
bulkRaw(ids) {
|
|
23
|
+
return super.bulk(ids);
|
|
21
24
|
}
|
|
22
25
|
values(guild) {
|
|
23
|
-
return (0, common_1.fakePromise)(super.values(guild)).then(channels => channels.map(rawChannel => (0,
|
|
26
|
+
return (0, common_1.fakePromise)(super.values(guild)).then(channels => channels.map(rawChannel => (0, structures_1.channelFrom)(rawChannel, this.client)));
|
|
27
|
+
}
|
|
28
|
+
valuesRaw(guild) {
|
|
29
|
+
return super.values(guild);
|
|
24
30
|
}
|
|
25
31
|
}
|
|
26
32
|
exports.Channels = Channels;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import type { GatewayIntentBits } from 'discord-api-types/v10';
|
|
2
1
|
import type { UsingClient } from '../../../commands';
|
|
2
|
+
import type { GatewayIntentBits } from '../../../types';
|
|
3
3
|
import type { Cache, ReturnCache } from '../../index';
|
|
4
|
-
export declare class BaseResource<T = any> {
|
|
4
|
+
export declare class BaseResource<T = any, S = any> {
|
|
5
5
|
protected cache: Cache;
|
|
6
6
|
client: UsingClient;
|
|
7
7
|
namespace: string;
|
|
@@ -9,16 +9,16 @@ export declare class BaseResource<T = any> {
|
|
|
9
9
|
filter(data: any, id: string): boolean;
|
|
10
10
|
get adapter(): import("../../index").Adapter;
|
|
11
11
|
removeIfNI(intent: keyof typeof GatewayIntentBits, id: string): import("../../../common").Awaitable<void>;
|
|
12
|
-
setIfNI(intent: keyof typeof GatewayIntentBits, id: string, data:
|
|
12
|
+
setIfNI(intent: keyof typeof GatewayIntentBits, id: string, data: S): import("../../../common").Awaitable<void>;
|
|
13
13
|
get(id: string): ReturnCache<T | undefined>;
|
|
14
14
|
bulk(ids: string[]): ReturnCache<T[]>;
|
|
15
|
-
set(id: string, data:
|
|
16
|
-
patch(id: string, data:
|
|
15
|
+
set(id: string, data: S): import("../../../common").Awaitable<void>;
|
|
16
|
+
patch(id: string, data: S): import("../../../common").Awaitable<void>;
|
|
17
17
|
remove(id: string): import("../../../common").Awaitable<void>;
|
|
18
18
|
keys(): ReturnCache<string[]>;
|
|
19
19
|
values(): ReturnCache<T[]>;
|
|
20
|
-
count():
|
|
21
|
-
contains(id: string):
|
|
20
|
+
count(): ReturnCache<number>;
|
|
21
|
+
contains(id: string): ReturnCache<boolean>;
|
|
22
22
|
getToRelationship(): import("../../../common").Awaitable<string[]>;
|
|
23
23
|
addToRelationship(id: string | string[]): import("../../../common").Awaitable<void>;
|
|
24
24
|
removeToRelationship(id: string | string[]): import("../../../common").Awaitable<void>;
|
|
@@ -38,7 +38,7 @@ class BaseResource {
|
|
|
38
38
|
return this.adapter.get(this.hashId(id));
|
|
39
39
|
}
|
|
40
40
|
bulk(ids) {
|
|
41
|
-
return (0, common_1.fakePromise)(this.adapter.
|
|
41
|
+
return (0, common_1.fakePromise)(this.adapter.bulkGet(ids.map(id => this.hashId(id)))).then(x => x.filter(y => y));
|
|
42
42
|
}
|
|
43
43
|
set(id, data) {
|
|
44
44
|
if (!this.filter(data, id))
|
|
@@ -75,7 +75,7 @@ class BaseResource {
|
|
|
75
75
|
return this.adapter.removeToRelationship(this.namespace, id);
|
|
76
76
|
}
|
|
77
77
|
hashId(id) {
|
|
78
|
-
return `${this.namespace}.${id}`;
|
|
78
|
+
return id.startsWith(this.namespace) ? id : `${this.namespace}.${id}`;
|
|
79
79
|
}
|
|
80
80
|
}
|
|
81
81
|
exports.BaseResource = BaseResource;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import type { GatewayIntentBits } from 'discord-api-types/v10';
|
|
2
1
|
import type { UsingClient } from '../../../commands';
|
|
2
|
+
import type { GatewayIntentBits } from '../../../types';
|
|
3
3
|
import type { Cache, ReturnCache } from '../../index';
|
|
4
|
-
export declare class GuildBasedResource<T = any> {
|
|
4
|
+
export declare class GuildBasedResource<T = any, S = any> {
|
|
5
5
|
protected cache: Cache;
|
|
6
6
|
client: UsingClient;
|
|
7
7
|
namespace: string;
|
|
@@ -10,16 +10,16 @@ export declare class GuildBasedResource<T = any> {
|
|
|
10
10
|
parse(data: any, id: string, guild_id: string): any;
|
|
11
11
|
get adapter(): import("../../index").Adapter;
|
|
12
12
|
removeIfNI(intent: keyof typeof GatewayIntentBits, id: string | string[], guildId: string): import("../../../common").Awaitable<void>;
|
|
13
|
-
setIfNI(intent: keyof typeof GatewayIntentBits, id: string, guildId: string, data:
|
|
13
|
+
setIfNI(intent: keyof typeof GatewayIntentBits, id: string, guildId: string, data: S): void;
|
|
14
14
|
get(id: string, guild: string): ReturnCache<(T & {
|
|
15
15
|
guild_id: string;
|
|
16
16
|
}) | undefined>;
|
|
17
17
|
bulk(ids: string[], guild: string): ReturnCache<(T & {
|
|
18
18
|
guild_id: string;
|
|
19
19
|
})[]>;
|
|
20
|
-
set(__keys: string, guild: string, data:
|
|
21
|
-
set(__keys: [string,
|
|
22
|
-
patch(__keys: string, guild: string, data:
|
|
20
|
+
set(__keys: string, guild: string, data: S): ReturnCache<void>;
|
|
21
|
+
set(__keys: [string, S][], guild: string): ReturnCache<void>;
|
|
22
|
+
patch(__keys: string, guild: string, data: S): ReturnCache<void>;
|
|
23
23
|
patch(__keys: [string, any][], guild: string): ReturnCache<void>;
|
|
24
24
|
remove(id: string | string[], guild: string): import("../../../common").Awaitable<void>;
|
|
25
25
|
keys(guild: string): ReturnCache<string[]>;
|