djs-selfbot-v13 3.1.8 → 3.7.1
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 +1 -1
- package/README.md +48 -37
- package/package.json +44 -26
- package/src/WebSocket.js +39 -39
- package/src/client/BaseClient.js +86 -86
- package/src/client/Client.js +934 -765
- package/src/client/WebhookClient.js +61 -61
- package/src/client/actions/Action.js +116 -120
- package/src/client/actions/ActionsManager.js +80 -78
- package/src/client/actions/ApplicationCommandPermissionsUpdate.js +34 -34
- package/src/client/actions/AutoModerationActionExecution.js +27 -27
- package/src/client/actions/AutoModerationRuleCreate.js +28 -28
- package/src/client/actions/AutoModerationRuleDelete.js +32 -32
- package/src/client/actions/AutoModerationRuleUpdate.js +30 -30
- package/src/client/actions/ChannelCreate.js +23 -23
- package/src/client/actions/ChannelDelete.js +39 -39
- package/src/client/actions/ChannelUpdate.js +43 -43
- package/src/client/actions/GuildAuditLogEntryCreate.js +29 -29
- package/src/client/actions/GuildBanAdd.js +20 -20
- package/src/client/actions/GuildBanRemove.js +25 -25
- package/src/client/actions/GuildChannelsPositionUpdate.js +21 -21
- package/src/client/actions/GuildDelete.js +65 -65
- package/src/client/actions/GuildEmojiCreate.js +20 -20
- package/src/client/actions/GuildEmojiDelete.js +21 -21
- package/src/client/actions/GuildEmojiUpdate.js +20 -20
- package/src/client/actions/GuildEmojisUpdate.js +34 -34
- package/src/client/actions/GuildIntegrationsUpdate.js +19 -19
- package/src/client/actions/GuildMemberRemove.js +33 -33
- package/src/client/actions/GuildMemberUpdate.js +44 -44
- package/src/client/actions/GuildRoleCreate.js +25 -25
- package/src/client/actions/GuildRoleDelete.js +31 -31
- package/src/client/actions/GuildRoleUpdate.js +39 -39
- package/src/client/actions/GuildRolesPositionUpdate.js +21 -21
- package/src/client/actions/GuildScheduledEventCreate.js +27 -27
- package/src/client/actions/GuildScheduledEventDelete.js +31 -31
- package/src/client/actions/GuildScheduledEventUpdate.js +30 -30
- package/src/client/actions/GuildScheduledEventUserAdd.js +32 -32
- package/src/client/actions/GuildScheduledEventUserRemove.js +32 -32
- package/src/client/actions/GuildStickerCreate.js +20 -20
- package/src/client/actions/GuildStickerDelete.js +21 -21
- package/src/client/actions/GuildStickerUpdate.js +20 -20
- package/src/client/actions/GuildStickersUpdate.js +34 -34
- package/src/client/actions/GuildUpdate.js +33 -33
- package/src/client/actions/InviteCreate.js +28 -28
- package/src/client/actions/InviteDelete.js +30 -30
- package/src/client/actions/MessageCreate.js +50 -46
- package/src/client/actions/MessageDelete.js +32 -32
- package/src/client/actions/MessageDeleteBulk.js +46 -46
- package/src/client/actions/MessagePollVoteAdd.js +33 -0
- package/src/client/actions/MessagePollVoteRemove.js +33 -0
- package/src/client/actions/MessageReactionAdd.js +68 -56
- package/src/client/actions/MessageReactionRemove.js +50 -45
- package/src/client/actions/MessageReactionRemoveAll.js +33 -33
- package/src/client/actions/MessageReactionRemoveEmoji.js +28 -28
- package/src/client/actions/MessageUpdate.js +26 -26
- package/src/client/actions/PresenceUpdate.js +50 -46
- package/src/client/actions/StageInstanceCreate.js +28 -28
- package/src/client/actions/StageInstanceDelete.js +33 -33
- package/src/client/actions/StageInstanceUpdate.js +30 -30
- package/src/client/actions/ThreadCreate.js +24 -24
- package/src/client/actions/ThreadDelete.js +32 -32
- package/src/client/actions/ThreadListSync.js +59 -59
- package/src/client/actions/ThreadMemberUpdate.js +30 -30
- package/src/client/actions/ThreadMembersUpdate.js +34 -34
- package/src/client/actions/TypingStart.js +29 -29
- package/src/client/actions/UserUpdate.js +35 -35
- package/src/client/actions/VoiceStateUpdate.js +50 -57
- package/src/client/actions/WebhooksUpdate.js +20 -20
- package/src/client/voice/ClientVoiceManager.js +151 -51
- 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 -392
- package/src/client/websocket/WebSocketShard.js +907 -906
- package/src/client/websocket/handlers/APPLICATION_COMMAND_CREATE.js +18 -18
- package/src/client/websocket/handlers/APPLICATION_COMMAND_DELETE.js +20 -20
- package/src/client/websocket/handlers/APPLICATION_COMMAND_PERMISSIONS_UPDATE.js +5 -5
- package/src/client/websocket/handlers/APPLICATION_COMMAND_UPDATE.js +20 -20
- package/src/client/websocket/handlers/AUTO_MODERATION_ACTION_EXECUTION.js +5 -5
- package/src/client/websocket/handlers/AUTO_MODERATION_RULE_CREATE.js +5 -5
- package/src/client/websocket/handlers/AUTO_MODERATION_RULE_DELETE.js +5 -5
- package/src/client/websocket/handlers/AUTO_MODERATION_RULE_UPDATE.js +5 -5
- package/src/client/websocket/handlers/CALL_CREATE.js +14 -14
- package/src/client/websocket/handlers/CALL_DELETE.js +11 -11
- package/src/client/websocket/handlers/CALL_UPDATE.js +11 -11
- package/src/client/websocket/handlers/CHANNEL_CREATE.js +5 -5
- package/src/client/websocket/handlers/CHANNEL_DELETE.js +5 -5
- package/src/client/websocket/handlers/CHANNEL_PINS_UPDATE.js +22 -22
- package/src/client/websocket/handlers/CHANNEL_RECIPIENT_ADD.js +19 -19
- package/src/client/websocket/handlers/CHANNEL_RECIPIENT_REMOVE.js +16 -16
- package/src/client/websocket/handlers/CHANNEL_UPDATE.js +16 -16
- package/src/client/websocket/handlers/GUILD_AUDIT_LOG_ENTRY_CREATE.js +5 -5
- package/src/client/websocket/handlers/GUILD_BAN_ADD.js +5 -5
- package/src/client/websocket/handlers/GUILD_BAN_REMOVE.js +5 -5
- package/src/client/websocket/handlers/GUILD_CREATE.js +52 -53
- package/src/client/websocket/handlers/GUILD_DELETE.js +5 -5
- package/src/client/websocket/handlers/GUILD_EMOJIS_UPDATE.js +5 -5
- package/src/client/websocket/handlers/GUILD_INTEGRATIONS_UPDATE.js +5 -5
- package/src/client/websocket/handlers/GUILD_MEMBERS_CHUNK.js +39 -39
- package/src/client/websocket/handlers/GUILD_MEMBER_ADD.js +20 -20
- package/src/client/websocket/handlers/GUILD_MEMBER_REMOVE.js +5 -5
- package/src/client/websocket/handlers/GUILD_MEMBER_UPDATE.js +5 -5
- package/src/client/websocket/handlers/GUILD_ROLE_CREATE.js +5 -5
- package/src/client/websocket/handlers/GUILD_ROLE_DELETE.js +5 -5
- package/src/client/websocket/handlers/GUILD_ROLE_UPDATE.js +5 -5
- package/src/client/websocket/handlers/GUILD_SCHEDULED_EVENT_CREATE.js +5 -5
- package/src/client/websocket/handlers/GUILD_SCHEDULED_EVENT_DELETE.js +5 -5
- package/src/client/websocket/handlers/GUILD_SCHEDULED_EVENT_UPDATE.js +5 -5
- package/src/client/websocket/handlers/GUILD_SCHEDULED_EVENT_USER_ADD.js +5 -5
- package/src/client/websocket/handlers/GUILD_SCHEDULED_EVENT_USER_REMOVE.js +5 -5
- package/src/client/websocket/handlers/GUILD_STICKERS_UPDATE.js +5 -5
- package/src/client/websocket/handlers/GUILD_UPDATE.js +5 -5
- package/src/client/websocket/handlers/INTERACTION_MODAL_CREATE.js +12 -12
- package/src/client/websocket/handlers/INVITE_CREATE.js +5 -5
- package/src/client/websocket/handlers/INVITE_DELETE.js +5 -5
- package/src/client/websocket/handlers/MESSAGE_CREATE.js +5 -5
- package/src/client/websocket/handlers/MESSAGE_DELETE.js +5 -5
- package/src/client/websocket/handlers/MESSAGE_DELETE_BULK.js +5 -5
- 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 -5
- package/src/client/websocket/handlers/MESSAGE_REACTION_REMOVE.js +5 -5
- package/src/client/websocket/handlers/MESSAGE_REACTION_REMOVE_ALL.js +5 -5
- package/src/client/websocket/handlers/MESSAGE_REACTION_REMOVE_EMOJI.js +5 -5
- package/src/client/websocket/handlers/MESSAGE_UPDATE.js +16 -16
- package/src/client/websocket/handlers/PRESENCE_UPDATE.js +5 -5
- package/src/client/websocket/handlers/READY.js +121 -80
- package/src/client/websocket/handlers/RELATIONSHIP_ADD.js +19 -19
- package/src/client/websocket/handlers/RELATIONSHIP_REMOVE.js +17 -17
- package/src/client/websocket/handlers/RELATIONSHIP_UPDATE.js +41 -41
- package/src/client/websocket/handlers/RESUMED.js +14 -14
- package/src/client/websocket/handlers/STAGE_INSTANCE_CREATE.js +5 -5
- package/src/client/websocket/handlers/STAGE_INSTANCE_DELETE.js +5 -5
- package/src/client/websocket/handlers/STAGE_INSTANCE_UPDATE.js +5 -5
- package/src/client/websocket/handlers/THREAD_CREATE.js +5 -5
- package/src/client/websocket/handlers/THREAD_DELETE.js +5 -5
- package/src/client/websocket/handlers/THREAD_LIST_SYNC.js +5 -5
- package/src/client/websocket/handlers/THREAD_MEMBERS_UPDATE.js +5 -5
- package/src/client/websocket/handlers/THREAD_MEMBER_UPDATE.js +5 -5
- package/src/client/websocket/handlers/THREAD_UPDATE.js +16 -16
- package/src/client/websocket/handlers/TYPING_START.js +5 -5
- package/src/client/websocket/handlers/USER_GUILD_SETTINGS_UPDATE.js +6 -6
- package/src/client/websocket/handlers/USER_NOTE_UPDATE.js +5 -5
- package/src/client/websocket/handlers/USER_REQUIRED_ACTION_UPDATE.js +78 -78
- package/src/client/websocket/handlers/USER_SETTINGS_UPDATE.js +5 -5
- package/src/client/websocket/handlers/USER_UPDATE.js +5 -5
- package/src/client/websocket/handlers/VOICE_CHANNEL_EFFECT_SEND.js +16 -0
- package/src/client/websocket/handlers/VOICE_CHANNEL_STATUS_UPDATE.js +12 -12
- package/src/client/websocket/handlers/VOICE_SERVER_UPDATE.js +6 -6
- package/src/client/websocket/handlers/VOICE_STATE_UPDATE.js +5 -5
- package/src/client/websocket/handlers/WEBHOOKS_UPDATE.js +5 -5
- package/src/client/websocket/handlers/index.js +84 -81
- package/src/errors/DJSError.js +61 -61
- package/src/errors/Messages.js +217 -182
- package/src/errors/index.js +4 -4
- package/src/index.js +172 -158
- package/src/managers/ApplicationCommandManager.js +264 -264
- package/src/managers/ApplicationCommandPermissionsManager.js +417 -417
- package/src/managers/AutoModerationRuleManager.js +296 -296
- package/src/managers/BaseGuildEmojiManager.js +80 -80
- package/src/managers/BaseManager.js +19 -19
- package/src/managers/BillingManager.js +66 -66
- package/src/managers/CachedManager.js +71 -71
- package/src/managers/ChannelManager.js +148 -138
- package/src/managers/ClientUserSettingManager.js +372 -372
- package/src/managers/DataManager.js +61 -61
- package/src/managers/GuildBanManager.js +250 -204
- package/src/managers/GuildChannelManager.js +488 -504
- package/src/managers/GuildEmojiManager.js +171 -171
- package/src/managers/GuildEmojiRoleManager.js +118 -118
- package/src/managers/GuildForumThreadManager.js +108 -108
- package/src/managers/GuildInviteManager.js +213 -213
- package/src/managers/GuildManager.js +338 -304
- package/src/managers/GuildMemberManager.js +599 -593
- package/src/managers/GuildMemberRoleManager.js +195 -191
- package/src/managers/GuildScheduledEventManager.js +314 -296
- package/src/managers/GuildSettingManager.js +155 -155
- package/src/managers/GuildStickerManager.js +179 -179
- package/src/managers/GuildTextThreadManager.js +98 -98
- package/src/managers/InteractionManager.js +39 -39
- package/src/managers/MessageManager.js +423 -391
- package/src/managers/PermissionOverwriteManager.js +164 -166
- package/src/managers/PresenceManager.js +71 -58
- package/src/managers/ReactionManager.js +67 -67
- package/src/managers/ReactionUserManager.js +73 -71
- package/src/managers/RelationshipManager.js +278 -265
- package/src/managers/RoleManager.js +448 -352
- package/src/managers/SessionManager.js +66 -0
- package/src/managers/StageInstanceManager.js +162 -162
- package/src/managers/ThreadManager.js +175 -174
- package/src/managers/ThreadMemberManager.js +186 -186
- package/src/managers/UserManager.js +136 -146
- package/src/managers/UserNoteManager.js +53 -53
- package/src/managers/VoiceStateManager.js +59 -37
- package/src/rest/APIRequest.js +154 -154
- package/src/rest/APIRouter.js +53 -53
- package/src/rest/DiscordAPIError.js +119 -104
- package/src/rest/HTTPError.js +62 -62
- package/src/rest/RESTManager.js +67 -62
- package/src/rest/RateLimitError.js +55 -55
- package/src/rest/RequestHandler.js +466 -444
- package/src/sharding/Shard.js +444 -443
- package/src/sharding/ShardClientUtil.js +279 -275
- package/src/sharding/ShardingManager.js +319 -318
- package/src/structures/AnonymousGuild.js +98 -98
- package/src/structures/ApplicationCommand.js +593 -593
- package/src/structures/ApplicationRoleConnectionMetadata.js +48 -48
- package/src/structures/AutoModerationActionExecution.js +89 -89
- package/src/structures/AutoModerationRule.js +294 -294
- package/src/structures/AutocompleteInteraction.js +107 -107
- package/src/structures/Base.js +43 -43
- package/src/structures/BaseCommandInteraction.js +211 -211
- package/src/structures/BaseGuild.js +116 -116
- package/src/structures/BaseGuildEmoji.js +56 -56
- package/src/structures/BaseGuildTextChannel.js +191 -191
- package/src/structures/BaseGuildVoiceChannel.js +241 -241
- package/src/structures/BaseMessageComponent.js +181 -114
- package/src/structures/ButtonInteraction.js +11 -11
- package/src/structures/CallState.js +63 -63
- package/src/structures/CategoryChannel.js +85 -85
- package/src/structures/Channel.js +284 -270
- package/src/structures/ClientPresence.js +77 -88
- package/src/structures/ClientUser.js +479 -450
- package/src/structures/CommandInteraction.js +41 -41
- package/src/structures/CommandInteractionOptionResolver.js +276 -276
- package/src/structures/ContainerComponent.js +68 -0
- package/src/structures/ContextMenuInteraction.js +65 -65
- package/src/structures/DMChannel.js +219 -217
- package/src/structures/DirectoryChannel.js +20 -20
- package/src/structures/Emoji.js +148 -148
- package/src/structures/FileComponent.js +49 -0
- package/src/structures/ForumChannel.js +31 -261
- package/src/structures/GroupDMChannel.js +394 -387
- package/src/structures/Guild.js +1643 -1608
- package/src/structures/GuildAuditLogs.js +746 -729
- package/src/structures/GuildBan.js +59 -59
- package/src/structures/GuildBoost.js +108 -108
- package/src/structures/GuildChannel.js +470 -468
- package/src/structures/GuildEmoji.js +161 -161
- package/src/structures/GuildMember.js +636 -568
- package/src/structures/GuildPreview.js +191 -191
- package/src/structures/GuildPreviewEmoji.js +27 -27
- package/src/structures/GuildScheduledEvent.js +536 -441
- package/src/structures/GuildTemplate.js +236 -236
- package/src/structures/Integration.js +188 -188
- package/src/structures/IntegrationApplication.js +96 -96
- package/src/structures/Interaction.js +290 -290
- package/src/structures/InteractionCollector.js +248 -248
- package/src/structures/InteractionWebhook.js +43 -43
- package/src/structures/Invite.js +358 -358
- package/src/structures/InviteGuild.js +23 -23
- package/src/structures/InviteStageInstance.js +86 -86
- 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 -1236
- package/src/structures/MessageActionRow.js +105 -103
- package/src/structures/MessageAttachment.js +216 -204
- package/src/structures/MessageButton.js +166 -165
- package/src/structures/MessageCollector.js +146 -146
- package/src/structures/MessageComponentInteraction.js +120 -120
- package/src/structures/MessageContextMenuInteraction.js +20 -20
- package/src/structures/MessageEmbed.js +596 -586
- package/src/structures/MessageMentions.js +273 -273
- package/src/structures/MessagePayload.js +354 -316
- package/src/structures/MessageReaction.js +181 -171
- package/src/structures/MessageSelectMenu.js +141 -140
- package/src/structures/Modal.js +161 -174
- package/src/structures/ModalSubmitFieldsResolver.js +53 -53
- package/src/structures/ModalSubmitInteraction.js +119 -119
- package/src/structures/NewsChannel.js +32 -32
- package/src/structures/OAuth2Guild.js +28 -28
- package/src/structures/PermissionOverwrites.js +198 -196
- package/src/structures/Poll.js +108 -0
- package/src/structures/PollAnswer.js +88 -0
- package/src/structures/Presence.js +1105 -443
- package/src/structures/ReactionCollector.js +229 -229
- package/src/structures/ReactionEmoji.js +31 -31
- package/src/structures/Role.js +590 -531
- package/src/structures/SectionComponent.js +48 -0
- package/src/structures/SelectMenuInteraction.js +21 -21
- package/src/structures/SeparatorComponent.js +48 -0
- package/src/structures/Session.js +81 -0
- package/src/structures/StageChannel.js +104 -104
- package/src/structures/StageInstance.js +208 -208
- package/src/structures/Sticker.js +310 -310
- package/src/structures/StickerPack.js +95 -95
- package/src/structures/StoreChannel.js +56 -56
- package/src/structures/Team.js +118 -118
- package/src/structures/TeamMember.js +80 -71
- package/src/structures/TextChannel.js +33 -33
- package/src/structures/TextDisplayComponent.js +40 -0
- package/src/structures/TextInputComponent.js +132 -131
- package/src/structures/ThreadChannel.js +605 -607
- package/src/structures/ThreadMember.js +105 -105
- package/src/structures/ThreadOnlyChannel.js +249 -0
- package/src/structures/ThumbnailComponent.js +57 -0
- package/src/structures/Typing.js +74 -74
- package/src/structures/UnfurledMediaItem.js +29 -0
- package/src/structures/User.js +640 -509
- package/src/structures/UserContextMenuInteraction.js +29 -29
- package/src/structures/VoiceChannel.js +110 -110
- package/src/structures/VoiceChannelEffect.js +69 -0
- package/src/structures/VoiceRegion.js +53 -53
- package/src/structures/VoiceState.js +354 -341
- package/src/structures/WebEmbed.js +373 -373
- package/src/structures/Webhook.js +478 -467
- package/src/structures/WelcomeChannel.js +60 -60
- package/src/structures/WelcomeScreen.js +48 -48
- package/src/structures/Widget.js +87 -87
- package/src/structures/WidgetMember.js +99 -99
- package/src/structures/interfaces/Application.js +825 -313
- package/src/structures/interfaces/Collector.js +300 -300
- package/src/structures/interfaces/InteractionResponses.js +313 -313
- package/src/structures/interfaces/TextBasedChannel.js +759 -721
- package/src/util/APITypes.js +59 -0
- package/src/util/ActivityFlags.js +44 -44
- package/src/util/ApplicationFlags.js +76 -76
- package/src/util/AttachmentFlags.js +38 -38
- package/src/util/BitField.js +170 -170
- package/src/util/ChannelFlags.js +45 -45
- package/src/util/Constants.js +1914 -1760
- package/src/util/DataResolver.js +146 -145
- package/src/util/Formatters.js +228 -228
- package/src/util/GuildMemberFlags.js +43 -43
- package/src/util/Intents.js +74 -74
- package/src/util/InviteFlags.js +34 -29
- package/src/util/LimitedCollection.js +131 -131
- package/src/util/MessageFlags.js +63 -54
- package/src/util/Options.js +358 -342
- package/src/util/Permissions.js +202 -192
- package/src/util/PremiumUsageFlags.js +31 -31
- package/src/util/PurchasedFlags.js +33 -33
- package/src/util/RemoteAuth.js +382 -379
- package/src/util/RoleFlags.js +37 -37
- package/src/util/SnowflakeUtil.js +92 -92
- package/src/util/Speaking.js +33 -0
- package/src/util/Sweepers.js +466 -466
- package/src/util/SystemChannelFlags.js +55 -55
- package/src/util/ThreadMemberFlags.js +30 -30
- package/src/util/UserFlags.js +104 -104
- package/src/util/Util.js +1048 -803
- package/typings/enums.d.ts +439 -291
- package/typings/index.d.ts +8247 -7390
- package/typings/rawDataTypes.d.ts +403 -342
- package/src/structures/RichPresence.js +0 -702
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const BaseMessageComponent = require('./BaseMessageComponent');
|
|
4
|
+
const { MessageComponentTypes } = require('../util/Constants');
|
|
5
|
+
|
|
6
|
+
class SectionComponent extends BaseMessageComponent {
|
|
7
|
+
/**
|
|
8
|
+
* @property {TextDisplayComponent[]} [components] One to three text components
|
|
9
|
+
* @property {ThumbnailComponent|MessageButton} [accessory] A thumbnail or a button component, with a future possibility of adding more compatible components
|
|
10
|
+
*/
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* @param {SectionComponent | APISectionComponent} [data={}] The data
|
|
14
|
+
*/
|
|
15
|
+
constructor(data = {}) {
|
|
16
|
+
super({ type: 'SECTION' });
|
|
17
|
+
|
|
18
|
+
this.setup(data);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
setup(data) {
|
|
22
|
+
super.setup(data);
|
|
23
|
+
/**
|
|
24
|
+
* One to three text components
|
|
25
|
+
* @type {TextDisplayComponent[]}
|
|
26
|
+
*/
|
|
27
|
+
this.components = data.components?.map(c => BaseMessageComponent.create(c)) ?? [];
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* A thumbnail or a button component, with a future possibility of adding more compatible components
|
|
31
|
+
* @type {ThumbnailComponent|MessageButton}
|
|
32
|
+
*/
|
|
33
|
+
this.accessory = BaseMessageComponent.create(data.accessory) ?? null;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* @returns {APISectionComponent}
|
|
38
|
+
*/
|
|
39
|
+
toJSON() {
|
|
40
|
+
return {
|
|
41
|
+
type: MessageComponentTypes[this.type],
|
|
42
|
+
components: this.components.map(c => c.toJSON()),
|
|
43
|
+
accessory: this.accessory.toJSON(),
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
module.exports = SectionComponent;
|
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
const MessageComponentInteraction = require('./MessageComponentInteraction');
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* Represents a select menu interaction.
|
|
7
|
-
* @extends {MessageComponentInteraction}
|
|
8
|
-
*/
|
|
9
|
-
class SelectMenuInteraction extends MessageComponentInteraction {
|
|
10
|
-
constructor(client, data) {
|
|
11
|
-
super(client, data);
|
|
12
|
-
|
|
13
|
-
/**
|
|
14
|
-
* The values selected, if the component which was interacted with was a select menu
|
|
15
|
-
* @type {string[]}
|
|
16
|
-
*/
|
|
17
|
-
this.values = data.data.values ?? [];
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
module.exports = SelectMenuInteraction;
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const MessageComponentInteraction = require('./MessageComponentInteraction');
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Represents a select menu interaction.
|
|
7
|
+
* @extends {MessageComponentInteraction}
|
|
8
|
+
*/
|
|
9
|
+
class SelectMenuInteraction extends MessageComponentInteraction {
|
|
10
|
+
constructor(client, data) {
|
|
11
|
+
super(client, data);
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* The values selected, if the component which was interacted with was a select menu
|
|
15
|
+
* @type {string[]}
|
|
16
|
+
*/
|
|
17
|
+
this.values = data.data.values ?? [];
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
module.exports = SelectMenuInteraction;
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const BaseMessageComponent = require('./BaseMessageComponent');
|
|
4
|
+
const { MessageComponentTypes, SeparatorSpacingSizes } = require('../util/Constants');
|
|
5
|
+
|
|
6
|
+
class SeparatorComponent extends BaseMessageComponent {
|
|
7
|
+
/**
|
|
8
|
+
* @property {SeparatorSpacingSizes} [spacing] Size of separator padding — SeparatorSpacingSizes.SMALL for small padding, SeparatorSpacingSizes.LARGE for large padding. Defaults to SeparatorSpacingSizes.SMALL
|
|
9
|
+
* @property {Boolean} [divider] Whether a visual divider should be displayed in the component. Defaults to true
|
|
10
|
+
*/
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* @param {SeparatorComponent | APISeparatorComponent} [data={}] The data
|
|
14
|
+
*/
|
|
15
|
+
constructor(data = {}) {
|
|
16
|
+
super({ type: 'SEPARATOR' });
|
|
17
|
+
|
|
18
|
+
this.setup(data);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
setup(data) {
|
|
22
|
+
super.setup(data);
|
|
23
|
+
/**
|
|
24
|
+
* Size of separator padding — SeparatorSpacingSizes.SMALL for small padding, SeparatorSpacingSizes.LARGE for large padding. Defaults to SeparatorSpacingSizes.SMALL
|
|
25
|
+
* @type {SeparatorSpacingSizes}
|
|
26
|
+
*/
|
|
27
|
+
this.spacing = data.spacing ?? SeparatorSpacingSizes.SMALL;
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* Whether a visual divider should be displayed in the component. Defaults to true
|
|
31
|
+
* @type {Boolean}
|
|
32
|
+
*/
|
|
33
|
+
this.divider = data.divider ?? true;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* @returns {APISeparatorComponent}
|
|
38
|
+
*/
|
|
39
|
+
toJSON() {
|
|
40
|
+
return {
|
|
41
|
+
type: MessageComponentTypes[this.type],
|
|
42
|
+
spacing: this.spacing,
|
|
43
|
+
divider: this.divider,
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
module.exports = SeparatorComponent;
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const Base = require('./Base');
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* @typedef {Object} SessionClientInfo
|
|
7
|
+
* @property {string} location Location of the client (using IP address)
|
|
8
|
+
* @property {string} platform Platform of the client
|
|
9
|
+
* @property {string} os Operating system of the client
|
|
10
|
+
*/
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Represents a Client OAuth2 Application Team.
|
|
14
|
+
* @extends {Base}
|
|
15
|
+
*/
|
|
16
|
+
class Session extends Base {
|
|
17
|
+
constructor(client, data) {
|
|
18
|
+
super(client);
|
|
19
|
+
this._patch(data);
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
_patch(data) {
|
|
23
|
+
if ('id_hash' in data) {
|
|
24
|
+
/**
|
|
25
|
+
* The session hash id
|
|
26
|
+
* @type {string}
|
|
27
|
+
*/
|
|
28
|
+
this.id = data.id_hash;
|
|
29
|
+
}
|
|
30
|
+
if ('approx_last_used_time' in data) {
|
|
31
|
+
/**
|
|
32
|
+
* The approximate last used time
|
|
33
|
+
* @type {string}
|
|
34
|
+
*/
|
|
35
|
+
this.approxLastUsedTime = data.approx_last_used_time;
|
|
36
|
+
}
|
|
37
|
+
if ('client_info' in data) {
|
|
38
|
+
/**
|
|
39
|
+
* The client info
|
|
40
|
+
* @type {SessionClientInfo}
|
|
41
|
+
*/
|
|
42
|
+
this.clientInfo = data.client_info;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* The timestamp the client was last used at.
|
|
48
|
+
* @type {number}
|
|
49
|
+
* @readonly
|
|
50
|
+
*/
|
|
51
|
+
get createdTimestamp() {
|
|
52
|
+
return this.createdAt.getTime();
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
/**
|
|
56
|
+
* The time the client was last used at.
|
|
57
|
+
* @type {Date}
|
|
58
|
+
* @readonly
|
|
59
|
+
*/
|
|
60
|
+
get createdAt() {
|
|
61
|
+
return new Date(this.approxLastUsedTime);
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
/**
|
|
65
|
+
* Logout the client (remote).
|
|
66
|
+
* @returns {Promise<void>}
|
|
67
|
+
*/
|
|
68
|
+
logout() {
|
|
69
|
+
return this.client.api.auth.sessions.logout({
|
|
70
|
+
data: {
|
|
71
|
+
session_id_hashes: [this.id],
|
|
72
|
+
},
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
toJSON() {
|
|
77
|
+
return super.toJSON();
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
module.exports = Session;
|
|
@@ -1,104 +1,104 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
const BaseGuildVoiceChannel = require('./BaseGuildVoiceChannel');
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* Represents a guild stage channel on Discord.
|
|
7
|
-
* @extends {BaseGuildVoiceChannel}
|
|
8
|
-
*/
|
|
9
|
-
class StageChannel extends BaseGuildVoiceChannel {
|
|
10
|
-
_patch(data) {
|
|
11
|
-
super._patch(data);
|
|
12
|
-
|
|
13
|
-
if ('topic' in data) {
|
|
14
|
-
/**
|
|
15
|
-
* The topic of the stage channel
|
|
16
|
-
* @type {?string}
|
|
17
|
-
*/
|
|
18
|
-
this.topic = data.topic;
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
/**
|
|
23
|
-
* The stage instance of this stage channel, if it exists
|
|
24
|
-
* @type {?StageInstance}
|
|
25
|
-
* @readonly
|
|
26
|
-
*/
|
|
27
|
-
get stageInstance() {
|
|
28
|
-
return this.guild.stageInstances.cache.find(stageInstance => stageInstance.channelId === this.id) ?? null;
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
/**
|
|
32
|
-
* Creates a stage instance associated with this stage channel.
|
|
33
|
-
* @param {StageInstanceCreateOptions} options The options to create the stage instance
|
|
34
|
-
* @returns {Promise<StageInstance>}
|
|
35
|
-
*/
|
|
36
|
-
createStageInstance(options) {
|
|
37
|
-
return this.guild.stageInstances.create(this.id, options);
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
/**
|
|
41
|
-
* Sets a new topic for the guild channel.
|
|
42
|
-
* @param {?string} topic The new topic for the guild channel
|
|
43
|
-
* @param {string} [reason] Reason for changing the guild channel's topic
|
|
44
|
-
* @returns {Promise<GuildChannel>}
|
|
45
|
-
* @example
|
|
46
|
-
* // Set a new channel topic
|
|
47
|
-
* channel.setTopic('needs more rate limiting')
|
|
48
|
-
* .then(newChannel => console.log(`Channel's new topic is ${newChannel.topic}`))
|
|
49
|
-
* .catch(console.error);
|
|
50
|
-
*/
|
|
51
|
-
setTopic(topic, reason) {
|
|
52
|
-
return this.edit({ topic }, reason);
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
/**
|
|
56
|
-
* Sets the bitrate of the channel.
|
|
57
|
-
* @name StageChannel#setBitrate
|
|
58
|
-
* @param {number} bitrate The new bitrate
|
|
59
|
-
* @param {string} [reason] Reason for changing the channel's bitrate
|
|
60
|
-
* @returns {Promise<StageChannel>}
|
|
61
|
-
* @example
|
|
62
|
-
* // Set the bitrate of a voice channel
|
|
63
|
-
* stageChannel.setBitrate(48_000)
|
|
64
|
-
* .then(channel => console.log(`Set bitrate to ${channel.bitrate}bps for ${channel.name}`))
|
|
65
|
-
* .catch(console.error);
|
|
66
|
-
*/
|
|
67
|
-
|
|
68
|
-
/**
|
|
69
|
-
* Sets the RTC region of the channel.
|
|
70
|
-
* @name StageChannel#setRTCRegion
|
|
71
|
-
* @param {?string} rtcRegion The new region of the channel. Set to `null` to remove a specific region for the channel
|
|
72
|
-
* @param {string} [reason] The reason for modifying this region.
|
|
73
|
-
* @returns {Promise<StageChannel>}
|
|
74
|
-
* @example
|
|
75
|
-
* // Set the RTC region to sydney
|
|
76
|
-
* stageChannel.setRTCRegion('sydney');
|
|
77
|
-
* @example
|
|
78
|
-
* // Remove a fixed region for this channel - let Discord decide automatically
|
|
79
|
-
* stageChannel.setRTCRegion(null, 'We want to let Discord decide.');
|
|
80
|
-
*/
|
|
81
|
-
|
|
82
|
-
/**
|
|
83
|
-
* Sets the user limit of the channel.
|
|
84
|
-
* @name StageChannel#setUserLimit
|
|
85
|
-
* @param {number} userLimit The new user limit
|
|
86
|
-
* @param {string} [reason] Reason for changing the user limit
|
|
87
|
-
* @returns {Promise<StageChannel>}
|
|
88
|
-
* @example
|
|
89
|
-
* // Set the user limit of a voice channel
|
|
90
|
-
* stageChannel.setUserLimit(42)
|
|
91
|
-
* .then(channel => console.log(`Set user limit to ${channel.userLimit} for ${channel.name}`))
|
|
92
|
-
* .catch(console.error);
|
|
93
|
-
*/
|
|
94
|
-
|
|
95
|
-
/**
|
|
96
|
-
* Sets the camera video quality mode of the channel.
|
|
97
|
-
* @name StageChannel#setVideoQualityMode
|
|
98
|
-
* @param {VideoQualityMode|number} videoQualityMode The new camera video quality mode.
|
|
99
|
-
* @param {string} [reason] Reason for changing the camera video quality mode.
|
|
100
|
-
* @returns {Promise<StageChannel>}
|
|
101
|
-
*/
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
module.exports = StageChannel;
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const BaseGuildVoiceChannel = require('./BaseGuildVoiceChannel');
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Represents a guild stage channel on Discord.
|
|
7
|
+
* @extends {BaseGuildVoiceChannel}
|
|
8
|
+
*/
|
|
9
|
+
class StageChannel extends BaseGuildVoiceChannel {
|
|
10
|
+
_patch(data) {
|
|
11
|
+
super._patch(data);
|
|
12
|
+
|
|
13
|
+
if ('topic' in data) {
|
|
14
|
+
/**
|
|
15
|
+
* The topic of the stage channel
|
|
16
|
+
* @type {?string}
|
|
17
|
+
*/
|
|
18
|
+
this.topic = data.topic;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* The stage instance of this stage channel, if it exists
|
|
24
|
+
* @type {?StageInstance}
|
|
25
|
+
* @readonly
|
|
26
|
+
*/
|
|
27
|
+
get stageInstance() {
|
|
28
|
+
return this.guild.stageInstances.cache.find(stageInstance => stageInstance.channelId === this.id) ?? null;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* Creates a stage instance associated with this stage channel.
|
|
33
|
+
* @param {StageInstanceCreateOptions} options The options to create the stage instance
|
|
34
|
+
* @returns {Promise<StageInstance>}
|
|
35
|
+
*/
|
|
36
|
+
createStageInstance(options) {
|
|
37
|
+
return this.guild.stageInstances.create(this.id, options);
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* Sets a new topic for the guild channel.
|
|
42
|
+
* @param {?string} topic The new topic for the guild channel
|
|
43
|
+
* @param {string} [reason] Reason for changing the guild channel's topic
|
|
44
|
+
* @returns {Promise<GuildChannel>}
|
|
45
|
+
* @example
|
|
46
|
+
* // Set a new channel topic
|
|
47
|
+
* channel.setTopic('needs more rate limiting')
|
|
48
|
+
* .then(newChannel => console.log(`Channel's new topic is ${newChannel.topic}`))
|
|
49
|
+
* .catch(console.error);
|
|
50
|
+
*/
|
|
51
|
+
setTopic(topic, reason) {
|
|
52
|
+
return this.edit({ topic }, reason);
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
/**
|
|
56
|
+
* Sets the bitrate of the channel.
|
|
57
|
+
* @name StageChannel#setBitrate
|
|
58
|
+
* @param {number} bitrate The new bitrate
|
|
59
|
+
* @param {string} [reason] Reason for changing the channel's bitrate
|
|
60
|
+
* @returns {Promise<StageChannel>}
|
|
61
|
+
* @example
|
|
62
|
+
* // Set the bitrate of a voice channel
|
|
63
|
+
* stageChannel.setBitrate(48_000)
|
|
64
|
+
* .then(channel => console.log(`Set bitrate to ${channel.bitrate}bps for ${channel.name}`))
|
|
65
|
+
* .catch(console.error);
|
|
66
|
+
*/
|
|
67
|
+
|
|
68
|
+
/**
|
|
69
|
+
* Sets the RTC region of the channel.
|
|
70
|
+
* @name StageChannel#setRTCRegion
|
|
71
|
+
* @param {?string} rtcRegion The new region of the channel. Set to `null` to remove a specific region for the channel
|
|
72
|
+
* @param {string} [reason] The reason for modifying this region.
|
|
73
|
+
* @returns {Promise<StageChannel>}
|
|
74
|
+
* @example
|
|
75
|
+
* // Set the RTC region to sydney
|
|
76
|
+
* stageChannel.setRTCRegion('sydney');
|
|
77
|
+
* @example
|
|
78
|
+
* // Remove a fixed region for this channel - let Discord decide automatically
|
|
79
|
+
* stageChannel.setRTCRegion(null, 'We want to let Discord decide.');
|
|
80
|
+
*/
|
|
81
|
+
|
|
82
|
+
/**
|
|
83
|
+
* Sets the user limit of the channel.
|
|
84
|
+
* @name StageChannel#setUserLimit
|
|
85
|
+
* @param {number} userLimit The new user limit
|
|
86
|
+
* @param {string} [reason] Reason for changing the user limit
|
|
87
|
+
* @returns {Promise<StageChannel>}
|
|
88
|
+
* @example
|
|
89
|
+
* // Set the user limit of a voice channel
|
|
90
|
+
* stageChannel.setUserLimit(42)
|
|
91
|
+
* .then(channel => console.log(`Set user limit to ${channel.userLimit} for ${channel.name}`))
|
|
92
|
+
* .catch(console.error);
|
|
93
|
+
*/
|
|
94
|
+
|
|
95
|
+
/**
|
|
96
|
+
* Sets the camera video quality mode of the channel.
|
|
97
|
+
* @name StageChannel#setVideoQualityMode
|
|
98
|
+
* @param {VideoQualityMode|number} videoQualityMode The new camera video quality mode.
|
|
99
|
+
* @param {string} [reason] Reason for changing the camera video quality mode.
|
|
100
|
+
* @returns {Promise<StageChannel>}
|
|
101
|
+
*/
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
module.exports = StageChannel;
|