discord-sb.js 1.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 +674 -0
- package/README.md +2 -0
- package/package.json +91 -0
- package/src/WebSocket.js +39 -0
- package/src/client/BaseClient.js +86 -0
- package/src/client/Client.js +978 -0
- package/src/client/WebhookClient.js +61 -0
- package/src/client/actions/Action.js +116 -0
- package/src/client/actions/ActionsManager.js +80 -0
- package/src/client/actions/ApplicationCommandPermissionsUpdate.js +34 -0
- package/src/client/actions/AutoModerationActionExecution.js +27 -0
- package/src/client/actions/AutoModerationRuleCreate.js +28 -0
- package/src/client/actions/AutoModerationRuleDelete.js +32 -0
- package/src/client/actions/AutoModerationRuleUpdate.js +30 -0
- package/src/client/actions/ChannelCreate.js +23 -0
- package/src/client/actions/ChannelDelete.js +39 -0
- package/src/client/actions/ChannelUpdate.js +43 -0
- package/src/client/actions/GuildAuditLogEntryCreate.js +29 -0
- package/src/client/actions/GuildBanAdd.js +20 -0
- package/src/client/actions/GuildBanRemove.js +25 -0
- package/src/client/actions/GuildChannelsPositionUpdate.js +21 -0
- package/src/client/actions/GuildDelete.js +65 -0
- package/src/client/actions/GuildEmojiCreate.js +20 -0
- package/src/client/actions/GuildEmojiDelete.js +21 -0
- package/src/client/actions/GuildEmojiUpdate.js +20 -0
- package/src/client/actions/GuildEmojisUpdate.js +34 -0
- package/src/client/actions/GuildIntegrationsUpdate.js +19 -0
- package/src/client/actions/GuildMemberRemove.js +33 -0
- package/src/client/actions/GuildMemberUpdate.js +44 -0
- package/src/client/actions/GuildRoleCreate.js +25 -0
- package/src/client/actions/GuildRoleDelete.js +31 -0
- package/src/client/actions/GuildRoleUpdate.js +39 -0
- package/src/client/actions/GuildRolesPositionUpdate.js +21 -0
- package/src/client/actions/GuildScheduledEventCreate.js +27 -0
- package/src/client/actions/GuildScheduledEventDelete.js +31 -0
- package/src/client/actions/GuildScheduledEventUpdate.js +30 -0
- package/src/client/actions/GuildScheduledEventUserAdd.js +32 -0
- package/src/client/actions/GuildScheduledEventUserRemove.js +32 -0
- package/src/client/actions/GuildStickerCreate.js +20 -0
- package/src/client/actions/GuildStickerDelete.js +21 -0
- package/src/client/actions/GuildStickerUpdate.js +20 -0
- package/src/client/actions/GuildStickersUpdate.js +34 -0
- package/src/client/actions/GuildUpdate.js +33 -0
- package/src/client/actions/InviteCreate.js +28 -0
- package/src/client/actions/InviteDelete.js +30 -0
- package/src/client/actions/MessageCreate.js +50 -0
- package/src/client/actions/MessageDelete.js +32 -0
- package/src/client/actions/MessageDeleteBulk.js +46 -0
- package/src/client/actions/MessagePollVoteAdd.js +33 -0
- package/src/client/actions/MessagePollVoteRemove.js +33 -0
- package/src/client/actions/MessageReactionAdd.js +68 -0
- package/src/client/actions/MessageReactionRemove.js +50 -0
- package/src/client/actions/MessageReactionRemoveAll.js +33 -0
- package/src/client/actions/MessageReactionRemoveEmoji.js +28 -0
- package/src/client/actions/MessageUpdate.js +26 -0
- package/src/client/actions/PresenceUpdate.js +50 -0
- package/src/client/actions/StageInstanceCreate.js +28 -0
- package/src/client/actions/StageInstanceDelete.js +33 -0
- package/src/client/actions/StageInstanceUpdate.js +30 -0
- package/src/client/actions/ThreadCreate.js +24 -0
- package/src/client/actions/ThreadDelete.js +32 -0
- package/src/client/actions/ThreadListSync.js +59 -0
- package/src/client/actions/ThreadMemberUpdate.js +30 -0
- package/src/client/actions/ThreadMembersUpdate.js +34 -0
- package/src/client/actions/TypingStart.js +29 -0
- package/src/client/actions/UserUpdate.js +35 -0
- package/src/client/actions/VoiceStateUpdate.js +50 -0
- package/src/client/actions/WebhooksUpdate.js +20 -0
- package/src/client/voice/ClientVoiceManager.js +151 -0
- package/src/client/voice/VoiceConnection.js +1249 -0
- package/src/client/voice/dispatcher/AnnexBDispatcher.js +120 -0
- package/src/client/voice/dispatcher/AudioDispatcher.js +145 -0
- package/src/client/voice/dispatcher/BaseDispatcher.js +459 -0
- package/src/client/voice/dispatcher/VPxDispatcher.js +54 -0
- package/src/client/voice/dispatcher/VideoDispatcher.js +68 -0
- package/src/client/voice/networking/VoiceUDPClient.js +173 -0
- package/src/client/voice/networking/VoiceWebSocket.js +286 -0
- package/src/client/voice/player/MediaPlayer.js +321 -0
- package/src/client/voice/player/processing/AnnexBNalSplitter.js +244 -0
- package/src/client/voice/player/processing/IvfSplitter.js +106 -0
- package/src/client/voice/player/processing/PCMInsertSilence.js +37 -0
- package/src/client/voice/receiver/PacketHandler.js +260 -0
- package/src/client/voice/receiver/Receiver.js +96 -0
- package/src/client/voice/receiver/Recorder.js +173 -0
- package/src/client/voice/util/Function.js +116 -0
- package/src/client/voice/util/PlayInterface.js +122 -0
- package/src/client/voice/util/Secretbox.js +64 -0
- package/src/client/voice/util/Silence.js +16 -0
- package/src/client/voice/util/Socket.js +62 -0
- package/src/client/voice/util/VolumeInterface.js +104 -0
- package/src/client/websocket/WebSocketManager.js +392 -0
- package/src/client/websocket/WebSocketShard.js +907 -0
- package/src/client/websocket/handlers/APPLICATION_COMMAND_CREATE.js +18 -0
- package/src/client/websocket/handlers/APPLICATION_COMMAND_DELETE.js +20 -0
- package/src/client/websocket/handlers/APPLICATION_COMMAND_PERMISSIONS_UPDATE.js +5 -0
- package/src/client/websocket/handlers/APPLICATION_COMMAND_UPDATE.js +20 -0
- package/src/client/websocket/handlers/AUTO_MODERATION_ACTION_EXECUTION.js +5 -0
- package/src/client/websocket/handlers/AUTO_MODERATION_RULE_CREATE.js +5 -0
- package/src/client/websocket/handlers/AUTO_MODERATION_RULE_DELETE.js +5 -0
- package/src/client/websocket/handlers/AUTO_MODERATION_RULE_UPDATE.js +5 -0
- package/src/client/websocket/handlers/CALL_CREATE.js +14 -0
- package/src/client/websocket/handlers/CALL_DELETE.js +11 -0
- package/src/client/websocket/handlers/CALL_UPDATE.js +11 -0
- package/src/client/websocket/handlers/CHANNEL_CREATE.js +5 -0
- package/src/client/websocket/handlers/CHANNEL_DELETE.js +5 -0
- package/src/client/websocket/handlers/CHANNEL_PINS_UPDATE.js +22 -0
- package/src/client/websocket/handlers/CHANNEL_RECIPIENT_ADD.js +19 -0
- package/src/client/websocket/handlers/CHANNEL_RECIPIENT_REMOVE.js +16 -0
- package/src/client/websocket/handlers/CHANNEL_UPDATE.js +16 -0
- package/src/client/websocket/handlers/GUILD_AUDIT_LOG_ENTRY_CREATE.js +5 -0
- package/src/client/websocket/handlers/GUILD_BAN_ADD.js +5 -0
- package/src/client/websocket/handlers/GUILD_BAN_REMOVE.js +5 -0
- package/src/client/websocket/handlers/GUILD_CREATE.js +52 -0
- package/src/client/websocket/handlers/GUILD_DELETE.js +5 -0
- package/src/client/websocket/handlers/GUILD_EMOJIS_UPDATE.js +5 -0
- package/src/client/websocket/handlers/GUILD_INTEGRATIONS_UPDATE.js +5 -0
- package/src/client/websocket/handlers/GUILD_MEMBERS_CHUNK.js +39 -0
- package/src/client/websocket/handlers/GUILD_MEMBER_ADD.js +20 -0
- package/src/client/websocket/handlers/GUILD_MEMBER_REMOVE.js +5 -0
- package/src/client/websocket/handlers/GUILD_MEMBER_UPDATE.js +5 -0
- package/src/client/websocket/handlers/GUILD_ROLE_CREATE.js +5 -0
- package/src/client/websocket/handlers/GUILD_ROLE_DELETE.js +5 -0
- package/src/client/websocket/handlers/GUILD_ROLE_UPDATE.js +5 -0
- package/src/client/websocket/handlers/GUILD_SCHEDULED_EVENT_CREATE.js +5 -0
- package/src/client/websocket/handlers/GUILD_SCHEDULED_EVENT_DELETE.js +5 -0
- package/src/client/websocket/handlers/GUILD_SCHEDULED_EVENT_UPDATE.js +5 -0
- package/src/client/websocket/handlers/GUILD_SCHEDULED_EVENT_USER_ADD.js +5 -0
- package/src/client/websocket/handlers/GUILD_SCHEDULED_EVENT_USER_REMOVE.js +5 -0
- package/src/client/websocket/handlers/GUILD_STICKERS_UPDATE.js +5 -0
- package/src/client/websocket/handlers/GUILD_UPDATE.js +5 -0
- package/src/client/websocket/handlers/INTERACTION_MODAL_CREATE.js +12 -0
- package/src/client/websocket/handlers/INVITE_CREATE.js +5 -0
- package/src/client/websocket/handlers/INVITE_DELETE.js +5 -0
- package/src/client/websocket/handlers/MESSAGE_CREATE.js +5 -0
- package/src/client/websocket/handlers/MESSAGE_DELETE.js +5 -0
- package/src/client/websocket/handlers/MESSAGE_DELETE_BULK.js +5 -0
- package/src/client/websocket/handlers/MESSAGE_POLL_VOTE_ADD.js +5 -0
- package/src/client/websocket/handlers/MESSAGE_POLL_VOTE_REMOVE.js +5 -0
- package/src/client/websocket/handlers/MESSAGE_REACTION_ADD.js +5 -0
- package/src/client/websocket/handlers/MESSAGE_REACTION_REMOVE.js +5 -0
- package/src/client/websocket/handlers/MESSAGE_REACTION_REMOVE_ALL.js +5 -0
- package/src/client/websocket/handlers/MESSAGE_REACTION_REMOVE_EMOJI.js +5 -0
- package/src/client/websocket/handlers/MESSAGE_UPDATE.js +16 -0
- package/src/client/websocket/handlers/PRESENCE_UPDATE.js +5 -0
- package/src/client/websocket/handlers/READY.js +121 -0
- package/src/client/websocket/handlers/RELATIONSHIP_ADD.js +19 -0
- package/src/client/websocket/handlers/RELATIONSHIP_REMOVE.js +17 -0
- package/src/client/websocket/handlers/RELATIONSHIP_UPDATE.js +41 -0
- package/src/client/websocket/handlers/RESUMED.js +14 -0
- package/src/client/websocket/handlers/STAGE_INSTANCE_CREATE.js +5 -0
- package/src/client/websocket/handlers/STAGE_INSTANCE_DELETE.js +5 -0
- package/src/client/websocket/handlers/STAGE_INSTANCE_UPDATE.js +5 -0
- package/src/client/websocket/handlers/THREAD_CREATE.js +5 -0
- package/src/client/websocket/handlers/THREAD_DELETE.js +5 -0
- package/src/client/websocket/handlers/THREAD_LIST_SYNC.js +5 -0
- package/src/client/websocket/handlers/THREAD_MEMBERS_UPDATE.js +5 -0
- package/src/client/websocket/handlers/THREAD_MEMBER_UPDATE.js +5 -0
- package/src/client/websocket/handlers/THREAD_UPDATE.js +16 -0
- package/src/client/websocket/handlers/TYPING_START.js +5 -0
- package/src/client/websocket/handlers/USER_GUILD_SETTINGS_UPDATE.js +6 -0
- package/src/client/websocket/handlers/USER_NOTE_UPDATE.js +5 -0
- package/src/client/websocket/handlers/USER_REQUIRED_ACTION_UPDATE.js +78 -0
- package/src/client/websocket/handlers/USER_SETTINGS_UPDATE.js +5 -0
- package/src/client/websocket/handlers/USER_UPDATE.js +5 -0
- package/src/client/websocket/handlers/VOICE_CHANNEL_EFFECT_SEND.js +16 -0
- package/src/client/websocket/handlers/VOICE_CHANNEL_STATUS_UPDATE.js +12 -0
- package/src/client/websocket/handlers/VOICE_SERVER_UPDATE.js +6 -0
- package/src/client/websocket/handlers/VOICE_STATE_UPDATE.js +5 -0
- package/src/client/websocket/handlers/WEBHOOKS_UPDATE.js +5 -0
- package/src/client/websocket/handlers/index.js +84 -0
- package/src/errors/DJSError.js +61 -0
- package/src/errors/Messages.js +217 -0
- package/src/errors/index.js +4 -0
- package/src/index.js +172 -0
- package/src/managers/ApplicationCommandManager.js +264 -0
- package/src/managers/ApplicationCommandPermissionsManager.js +417 -0
- package/src/managers/AutoModerationRuleManager.js +296 -0
- package/src/managers/BaseGuildEmojiManager.js +80 -0
- package/src/managers/BaseManager.js +19 -0
- package/src/managers/BillingManager.js +66 -0
- package/src/managers/CachedManager.js +71 -0
- package/src/managers/ChannelManager.js +148 -0
- package/src/managers/ClientUserSettingManager.js +372 -0
- package/src/managers/DataManager.js +61 -0
- package/src/managers/DeveloperManager.js +254 -0
- package/src/managers/GuildBanManager.js +250 -0
- package/src/managers/GuildChannelManager.js +488 -0
- package/src/managers/GuildEmojiManager.js +171 -0
- package/src/managers/GuildEmojiRoleManager.js +118 -0
- package/src/managers/GuildForumThreadManager.js +108 -0
- package/src/managers/GuildInviteManager.js +213 -0
- package/src/managers/GuildManager.js +338 -0
- package/src/managers/GuildMemberManager.js +599 -0
- package/src/managers/GuildMemberRoleManager.js +195 -0
- package/src/managers/GuildScheduledEventManager.js +314 -0
- package/src/managers/GuildSettingManager.js +155 -0
- package/src/managers/GuildStickerManager.js +179 -0
- package/src/managers/GuildTextThreadManager.js +98 -0
- package/src/managers/InteractionManager.js +39 -0
- package/src/managers/MessageManager.js +423 -0
- package/src/managers/PermissionOverwriteManager.js +164 -0
- package/src/managers/PresenceManager.js +71 -0
- package/src/managers/QuestManager.js +353 -0
- package/src/managers/ReactionManager.js +67 -0
- package/src/managers/ReactionUserManager.js +73 -0
- package/src/managers/RelationshipManager.js +278 -0
- package/src/managers/RoleManager.js +448 -0
- package/src/managers/SessionManager.js +66 -0
- package/src/managers/StageInstanceManager.js +162 -0
- package/src/managers/ThreadManager.js +175 -0
- package/src/managers/ThreadMemberManager.js +186 -0
- package/src/managers/UserManager.js +136 -0
- package/src/managers/UserNoteManager.js +53 -0
- package/src/managers/VoiceStateManager.js +59 -0
- package/src/rest/APIRequest.js +154 -0
- package/src/rest/APIRouter.js +53 -0
- package/src/rest/DiscordAPIError.js +119 -0
- package/src/rest/HTTPError.js +62 -0
- package/src/rest/RESTManager.js +67 -0
- package/src/rest/RateLimitError.js +55 -0
- package/src/rest/RequestHandler.js +466 -0
- package/src/sharding/Shard.js +444 -0
- package/src/sharding/ShardClientUtil.js +279 -0
- package/src/sharding/ShardingManager.js +319 -0
- package/src/structures/AnonymousGuild.js +98 -0
- package/src/structures/ApplicationCommand.js +593 -0
- package/src/structures/ApplicationRoleConnectionMetadata.js +48 -0
- package/src/structures/AutoModerationActionExecution.js +89 -0
- package/src/structures/AutoModerationRule.js +294 -0
- package/src/structures/AutocompleteInteraction.js +107 -0
- package/src/structures/Base.js +43 -0
- package/src/structures/BaseCommandInteraction.js +211 -0
- package/src/structures/BaseGuild.js +116 -0
- package/src/structures/BaseGuildEmoji.js +56 -0
- package/src/structures/BaseGuildTextChannel.js +191 -0
- package/src/structures/BaseGuildVoiceChannel.js +241 -0
- package/src/structures/BaseMessageComponent.js +181 -0
- package/src/structures/ButtonInteraction.js +11 -0
- package/src/structures/CallState.js +63 -0
- package/src/structures/CategoryChannel.js +85 -0
- package/src/structures/Channel.js +284 -0
- package/src/structures/ClientPresence.js +77 -0
- package/src/structures/ClientUser.js +655 -0
- package/src/structures/CommandInteraction.js +41 -0
- package/src/structures/CommandInteractionOptionResolver.js +276 -0
- package/src/structures/ContainerComponent.js +68 -0
- package/src/structures/ContextMenuInteraction.js +65 -0
- package/src/structures/DMChannel.js +219 -0
- package/src/structures/DirectoryChannel.js +20 -0
- package/src/structures/Emoji.js +148 -0
- package/src/structures/FileComponent.js +49 -0
- package/src/structures/ForumChannel.js +31 -0
- package/src/structures/GroupDMChannel.js +394 -0
- package/src/structures/Guild.js +1791 -0
- package/src/structures/GuildAuditLogs.js +746 -0
- package/src/structures/GuildBan.js +59 -0
- package/src/structures/GuildBoost.js +108 -0
- package/src/structures/GuildChannel.js +470 -0
- package/src/structures/GuildEmoji.js +161 -0
- package/src/structures/GuildMember.js +636 -0
- package/src/structures/GuildPreview.js +191 -0
- package/src/structures/GuildPreviewEmoji.js +27 -0
- package/src/structures/GuildScheduledEvent.js +536 -0
- package/src/structures/GuildTemplate.js +236 -0
- package/src/structures/Integration.js +188 -0
- package/src/structures/IntegrationApplication.js +96 -0
- package/src/structures/Interaction.js +290 -0
- package/src/structures/InteractionCollector.js +248 -0
- package/src/structures/InteractionWebhook.js +43 -0
- package/src/structures/Invite.js +358 -0
- package/src/structures/InviteGuild.js +23 -0
- package/src/structures/InviteStageInstance.js +86 -0
- package/src/structures/MediaChannel.js +11 -0
- package/src/structures/MediaGalleryComponent.js +41 -0
- package/src/structures/MediaGalleryItem.js +47 -0
- package/src/structures/Message.js +1252 -0
- package/src/structures/MessageActionRow.js +105 -0
- package/src/structures/MessageAttachment.js +216 -0
- package/src/structures/MessageButton.js +166 -0
- package/src/structures/MessageCollector.js +146 -0
- package/src/structures/MessageComponentInteraction.js +120 -0
- package/src/structures/MessageContextMenuInteraction.js +20 -0
- package/src/structures/MessageEmbed.js +596 -0
- package/src/structures/MessageMentions.js +273 -0
- package/src/structures/MessagePayload.js +354 -0
- package/src/structures/MessageReaction.js +181 -0
- package/src/structures/MessageSelectMenu.js +141 -0
- package/src/structures/Modal.js +161 -0
- package/src/structures/ModalSubmitFieldsResolver.js +53 -0
- package/src/structures/ModalSubmitInteraction.js +119 -0
- package/src/structures/NewsChannel.js +32 -0
- package/src/structures/OAuth2Guild.js +28 -0
- package/src/structures/PermissionOverwrites.js +198 -0
- package/src/structures/Poll.js +108 -0
- package/src/structures/PollAnswer.js +88 -0
- package/src/structures/Presence.js +1157 -0
- package/src/structures/ReactionCollector.js +229 -0
- package/src/structures/ReactionEmoji.js +31 -0
- package/src/structures/Role.js +590 -0
- package/src/structures/SectionComponent.js +48 -0
- package/src/structures/SelectMenuInteraction.js +21 -0
- package/src/structures/SeparatorComponent.js +48 -0
- package/src/structures/Session.js +81 -0
- package/src/structures/StageChannel.js +104 -0
- package/src/structures/StageInstance.js +208 -0
- package/src/structures/Sticker.js +310 -0
- package/src/structures/StickerPack.js +95 -0
- package/src/structures/StoreChannel.js +56 -0
- package/src/structures/Team.js +118 -0
- package/src/structures/TeamMember.js +80 -0
- package/src/structures/TextChannel.js +33 -0
- package/src/structures/TextDisplayComponent.js +40 -0
- package/src/structures/TextInputComponent.js +132 -0
- package/src/structures/ThreadChannel.js +605 -0
- package/src/structures/ThreadMember.js +105 -0
- package/src/structures/ThreadOnlyChannel.js +249 -0
- package/src/structures/ThumbnailComponent.js +57 -0
- package/src/structures/Typing.js +74 -0
- package/src/structures/UnfurledMediaItem.js +29 -0
- package/src/structures/User.js +640 -0
- package/src/structures/UserContextMenuInteraction.js +29 -0
- package/src/structures/VoiceChannel.js +110 -0
- package/src/structures/VoiceChannelEffect.js +69 -0
- package/src/structures/VoiceRegion.js +53 -0
- package/src/structures/VoiceState.js +354 -0
- package/src/structures/WebEmbed.js +373 -0
- package/src/structures/Webhook.js +478 -0
- package/src/structures/WelcomeChannel.js +60 -0
- package/src/structures/WelcomeScreen.js +48 -0
- package/src/structures/Widget.js +87 -0
- package/src/structures/WidgetMember.js +99 -0
- package/src/structures/interfaces/Application.js +953 -0
- package/src/structures/interfaces/Collector.js +300 -0
- package/src/structures/interfaces/InteractionResponses.js +313 -0
- package/src/structures/interfaces/TextBasedChannel.js +821 -0
- package/src/util/APITypes.js +59 -0
- package/src/util/ActivityFlags.js +44 -0
- package/src/util/ApplicationFlags.js +76 -0
- package/src/util/AttachmentFlags.js +38 -0
- package/src/util/BitField.js +170 -0
- package/src/util/ChannelFlags.js +45 -0
- package/src/util/Constants.js +1914 -0
- package/src/util/DataResolver.js +146 -0
- package/src/util/Formatters.js +228 -0
- package/src/util/GuildMemberFlags.js +43 -0
- package/src/util/Intents.js +74 -0
- package/src/util/InviteFlags.js +34 -0
- package/src/util/LimitedCollection.js +131 -0
- package/src/util/MessageFlags.js +63 -0
- package/src/util/Options.js +358 -0
- package/src/util/Permissions.js +202 -0
- package/src/util/PremiumUsageFlags.js +31 -0
- package/src/util/PurchasedFlags.js +33 -0
- package/src/util/RemoteAuth.js +415 -0
- package/src/util/RoleFlags.js +37 -0
- package/src/util/SnowflakeUtil.js +92 -0
- package/src/util/Speaking.js +33 -0
- package/src/util/Sweepers.js +466 -0
- package/src/util/SystemChannelFlags.js +55 -0
- package/src/util/ThreadMemberFlags.js +30 -0
- package/src/util/UserFlags.js +104 -0
- package/src/util/Util.js +1048 -0
- package/typings/enums.d.ts +439 -0
- package/typings/index.d.ts +8505 -0
- package/typings/index.test-d.ts +0 -0
- package/typings/rawDataTypes.d.ts +403 -0
|
@@ -0,0 +1,217 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const { register } = require('./DJSError');
|
|
4
|
+
|
|
5
|
+
const Messages = {
|
|
6
|
+
CLIENT_INVALID_OPTION: (prop, must) => `The ${prop} option must be ${must}`,
|
|
7
|
+
CLIENT_INVALID_PROVIDED_SHARDS: 'None of the provided shards were valid.',
|
|
8
|
+
CLIENT_MISSING_INTENTS: 'Valid intents must be provided for the Client.',
|
|
9
|
+
CLIENT_NOT_READY: action => `The client needs to be logged in to ${action}.`,
|
|
10
|
+
|
|
11
|
+
TOKEN_INVALID: 'An invalid token was provided.',
|
|
12
|
+
TOKEN_MISSING: 'Request to use token, but token was unavailable to the client.',
|
|
13
|
+
TOTPKEY_MISSING: 'Request to use mfa, but TOTPKey was not set in client options.',
|
|
14
|
+
|
|
15
|
+
WS_CLOSE_REQUESTED: 'WebSocket closed due to user request.',
|
|
16
|
+
WS_CONNECTION_EXISTS: 'There is already an existing WebSocket connection.',
|
|
17
|
+
WS_NOT_OPEN: (data = 'data') => `WebSocket not open to send ${data}`,
|
|
18
|
+
MANAGER_DESTROYED: 'Manager was destroyed.',
|
|
19
|
+
|
|
20
|
+
BITFIELD_INVALID: bit => `Invalid bitfield flag or number: ${bit}.`,
|
|
21
|
+
|
|
22
|
+
SHARDING_INVALID: '[Bot Token] Invalid shard settings were provided.',
|
|
23
|
+
SHARDING_REQUIRED: '[Bot Token] This session would have handled too many guilds - Sharding is required.',
|
|
24
|
+
INVALID_INTENTS: '[Bot Token] Invalid intent provided for WebSocket intents.',
|
|
25
|
+
DISALLOWED_INTENTS: '[Bot Token] Privileged intent provided is not enabled or whitelisted.',
|
|
26
|
+
SHARDING_NO_SHARDS: 'No shards have been spawned.',
|
|
27
|
+
SHARDING_IN_PROCESS: 'Shards are still being spawned.',
|
|
28
|
+
SHARDING_INVALID_EVAL_BROADCAST: 'Script to evaluate must be a function',
|
|
29
|
+
SHARDING_SHARD_NOT_FOUND: id => `Shard ${id} could not be found.`,
|
|
30
|
+
SHARDING_ALREADY_SPAWNED: count => `Already spawned ${count} shards.`,
|
|
31
|
+
SHARDING_PROCESS_EXISTS: id => `Shard ${id} already has an active process.`,
|
|
32
|
+
SHARDING_WORKER_EXISTS: id => `Shard ${id} already has an active worker.`,
|
|
33
|
+
SHARDING_READY_TIMEOUT: id => `Shard ${id}'s Client took too long to become ready.`,
|
|
34
|
+
SHARDING_READY_DISCONNECTED: id => `Shard ${id}'s Client disconnected before becoming ready.`,
|
|
35
|
+
SHARDING_READY_DIED: id => `Shard ${id}'s process exited before its Client became ready.`,
|
|
36
|
+
SHARDING_NO_CHILD_EXISTS: id => `Shard ${id} has no active process or worker.`,
|
|
37
|
+
SHARDING_SHARD_MISCALCULATION: (shard, guild, count) =>
|
|
38
|
+
`Calculated invalid shard ${shard} for guild ${guild} with ${count} shards.`,
|
|
39
|
+
|
|
40
|
+
COLOR_RANGE: 'Color must be within the range 0 - 16777215 (0xFFFFFF).',
|
|
41
|
+
COLOR_CONVERT: 'Unable to convert color to a number.',
|
|
42
|
+
|
|
43
|
+
INVITE_OPTIONS_MISSING_CHANNEL: 'A valid guild channel must be provided when GuildScheduledEvent is EXTERNAL.',
|
|
44
|
+
|
|
45
|
+
EMBED_TITLE: 'MessageEmbed title must be a string.',
|
|
46
|
+
EMBED_FIELD_NAME: 'MessageEmbed field names must be non-empty strings.',
|
|
47
|
+
EMBED_FIELD_VALUE: 'MessageEmbed field values must be non-empty strings.',
|
|
48
|
+
EMBED_FOOTER_TEXT: 'MessageEmbed footer text must be a string.',
|
|
49
|
+
EMBED_DESCRIPTION: 'MessageEmbed description must be a string.',
|
|
50
|
+
EMBED_AUTHOR_NAME: 'MessageEmbed author name must be a string.',
|
|
51
|
+
|
|
52
|
+
BUTTON_LABEL: 'MessageButton label must be a string',
|
|
53
|
+
BUTTON_URL: 'MessageButton URL must be a string',
|
|
54
|
+
BUTTON_CUSTOM_ID: 'MessageButton customId must be a string',
|
|
55
|
+
|
|
56
|
+
SELECT_MENU_CUSTOM_ID: 'MessageSelectMenu customId must be a string',
|
|
57
|
+
SELECT_MENU_PLACEHOLDER: 'MessageSelectMenu placeholder must be a string',
|
|
58
|
+
SELECT_OPTION_LABEL: 'MessageSelectOption label must be a string',
|
|
59
|
+
SELECT_OPTION_VALUE: 'MessageSelectOption value must be a string',
|
|
60
|
+
SELECT_OPTION_DESCRIPTION: 'MessageSelectOption description must be a string',
|
|
61
|
+
|
|
62
|
+
TEXT_INPUT_CUSTOM_ID: 'TextInputComponent customId must be a string',
|
|
63
|
+
TEXT_INPUT_LABEL: 'TextInputComponent label must be a string',
|
|
64
|
+
TEXT_INPUT_PLACEHOLDER: 'TextInputComponent placeholder must be a string',
|
|
65
|
+
TEXT_INPUT_VALUE: 'TextInputComponent value must be a string',
|
|
66
|
+
|
|
67
|
+
MODAL_CUSTOM_ID: 'Modal customId must be a string',
|
|
68
|
+
MODAL_TITLE: 'Modal title must be a string',
|
|
69
|
+
|
|
70
|
+
INTERACTION_COLLECTOR_ERROR: reason => `Collector received no interactions before ending with reason: ${reason}`,
|
|
71
|
+
|
|
72
|
+
FILE_NOT_FOUND: file => `File could not be found: ${file}`,
|
|
73
|
+
|
|
74
|
+
USER_BANNER_NOT_FETCHED: "You must fetch this user's banner before trying to generate its URL!",
|
|
75
|
+
USER_NO_DM_CHANNEL: 'No DM Channel exists!',
|
|
76
|
+
|
|
77
|
+
VOICE_NOT_STAGE_CHANNEL: 'You are only allowed to do this in stage channels.',
|
|
78
|
+
|
|
79
|
+
VOICE_STATE_NOT_OWN:
|
|
80
|
+
'You cannot self-deafen/mute/request to speak on VoiceStates that do not belong to the ClientUser.',
|
|
81
|
+
VOICE_STATE_INVALID_TYPE: name => `${name} must be a boolean.`,
|
|
82
|
+
|
|
83
|
+
REQ_RESOURCE_TYPE: 'The resource must be a string, Buffer or a valid file stream.',
|
|
84
|
+
|
|
85
|
+
IMAGE_FORMAT: format => `Invalid image format: ${format}`,
|
|
86
|
+
IMAGE_SIZE: size => `Invalid image size: ${size}`,
|
|
87
|
+
|
|
88
|
+
MESSAGE_BULK_DELETE_TYPE: 'The messages must be an Array, Collection, or number.',
|
|
89
|
+
MESSAGE_NONCE_TYPE: 'Message nonce must be an integer or a string.',
|
|
90
|
+
MESSAGE_CONTENT_TYPE: 'Message content must be a non-empty string.',
|
|
91
|
+
|
|
92
|
+
SPLIT_MAX_LEN: 'Chunk exceeds the max length and contains no split characters.',
|
|
93
|
+
|
|
94
|
+
BAN_RESOLVE_ID: (ban = false) => `Couldn't resolve the user id to ${ban ? 'ban' : 'unban'}.`,
|
|
95
|
+
FETCH_BAN_RESOLVE_ID: "Couldn't resolve the user id to fetch the ban.",
|
|
96
|
+
|
|
97
|
+
PRUNE_DAYS_TYPE: 'Days must be a number',
|
|
98
|
+
|
|
99
|
+
GUILD_CHANNEL_RESOLVE: 'Could not resolve channel to a guild channel.',
|
|
100
|
+
GUILD_VOICE_CHANNEL_RESOLVE: 'Could not resolve channel to a guild voice channel.',
|
|
101
|
+
GUILD_CHANNEL_ORPHAN: 'Could not find a parent to this guild channel.',
|
|
102
|
+
GUILD_CHANNEL_UNOWNED: "The fetched channel does not belong to this manager's guild.",
|
|
103
|
+
GUILD_OWNED: 'Guild is owned by the client.',
|
|
104
|
+
GUILD_MEMBERS_TIMEOUT: "Members didn't arrive in time.",
|
|
105
|
+
GUILD_UNCACHED_ME: 'The client user as a member of this guild is uncached.',
|
|
106
|
+
CHANNEL_NOT_CACHED: 'Could not find the channel where this message came from in the cache!',
|
|
107
|
+
STAGE_CHANNEL_RESOLVE: 'Could not resolve channel to a stage channel.',
|
|
108
|
+
GUILD_SCHEDULED_EVENT_RESOLVE: 'Could not resolve the guild scheduled event.',
|
|
109
|
+
|
|
110
|
+
INVALID_TYPE: (name, expected, an = false) => `Supplied ${name} is not a${an ? 'n' : ''} ${expected}.`,
|
|
111
|
+
INVALID_ELEMENT: (type, name, elem) => `Supplied ${type} ${name} includes an invalid element: ${elem}`,
|
|
112
|
+
|
|
113
|
+
MESSAGE_THREAD_PARENT: 'The message was not sent in a guild text or news channel',
|
|
114
|
+
MESSAGE_EXISTING_THREAD: 'The message already has a thread',
|
|
115
|
+
THREAD_INVITABLE_TYPE: type => `Invitable cannot be edited on ${type}`,
|
|
116
|
+
|
|
117
|
+
WEBHOOK_MESSAGE: 'The message was not sent by a webhook.',
|
|
118
|
+
WEBHOOK_TOKEN_UNAVAILABLE: 'This action requires a webhook token, but none is available.',
|
|
119
|
+
WEBHOOK_URL_INVALID: 'The provided webhook URL is not valid.',
|
|
120
|
+
WEBHOOK_APPLICATION: 'This message webhook belongs to an application and cannot be fetched.',
|
|
121
|
+
MESSAGE_REFERENCE_MISSING: 'The message does not reference another message',
|
|
122
|
+
|
|
123
|
+
EMOJI_TYPE: 'Emoji must be a string or GuildEmoji/ReactionEmoji',
|
|
124
|
+
EMOJI_MANAGED: 'Emoji is managed and has no Author.',
|
|
125
|
+
MISSING_MANAGE_EMOJIS_AND_STICKERS_PERMISSION: guild =>
|
|
126
|
+
`Client must have Manage Emojis and Stickers permission in guild ${guild} to see emoji authors.`,
|
|
127
|
+
NOT_GUILD_STICKER: 'Sticker is a standard (non-guild) sticker and has no author.',
|
|
128
|
+
|
|
129
|
+
REACTION_RESOLVE_USER: "Couldn't resolve the user id to remove from the reaction.",
|
|
130
|
+
|
|
131
|
+
VANITY_URL: 'This guild does not have the VANITY_URL feature enabled.',
|
|
132
|
+
|
|
133
|
+
INVITE_RESOLVE_CODE: 'Could not resolve the code to fetch the invite.',
|
|
134
|
+
|
|
135
|
+
INVITE_NOT_FOUND: 'Could not find the requested invite.',
|
|
136
|
+
|
|
137
|
+
DELETE_GROUP_DM_CHANNEL: "Bots don't have access to Group DM Channels and cannot delete them",
|
|
138
|
+
FETCH_GROUP_DM_CHANNEL: "Bots don't have access to Group DM Channels and cannot fetch them",
|
|
139
|
+
|
|
140
|
+
MEMBER_FETCH_NONCE_LENGTH: 'Nonce length must not exceed 32 characters.',
|
|
141
|
+
|
|
142
|
+
GLOBAL_COMMAND_PERMISSIONS:
|
|
143
|
+
'Permissions for global commands may only be fetched or modified by providing a GuildResolvable ' +
|
|
144
|
+
"or from a guild's application command manager.",
|
|
145
|
+
GUILD_UNCACHED_ROLE_RESOLVE: 'Cannot resolve roles from an arbitrary guild, provide an id instead',
|
|
146
|
+
|
|
147
|
+
INTERACTION_ALREADY_REPLIED: 'The reply to this interaction has already been sent or deferred.',
|
|
148
|
+
INTERACTION_NOT_REPLIED: 'The reply to this interaction has not been sent or deferred.',
|
|
149
|
+
|
|
150
|
+
COMMAND_INTERACTION_OPTION_NOT_FOUND: name => `Required option "${name}" not found.`,
|
|
151
|
+
COMMAND_INTERACTION_OPTION_TYPE: (name, type, expected) =>
|
|
152
|
+
`Option "${name}" is of type: ${type}; expected ${expected}.`,
|
|
153
|
+
COMMAND_INTERACTION_OPTION_EMPTY: (name, type) =>
|
|
154
|
+
`Required option "${name}" is of type: ${type}; expected a non-empty value.`,
|
|
155
|
+
COMMAND_INTERACTION_OPTION_NO_SUB_COMMAND: 'No subcommand specified for interaction.',
|
|
156
|
+
COMMAND_INTERACTION_OPTION_NO_SUB_COMMAND_GROUP: 'No subcommand group specified for interaction.',
|
|
157
|
+
AUTOCOMPLETE_INTERACTION_OPTION_NO_FOCUSED_OPTION: 'No focused option for autocomplete interaction.',
|
|
158
|
+
|
|
159
|
+
MODAL_SUBMIT_INTERACTION_FIELD_NOT_FOUND: customId => `Required field with custom id "${customId}" not found.`,
|
|
160
|
+
MODAL_SUBMIT_INTERACTION_FIELD_TYPE: (customId, type, expected) =>
|
|
161
|
+
`Field with custom id "${customId}" is of type: ${type}; expected ${expected}.`,
|
|
162
|
+
|
|
163
|
+
INVITE_MISSING_SCOPES: 'At least one valid scope must be provided for the invite',
|
|
164
|
+
|
|
165
|
+
NOT_IMPLEMENTED: (what, name) => `Method ${what} not implemented on ${name}.`,
|
|
166
|
+
|
|
167
|
+
SWEEP_FILTER_RETURN: 'The return value of the sweepFilter function was not false or a Function',
|
|
168
|
+
|
|
169
|
+
GUILD_FORUM_MESSAGE_REQUIRED: 'You must provide a message to create a guild forum thread',
|
|
170
|
+
|
|
171
|
+
// Selfbot
|
|
172
|
+
INVALID_USER_API: 'User accounts cannot use this endpoint',
|
|
173
|
+
INVALID_APPLICATION_COMMAND: id => `Could not find a valid command for this bot: ${id}`,
|
|
174
|
+
INVALID_COMMAND_NAME: allCMD => `Could not parse subGroupCommand and subCommand due to too long: ${allCMD.join(' ')}`,
|
|
175
|
+
INVALID_SLASH_COMMAND_CHOICES: (parentOptions, value) =>
|
|
176
|
+
`${value} is not a valid choice for this option (${parentOptions})`,
|
|
177
|
+
SLASH_COMMAND_REQUIRED_OPTIONS_MISSING: (req, opt) => `Value required (${req}) missing (Options: ${opt})`,
|
|
178
|
+
SLASH_COMMAND_SUB_COMMAND_GROUP_INVALID: n => `${n} is not a valid sub command group`,
|
|
179
|
+
SLASH_COMMAND_SUB_COMMAND_INVALID: n => `${n} is not a valid sub command`,
|
|
180
|
+
INTERACTION_FAILED: 'No responsed from Application',
|
|
181
|
+
USER_NOT_STREAMING: 'User is not streaming',
|
|
182
|
+
BULK_BAN_USERS_OPTION_EMPTY: 'Option "users" array or collection is empty',
|
|
183
|
+
|
|
184
|
+
// Djs v12
|
|
185
|
+
VOICE_INVALID_HEARTBEAT: 'Tried to set voice heartbeat but no valid interval was specified.',
|
|
186
|
+
VOICE_USER_MISSING: "Couldn't resolve the user to create stream.",
|
|
187
|
+
VOICE_JOIN_CHANNEL: (full = false) =>
|
|
188
|
+
`You do not have permission to join this voice channel${full ? '; it is full.' : '.'}`,
|
|
189
|
+
VOICE_CONNECTION_TIMEOUT: 'Connection not established within 15 seconds.',
|
|
190
|
+
VOICE_TOKEN_ABSENT: 'Token not provided from voice server packet.',
|
|
191
|
+
VOICE_SESSION_ABSENT: 'Session ID not supplied.',
|
|
192
|
+
VOICE_INVALID_ENDPOINT: 'Invalid endpoint received.',
|
|
193
|
+
VOICE_NO_BROWSER: 'Voice connections are not available in browsers.',
|
|
194
|
+
VOICE_CONNECTION_ATTEMPTS_EXCEEDED: attempts => `Too many connection attempts (${attempts}).`,
|
|
195
|
+
VOICE_JOIN_SOCKET_CLOSED: 'Tried to send join packet, but the WebSocket is not open.',
|
|
196
|
+
VOICE_PLAY_INTERFACE_NO_BROADCAST: 'A broadcast cannot be played in this context.',
|
|
197
|
+
VOICE_PLAY_INTERFACE_BAD_TYPE: 'Unknown stream type',
|
|
198
|
+
VOICE_PRISM_DEMUXERS_NEED_STREAM: 'To play a webm/ogg stream, you need to pass a ReadableStream.',
|
|
199
|
+
|
|
200
|
+
VOICE_STATE_UNCACHED_MEMBER: 'The member of this voice state is uncached.',
|
|
201
|
+
|
|
202
|
+
UDP_SEND_FAIL: 'Tried to send a UDP packet, but there is no socket available.',
|
|
203
|
+
UDP_ADDRESS_MALFORMED: 'Malformed UDP address or port.',
|
|
204
|
+
UDP_CONNECTION_EXISTS: 'There is already an existing UDP connection.',
|
|
205
|
+
UDP_WRONG_HANDSHAKE: 'Wrong handshake packet for UDP',
|
|
206
|
+
|
|
207
|
+
INVALID_VIDEO_CODEC: codecs => `Only these codecs are supported: ${codecs.join(', ')}`,
|
|
208
|
+
|
|
209
|
+
STREAM_CONNECTION_READONLY: 'Cannot send data to a read-only stream',
|
|
210
|
+
STREAM_CANNOT_JOIN: 'Cannot join a stream to itself',
|
|
211
|
+
VOICE_USER_NOT_STREAMING: 'User is not streaming',
|
|
212
|
+
POLL_ALREADY_EXPIRED: 'This poll has already expired.',
|
|
213
|
+
METHOD_WARNING:
|
|
214
|
+
'This method is flagged as it may lead to a temporary or permanent account ban. Do not use until further notice.',
|
|
215
|
+
};
|
|
216
|
+
|
|
217
|
+
for (const [name, message] of Object.entries(Messages)) register(name, message);
|
package/src/index.js
ADDED
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
// "Root" classes (starting points)
|
|
4
|
+
exports.BaseClient = require('./client/BaseClient');
|
|
5
|
+
exports.Client = require('./client/Client');
|
|
6
|
+
/** @deprecated This will be removed in the next major version */
|
|
7
|
+
exports.Shard = require('./sharding/Shard');
|
|
8
|
+
/** @deprecated This will be removed in the next major version */
|
|
9
|
+
exports.ShardClientUtil = require('./sharding/ShardClientUtil');
|
|
10
|
+
/** @deprecated This will be removed in the next major version */
|
|
11
|
+
exports.ShardingManager = require('./sharding/ShardingManager');
|
|
12
|
+
exports.WebhookClient = require('./client/WebhookClient');
|
|
13
|
+
|
|
14
|
+
// Utilities
|
|
15
|
+
exports.ActivityFlags = require('./util/ActivityFlags');
|
|
16
|
+
exports.ApplicationFlags = require('./util/ApplicationFlags');
|
|
17
|
+
exports.AttachmentFlags = require('./util/AttachmentFlags');
|
|
18
|
+
exports.BaseManager = require('./managers/BaseManager');
|
|
19
|
+
exports.BitField = require('./util/BitField');
|
|
20
|
+
exports.Collection = require('@discordjs/collection').Collection;
|
|
21
|
+
exports.Constants = require('./util/Constants');
|
|
22
|
+
exports.DataResolver = require('./util/DataResolver');
|
|
23
|
+
exports.DiscordAPIError = require('./rest/DiscordAPIError');
|
|
24
|
+
exports.Formatters = require('./util/Formatters');
|
|
25
|
+
exports.GuildMemberFlags = require('./util/GuildMemberFlags');
|
|
26
|
+
exports.HTTPError = require('./rest/HTTPError');
|
|
27
|
+
exports.Intents = require('./util/Intents');
|
|
28
|
+
exports.LimitedCollection = require('./util/LimitedCollection');
|
|
29
|
+
exports.MessageFlags = require('./util/MessageFlags');
|
|
30
|
+
exports.Options = require('./util/Options');
|
|
31
|
+
exports.Permissions = require('./util/Permissions');
|
|
32
|
+
exports.RateLimitError = require('./rest/RateLimitError');
|
|
33
|
+
exports.RoleFlags = require('./util/RoleFlags');
|
|
34
|
+
exports.SnowflakeUtil = require('./util/SnowflakeUtil');
|
|
35
|
+
exports.Sweepers = require('./util/Sweepers');
|
|
36
|
+
exports.SystemChannelFlags = require('./util/SystemChannelFlags');
|
|
37
|
+
exports.ThreadMemberFlags = require('./util/ThreadMemberFlags');
|
|
38
|
+
exports.UserFlags = require('./util/UserFlags');
|
|
39
|
+
exports.Util = require('./util/Util');
|
|
40
|
+
exports.version = require('../package.json').version;
|
|
41
|
+
|
|
42
|
+
// Managers
|
|
43
|
+
exports.ApplicationCommandManager = require('./managers/ApplicationCommandManager');
|
|
44
|
+
exports.ApplicationCommandPermissionsManager = require('./managers/ApplicationCommandPermissionsManager');
|
|
45
|
+
exports.AutoModerationRuleManager = require('./managers/AutoModerationRuleManager');
|
|
46
|
+
exports.BaseGuildEmojiManager = require('./managers/BaseGuildEmojiManager');
|
|
47
|
+
exports.CachedManager = require('./managers/CachedManager');
|
|
48
|
+
exports.ChannelManager = require('./managers/ChannelManager');
|
|
49
|
+
exports.ClientVoiceManager = require('./client/voice/ClientVoiceManager');
|
|
50
|
+
exports.DataManager = require('./managers/DataManager');
|
|
51
|
+
exports.GuildBanManager = require('./managers/GuildBanManager');
|
|
52
|
+
exports.GuildChannelManager = require('./managers/GuildChannelManager');
|
|
53
|
+
exports.GuildEmojiManager = require('./managers/GuildEmojiManager');
|
|
54
|
+
exports.GuildEmojiRoleManager = require('./managers/GuildEmojiRoleManager');
|
|
55
|
+
exports.GuildInviteManager = require('./managers/GuildInviteManager');
|
|
56
|
+
exports.GuildManager = require('./managers/GuildManager');
|
|
57
|
+
exports.GuildMemberManager = require('./managers/GuildMemberManager');
|
|
58
|
+
exports.GuildMemberRoleManager = require('./managers/GuildMemberRoleManager');
|
|
59
|
+
exports.GuildScheduledEventManager = require('./managers/GuildScheduledEventManager');
|
|
60
|
+
exports.GuildStickerManager = require('./managers/GuildStickerManager');
|
|
61
|
+
exports.MessageManager = require('./managers/MessageManager');
|
|
62
|
+
exports.PermissionOverwriteManager = require('./managers/PermissionOverwriteManager');
|
|
63
|
+
exports.PresenceManager = require('./managers/PresenceManager');
|
|
64
|
+
exports.ReactionManager = require('./managers/ReactionManager');
|
|
65
|
+
exports.ReactionUserManager = require('./managers/ReactionUserManager');
|
|
66
|
+
exports.RoleManager = require('./managers/RoleManager');
|
|
67
|
+
exports.SessionManager = require('./managers/SessionManager');
|
|
68
|
+
exports.StageInstanceManager = require('./managers/StageInstanceManager');
|
|
69
|
+
exports.ThreadManager = require('./managers/ThreadManager');
|
|
70
|
+
exports.ThreadMemberManager = require('./managers/ThreadMemberManager');
|
|
71
|
+
exports.UserManager = require('./managers/UserManager');
|
|
72
|
+
exports.VoiceStateManager = require('./managers/VoiceStateManager');
|
|
73
|
+
exports.WebSocketManager = require('./client/websocket/WebSocketManager');
|
|
74
|
+
exports.WebSocketShard = require('./client/websocket/WebSocketShard');
|
|
75
|
+
exports.RelationshipManager = require('./managers/RelationshipManager');
|
|
76
|
+
exports.UserNoteManager = require('./managers/UserNoteManager');
|
|
77
|
+
|
|
78
|
+
// Structures
|
|
79
|
+
exports.Activity = require('./structures/Presence').Activity;
|
|
80
|
+
exports.AnonymousGuild = require('./structures/AnonymousGuild');
|
|
81
|
+
exports.Application = require('./structures/interfaces/Application');
|
|
82
|
+
exports.ApplicationCommand = require('./structures/ApplicationCommand');
|
|
83
|
+
exports.ApplicationRoleConnectionMetadata =
|
|
84
|
+
require('./structures/ApplicationRoleConnectionMetadata').ApplicationRoleConnectionMetadata;
|
|
85
|
+
exports.AutoModerationActionExecution = require('./structures/AutoModerationActionExecution');
|
|
86
|
+
exports.AutoModerationRule = require('./structures/AutoModerationRule');
|
|
87
|
+
exports.Base = require('./structures/Base');
|
|
88
|
+
exports.BaseGuild = require('./structures/BaseGuild');
|
|
89
|
+
exports.BaseGuildEmoji = require('./structures/BaseGuildEmoji');
|
|
90
|
+
exports.BaseGuildTextChannel = require('./structures/BaseGuildTextChannel');
|
|
91
|
+
exports.BaseGuildVoiceChannel = require('./structures/BaseGuildVoiceChannel');
|
|
92
|
+
exports.CategoryChannel = require('./structures/CategoryChannel');
|
|
93
|
+
exports.Channel = require('./structures/Channel').Channel;
|
|
94
|
+
exports.ClientPresence = require('./structures/ClientPresence');
|
|
95
|
+
exports.ClientUser = require('./structures/ClientUser');
|
|
96
|
+
exports.Collector = require('./structures/interfaces/Collector');
|
|
97
|
+
exports.DirectoryChannel = require('./structures/DirectoryChannel');
|
|
98
|
+
exports.DMChannel = require('./structures/DMChannel');
|
|
99
|
+
exports.Emoji = require('./structures/Emoji').Emoji;
|
|
100
|
+
exports.ForumChannel = require('./structures/ForumChannel');
|
|
101
|
+
exports.Guild = require('./structures/Guild').Guild;
|
|
102
|
+
exports.GuildAuditLogs = require('./structures/GuildAuditLogs');
|
|
103
|
+
exports.GuildAuditLogsEntry = require('./structures/GuildAuditLogs').Entry;
|
|
104
|
+
exports.GuildBan = require('./structures/GuildBan');
|
|
105
|
+
exports.GuildChannel = require('./structures/GuildChannel');
|
|
106
|
+
exports.GuildEmoji = require('./structures/GuildEmoji');
|
|
107
|
+
exports.GuildMember = require('./structures/GuildMember').GuildMember;
|
|
108
|
+
exports.GuildPreview = require('./structures/GuildPreview');
|
|
109
|
+
exports.GuildPreviewEmoji = require('./structures/GuildPreviewEmoji');
|
|
110
|
+
exports.GuildScheduledEvent = require('./structures/GuildScheduledEvent').GuildScheduledEvent;
|
|
111
|
+
exports.GuildTemplate = require('./structures/GuildTemplate');
|
|
112
|
+
exports.Integration = require('./structures/Integration');
|
|
113
|
+
exports.IntegrationApplication = require('./structures/IntegrationApplication');
|
|
114
|
+
exports.Invite = require('./structures/Invite');
|
|
115
|
+
exports.InviteStageInstance = require('./structures/InviteStageInstance');
|
|
116
|
+
exports.InviteGuild = require('./structures/InviteGuild');
|
|
117
|
+
exports.MediaChannel = require('./structures/MediaChannel');
|
|
118
|
+
exports.Message = require('./structures/Message').Message;
|
|
119
|
+
exports.MessageActionRow = require('./structures/MessageActionRow');
|
|
120
|
+
exports.MessageAttachment = require('./structures/MessageAttachment');
|
|
121
|
+
exports.MessageButton = require('./structures/MessageButton');
|
|
122
|
+
exports.MessageCollector = require('./structures/MessageCollector');
|
|
123
|
+
exports.MessageEmbed = require('./structures/MessageEmbed');
|
|
124
|
+
exports.MessageMentions = require('./structures/MessageMentions');
|
|
125
|
+
exports.MessagePayload = require('./structures/MessagePayload');
|
|
126
|
+
exports.MessageReaction = require('./structures/MessageReaction');
|
|
127
|
+
exports.Modal = require('./structures/Modal');
|
|
128
|
+
exports.NewsChannel = require('./structures/NewsChannel');
|
|
129
|
+
exports.OAuth2Guild = require('./structures/OAuth2Guild');
|
|
130
|
+
exports.GroupDMChannel = require('./structures/GroupDMChannel');
|
|
131
|
+
exports.PermissionOverwrites = require('./structures/PermissionOverwrites');
|
|
132
|
+
exports.Presence = require('./structures/Presence').Presence;
|
|
133
|
+
exports.ReactionCollector = require('./structures/ReactionCollector');
|
|
134
|
+
exports.ReactionEmoji = require('./structures/ReactionEmoji');
|
|
135
|
+
exports.RichPresenceAssets = require('./structures/Presence').RichPresenceAssets;
|
|
136
|
+
exports.Role = require('./structures/Role').Role;
|
|
137
|
+
exports.Session = require('./structures/Session');
|
|
138
|
+
exports.StageChannel = require('./structures/StageChannel');
|
|
139
|
+
exports.StageInstance = require('./structures/StageInstance').StageInstance;
|
|
140
|
+
exports.Sticker = require('./structures/Sticker').Sticker;
|
|
141
|
+
exports.StickerPack = require('./structures/StickerPack');
|
|
142
|
+
exports.StoreChannel = require('./structures/StoreChannel');
|
|
143
|
+
exports.Team = require('./structures/Team');
|
|
144
|
+
exports.TeamMember = require('./structures/TeamMember');
|
|
145
|
+
exports.TextChannel = require('./structures/TextChannel');
|
|
146
|
+
exports.TextInputComponent = require('./structures/TextInputComponent');
|
|
147
|
+
exports.ThreadChannel = require('./structures/ThreadChannel');
|
|
148
|
+
exports.ThreadOnlyChannel = require('./structures/ThreadOnlyChannel');
|
|
149
|
+
exports.ThreadMember = require('./structures/ThreadMember');
|
|
150
|
+
exports.Typing = require('./structures/Typing');
|
|
151
|
+
exports.User = require('./structures/User');
|
|
152
|
+
exports.VoiceChannel = require('./structures/VoiceChannel');
|
|
153
|
+
exports.VoiceChannelEffect = require('./structures/VoiceChannelEffect');
|
|
154
|
+
exports.VoiceRegion = require('./structures/VoiceRegion');
|
|
155
|
+
exports.VoiceState = require('./structures/VoiceState');
|
|
156
|
+
exports.Webhook = require('./structures/Webhook');
|
|
157
|
+
exports.Widget = require('./structures/Widget');
|
|
158
|
+
exports.WidgetMember = require('./structures/WidgetMember');
|
|
159
|
+
exports.WelcomeChannel = require('./structures/WelcomeChannel');
|
|
160
|
+
exports.WelcomeScreen = require('./structures/WelcomeScreen');
|
|
161
|
+
|
|
162
|
+
exports.WebSocket = require('./WebSocket');
|
|
163
|
+
|
|
164
|
+
exports.CustomStatus = require('./structures/Presence').CustomStatus;
|
|
165
|
+
exports.RichPresence = require('./structures/Presence').RichPresence;
|
|
166
|
+
exports.SpotifyRPC = require('./structures/Presence').SpotifyRPC;
|
|
167
|
+
exports.WebEmbed = require('./structures/WebEmbed');
|
|
168
|
+
exports.DiscordAuthWebsocket = require('./util/RemoteAuth');
|
|
169
|
+
exports.PurchasedFlags = require('./util/PurchasedFlags');
|
|
170
|
+
exports.Poll = require('./structures/Poll').Poll;
|
|
171
|
+
exports.PollAnswer = require('./structures/PollAnswer').PollAnswer;
|
|
172
|
+
exports.Recorder = require('./client/voice/receiver/Recorder');
|
|
@@ -0,0 +1,264 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const { isJSONEncodable } = require('@discordjs/builders');
|
|
4
|
+
const { Collection } = require('@discordjs/collection');
|
|
5
|
+
const ApplicationCommandPermissionsManager = require('./ApplicationCommandPermissionsManager');
|
|
6
|
+
const CachedManager = require('./CachedManager');
|
|
7
|
+
const { TypeError } = require('../errors');
|
|
8
|
+
const ApplicationCommand = require('../structures/ApplicationCommand');
|
|
9
|
+
const { ApplicationCommandTypes } = require('../util/Constants');
|
|
10
|
+
const Permissions = require('../util/Permissions');
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Manages API methods for application commands and stores their cache.
|
|
14
|
+
* @extends {CachedManager}
|
|
15
|
+
*/
|
|
16
|
+
class ApplicationCommandManager extends CachedManager {
|
|
17
|
+
constructor(client, iterable) {
|
|
18
|
+
super(client, ApplicationCommand, iterable);
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* The manager for permissions of arbitrary commands on arbitrary guilds
|
|
22
|
+
* @type {ApplicationCommandPermissionsManager}
|
|
23
|
+
*/
|
|
24
|
+
this.permissions = new ApplicationCommandPermissionsManager(this);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* The cache of this manager
|
|
29
|
+
* @type {Collection<Snowflake, ApplicationCommand>}
|
|
30
|
+
* @name ApplicationCommandManager#cache
|
|
31
|
+
*/
|
|
32
|
+
|
|
33
|
+
_add(data, cache, guildId) {
|
|
34
|
+
return super._add(data, cache, { extras: [this.guild, guildId] });
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* The APIRouter path to the commands
|
|
39
|
+
* @param {Snowflake} [options.id] The application command's id
|
|
40
|
+
* @param {Snowflake} [options.guildId] The guild's id to use in the path,
|
|
41
|
+
* ignored when using a {@link GuildApplicationCommandManager}
|
|
42
|
+
* @returns {Object}
|
|
43
|
+
* @private
|
|
44
|
+
*/
|
|
45
|
+
commandPath({ id, guildId } = {}) {
|
|
46
|
+
let path = this.client.api.applications(this.client.application.id);
|
|
47
|
+
if (this.guild ?? guildId) path = path.guilds(this.guild?.id ?? guildId);
|
|
48
|
+
return id ? path.commands(id) : path.commands;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
/**
|
|
52
|
+
* Data that resolves to give an ApplicationCommand object. This can be:
|
|
53
|
+
* * An ApplicationCommand object
|
|
54
|
+
* * A Snowflake
|
|
55
|
+
* @typedef {ApplicationCommand|Snowflake} ApplicationCommandResolvable
|
|
56
|
+
*/
|
|
57
|
+
|
|
58
|
+
/* eslint-disable max-len */
|
|
59
|
+
/**
|
|
60
|
+
* Data that resolves to the data of an ApplicationCommand
|
|
61
|
+
* @typedef {ApplicationCommandData|APIApplicationCommand|SlashCommandBuilder|ContextMenuCommandBuilder} ApplicationCommandDataResolvable
|
|
62
|
+
*/
|
|
63
|
+
/* eslint-enable max-len */
|
|
64
|
+
|
|
65
|
+
/**
|
|
66
|
+
* Options used to fetch data from Discord
|
|
67
|
+
* @typedef {Object} BaseFetchOptions
|
|
68
|
+
* @property {boolean} [cache=true] Whether to cache the fetched data if it wasn't already
|
|
69
|
+
* @property {boolean} [force=false] Whether to skip the cache check and request the API
|
|
70
|
+
*/
|
|
71
|
+
|
|
72
|
+
/**
|
|
73
|
+
* Options used to fetch Application Commands from Discord
|
|
74
|
+
* @typedef {BaseFetchOptions} FetchApplicationCommandOptions
|
|
75
|
+
* @property {Snowflake} [guildId] The guild's id to fetch commands for, for when the guild is not cached
|
|
76
|
+
* @property {LocaleString} [locale] The locale to use when fetching this command
|
|
77
|
+
* @property {boolean} [withLocalizations] Whether to fetch all localization data
|
|
78
|
+
*/
|
|
79
|
+
|
|
80
|
+
/**
|
|
81
|
+
* Obtains one or multiple application commands from Discord, or the cache if it's already available.
|
|
82
|
+
* @param {Snowflake} [id] The application command's id
|
|
83
|
+
* @param {FetchApplicationCommandOptions} [options] Additional options for this fetch
|
|
84
|
+
* @returns {Promise<ApplicationCommand|Collection<Snowflake, ApplicationCommand>>}
|
|
85
|
+
* @example
|
|
86
|
+
* // Fetch a single command
|
|
87
|
+
* client.application.commands.fetch('123456789012345678')
|
|
88
|
+
* .then(command => console.log(`Fetched command ${command.name}`))
|
|
89
|
+
* .catch(console.error);
|
|
90
|
+
* @example
|
|
91
|
+
* // Fetch all commands
|
|
92
|
+
* guild.commands.fetch()
|
|
93
|
+
* .then(commands => console.log(`Fetched ${commands.size} commands`))
|
|
94
|
+
* .catch(console.error);
|
|
95
|
+
*/
|
|
96
|
+
async fetch(id, { guildId, cache = true, force = false, locale, withLocalizations } = {}) {
|
|
97
|
+
if (typeof id === 'object') {
|
|
98
|
+
({ guildId, cache = true, locale, withLocalizations } = id);
|
|
99
|
+
} else if (id) {
|
|
100
|
+
if (!force) {
|
|
101
|
+
const existing = this.cache.get(id);
|
|
102
|
+
if (existing) return existing;
|
|
103
|
+
}
|
|
104
|
+
const command = await this.commandPath({ id, guildId }).get();
|
|
105
|
+
return this._add(command, cache);
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
const data = await this.commandPath({ guildId }).get({
|
|
109
|
+
headers: {
|
|
110
|
+
'X-Discord-Locale': locale,
|
|
111
|
+
},
|
|
112
|
+
query: typeof withLocalizations === 'boolean' ? { with_localizations: withLocalizations } : undefined,
|
|
113
|
+
});
|
|
114
|
+
return data.reduce((coll, command) => coll.set(command.id, this._add(command, cache, guildId)), new Collection());
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
/**
|
|
118
|
+
* Creates an application command.
|
|
119
|
+
* @param {ApplicationCommandDataResolvable} command The command
|
|
120
|
+
* @param {Snowflake} [guildId] The guild's id to create this command in,
|
|
121
|
+
* ignored when using a {@link GuildApplicationCommandManager}
|
|
122
|
+
* @returns {Promise<ApplicationCommand>}
|
|
123
|
+
* @example
|
|
124
|
+
* // Create a new command
|
|
125
|
+
* client.application.commands.create({
|
|
126
|
+
* name: 'test',
|
|
127
|
+
* description: 'A test command',
|
|
128
|
+
* })
|
|
129
|
+
* .then(console.log)
|
|
130
|
+
* .catch(console.error);
|
|
131
|
+
*/
|
|
132
|
+
async create(command, guildId) {
|
|
133
|
+
const data = await this.commandPath({ guildId }).post({
|
|
134
|
+
data: this.constructor.transformCommand(command),
|
|
135
|
+
});
|
|
136
|
+
return this._add(data, true, guildId);
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
/**
|
|
140
|
+
* Sets all the commands for this application or guild.
|
|
141
|
+
* @param {ApplicationCommandDataResolvable[]} commands The commands
|
|
142
|
+
* @param {Snowflake} [guildId] The guild's id to create the commands in,
|
|
143
|
+
* ignored when using a {@link GuildApplicationCommandManager}
|
|
144
|
+
* @returns {Promise<Collection<Snowflake, ApplicationCommand>>}
|
|
145
|
+
* @example
|
|
146
|
+
* // Set all commands to just this one
|
|
147
|
+
* client.application.commands.set([
|
|
148
|
+
* {
|
|
149
|
+
* name: 'test',
|
|
150
|
+
* description: 'A test command',
|
|
151
|
+
* },
|
|
152
|
+
* ])
|
|
153
|
+
* .then(console.log)
|
|
154
|
+
* .catch(console.error);
|
|
155
|
+
* @example
|
|
156
|
+
* // Remove all commands
|
|
157
|
+
* guild.commands.set([])
|
|
158
|
+
* .then(console.log)
|
|
159
|
+
* .catch(console.error);
|
|
160
|
+
*/
|
|
161
|
+
async set(commands, guildId) {
|
|
162
|
+
const data = await this.commandPath({ guildId }).put({
|
|
163
|
+
data: commands.map(c => this.constructor.transformCommand(c)),
|
|
164
|
+
});
|
|
165
|
+
return data.reduce((coll, command) => coll.set(command.id, this._add(command, true, guildId)), new Collection());
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
/**
|
|
169
|
+
* Edits an application command.
|
|
170
|
+
* @param {ApplicationCommandResolvable} command The command to edit
|
|
171
|
+
* @param {Partial<ApplicationCommandDataResolvable>} data The data to update the command with
|
|
172
|
+
* @param {Snowflake} [guildId] The guild's id where the command registered,
|
|
173
|
+
* ignored when using a {@link GuildApplicationCommandManager}
|
|
174
|
+
* @returns {Promise<ApplicationCommand>}
|
|
175
|
+
* @example
|
|
176
|
+
* // Edit an existing command
|
|
177
|
+
* client.application.commands.edit('123456789012345678', {
|
|
178
|
+
* description: 'New description',
|
|
179
|
+
* })
|
|
180
|
+
* .then(console.log)
|
|
181
|
+
* .catch(console.error);
|
|
182
|
+
*/
|
|
183
|
+
async edit(command, data, guildId) {
|
|
184
|
+
const id = this.resolveId(command);
|
|
185
|
+
if (!id) throw new TypeError('INVALID_TYPE', 'command', 'ApplicationCommandResolvable');
|
|
186
|
+
|
|
187
|
+
const patched = await this.commandPath({ id, guildId }).patch({
|
|
188
|
+
data: this.constructor.transformCommand(data),
|
|
189
|
+
});
|
|
190
|
+
return this._add(patched, true, guildId);
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
/**
|
|
194
|
+
* Deletes an application command.
|
|
195
|
+
* @param {ApplicationCommandResolvable} command The command to delete
|
|
196
|
+
* @param {Snowflake} [guildId] The guild's id where the command is registered,
|
|
197
|
+
* ignored when using a {@link GuildApplicationCommandManager}
|
|
198
|
+
* @returns {Promise<?ApplicationCommand>}
|
|
199
|
+
* @example
|
|
200
|
+
* // Delete a command
|
|
201
|
+
* guild.commands.delete('123456789012345678')
|
|
202
|
+
* .then(console.log)
|
|
203
|
+
* .catch(console.error);
|
|
204
|
+
*/
|
|
205
|
+
async delete(command, guildId) {
|
|
206
|
+
const id = this.resolveId(command);
|
|
207
|
+
if (!id) throw new TypeError('INVALID_TYPE', 'command', 'ApplicationCommandResolvable');
|
|
208
|
+
|
|
209
|
+
await this.commandPath({ id, guildId }).delete();
|
|
210
|
+
|
|
211
|
+
const cached = this.cache.get(id);
|
|
212
|
+
this.cache.delete(id);
|
|
213
|
+
return cached ?? null;
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
/**
|
|
217
|
+
* Transforms an {@link ApplicationCommandData} object into something that can be used with the API.
|
|
218
|
+
* @param {ApplicationCommandDataResolvable} command The command to transform
|
|
219
|
+
* @returns {APIApplicationCommand}
|
|
220
|
+
* @private
|
|
221
|
+
*/
|
|
222
|
+
static transformCommand(command) {
|
|
223
|
+
if (isJSONEncodable(command)) return command.toJSON();
|
|
224
|
+
|
|
225
|
+
let default_member_permissions;
|
|
226
|
+
|
|
227
|
+
if ('default_member_permissions' in command) {
|
|
228
|
+
default_member_permissions = command.default_member_permissions
|
|
229
|
+
? new Permissions(BigInt(command.default_member_permissions)).bitfield.toString()
|
|
230
|
+
: command.default_member_permissions;
|
|
231
|
+
}
|
|
232
|
+
|
|
233
|
+
if ('defaultMemberPermissions' in command) {
|
|
234
|
+
default_member_permissions =
|
|
235
|
+
command.defaultMemberPermissions !== null
|
|
236
|
+
? new Permissions(command.defaultMemberPermissions).bitfield.toString()
|
|
237
|
+
: command.defaultMemberPermissions;
|
|
238
|
+
}
|
|
239
|
+
|
|
240
|
+
return {
|
|
241
|
+
name: command.name,
|
|
242
|
+
name_localizations: command.nameLocalizations ?? command.name_localizations,
|
|
243
|
+
description: command.description,
|
|
244
|
+
description_localizations: command.descriptionLocalizations ?? command.description_localizations,
|
|
245
|
+
type: typeof command.type === 'number' ? command.type : ApplicationCommandTypes[command.type],
|
|
246
|
+
options: command.options?.map(o => ApplicationCommand.transformOption(o)),
|
|
247
|
+
default_permission: command.defaultPermission ?? command.default_permission,
|
|
248
|
+
default_member_permissions,
|
|
249
|
+
dm_permission: command.dmPermission ?? command.dm_permission,
|
|
250
|
+
};
|
|
251
|
+
}
|
|
252
|
+
}
|
|
253
|
+
|
|
254
|
+
module.exports = ApplicationCommandManager;
|
|
255
|
+
|
|
256
|
+
/**
|
|
257
|
+
* @external SlashCommandBuilder
|
|
258
|
+
* @see {@link https://discord.js.org/docs/packages/builders/stable/SlashCommandBuilder:Class}
|
|
259
|
+
*/
|
|
260
|
+
|
|
261
|
+
/**
|
|
262
|
+
* @external ContextMenuCommandBuilder
|
|
263
|
+
* @see {@link https://discord.js.org/docs/packages/builders/stable/ContextMenuCommandBuilder:Class}
|
|
264
|
+
*/
|