djs-selfbot-v13 3.2.2 → 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/README.md +37 -36
- package/package.json +89 -85
- package/src/WebSocket.js +39 -39
- package/src/client/BaseClient.js +86 -86
- package/src/client/Client.js +934 -836
- 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 -32
- package/src/client/actions/GuildMemberUpdate.js +44 -43
- 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 -52
- 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 -19
- 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 -22
- package/src/client/websocket/handlers/MESSAGE_POLL_VOTE_REMOVE.js +5 -12
- 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 -120
- 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 -83
- package/src/errors/DJSError.js +61 -61
- package/src/errors/Messages.js +217 -183
- package/src/errors/index.js +4 -4
- package/src/index.js +172 -159
- 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 -250
- package/src/managers/GuildChannelManager.js +488 -488
- 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 -597
- 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 -160
- 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 -85
- package/src/structures/ClientUser.js +479 -448
- 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 -1227
- 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 -318
- package/src/structures/MessageReaction.js +181 -171
- package/src/structures/MessageSelectMenu.js +141 -140
- package/src/structures/Modal.js +161 -161
- 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 -1101
- 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 -543
- 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 -719
- 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 -1773
- 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 -336
- package/src/util/Permissions.js +202 -202
- 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 -889
- package/typings/enums.d.ts +439 -297
- package/typings/index.d.ts +8247 -7432
- package/typings/rawDataTypes.d.ts +403 -342
- package/src/structures/MessagePoll.js +0 -238
|
@@ -1,32 +1,32 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
const Action = require('./Action');
|
|
4
|
-
const { deletedChannels } = require('../../structures/Channel');
|
|
5
|
-
const { deletedMessages } = require('../../structures/Message');
|
|
6
|
-
const { Events } = require('../../util/Constants');
|
|
7
|
-
|
|
8
|
-
class ThreadDeleteAction extends Action {
|
|
9
|
-
handle(data) {
|
|
10
|
-
const client = this.client;
|
|
11
|
-
const thread = client.channels.cache.get(data.id);
|
|
12
|
-
|
|
13
|
-
if (thread) {
|
|
14
|
-
client.channels._remove(thread.id);
|
|
15
|
-
deletedChannels.add(thread);
|
|
16
|
-
for (const message of thread.messages.cache.values()) {
|
|
17
|
-
deletedMessages.add(message);
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
/**
|
|
21
|
-
* Emitted whenever a thread is deleted.
|
|
22
|
-
* @event Client#threadDelete
|
|
23
|
-
* @param {ThreadChannel} thread The thread that was deleted
|
|
24
|
-
*/
|
|
25
|
-
client.emit(Events.THREAD_DELETE, thread);
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
return { thread };
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
module.exports = ThreadDeleteAction;
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const Action = require('./Action');
|
|
4
|
+
const { deletedChannels } = require('../../structures/Channel');
|
|
5
|
+
const { deletedMessages } = require('../../structures/Message');
|
|
6
|
+
const { Events } = require('../../util/Constants');
|
|
7
|
+
|
|
8
|
+
class ThreadDeleteAction extends Action {
|
|
9
|
+
handle(data) {
|
|
10
|
+
const client = this.client;
|
|
11
|
+
const thread = client.channels.cache.get(data.id);
|
|
12
|
+
|
|
13
|
+
if (thread) {
|
|
14
|
+
client.channels._remove(thread.id);
|
|
15
|
+
deletedChannels.add(thread);
|
|
16
|
+
for (const message of thread.messages.cache.values()) {
|
|
17
|
+
deletedMessages.add(message);
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* Emitted whenever a thread is deleted.
|
|
22
|
+
* @event Client#threadDelete
|
|
23
|
+
* @param {ThreadChannel} thread The thread that was deleted
|
|
24
|
+
*/
|
|
25
|
+
client.emit(Events.THREAD_DELETE, thread);
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
return { thread };
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
module.exports = ThreadDeleteAction;
|
|
@@ -1,59 +1,59 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
const { Collection } = require('@discordjs/collection');
|
|
4
|
-
const Action = require('./Action');
|
|
5
|
-
const { Events } = require('../../util/Constants');
|
|
6
|
-
|
|
7
|
-
class ThreadListSyncAction extends Action {
|
|
8
|
-
handle(data) {
|
|
9
|
-
const client = this.client;
|
|
10
|
-
|
|
11
|
-
const guild = client.guilds.cache.get(data.guild_id);
|
|
12
|
-
if (!guild) return {};
|
|
13
|
-
|
|
14
|
-
if (data.channel_ids) {
|
|
15
|
-
for (const id of data.channel_ids) {
|
|
16
|
-
const channel = client.channels.
|
|
17
|
-
if (channel) this.removeStale(channel);
|
|
18
|
-
}
|
|
19
|
-
} else {
|
|
20
|
-
for (const channel of guild.channels.cache.values()) {
|
|
21
|
-
this.removeStale(channel);
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
const syncedThreads = data.threads.reduce((coll, rawThread) => {
|
|
26
|
-
const thread = client.channels._add(rawThread);
|
|
27
|
-
return coll.set(thread.id, thread);
|
|
28
|
-
}, new Collection());
|
|
29
|
-
|
|
30
|
-
for (const rawMember of Object.values(data.members || {})) {
|
|
31
|
-
// Discord sends the thread id as id in this object
|
|
32
|
-
const thread = client.channels.cache.get(rawMember.id);
|
|
33
|
-
if (thread) {
|
|
34
|
-
thread.members._add(rawMember);
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
/**
|
|
39
|
-
* Emitted whenever the client user gains access to a text or news channel that contains threads
|
|
40
|
-
* @event Client#threadListSync
|
|
41
|
-
* @param {Collection<Snowflake, ThreadChannel>} threads The threads that were synced
|
|
42
|
-
*/
|
|
43
|
-
client.emit(Events.THREAD_LIST_SYNC, syncedThreads);
|
|
44
|
-
|
|
45
|
-
return {
|
|
46
|
-
syncedThreads,
|
|
47
|
-
};
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
removeStale(channel) {
|
|
51
|
-
channel.threads?.cache.forEach(thread => {
|
|
52
|
-
if (!thread.archived) {
|
|
53
|
-
this.client.channels._remove(thread.id);
|
|
54
|
-
}
|
|
55
|
-
});
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
module.exports = ThreadListSyncAction;
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const { Collection } = require('@discordjs/collection');
|
|
4
|
+
const Action = require('./Action');
|
|
5
|
+
const { Events } = require('../../util/Constants');
|
|
6
|
+
|
|
7
|
+
class ThreadListSyncAction extends Action {
|
|
8
|
+
handle(data) {
|
|
9
|
+
const client = this.client;
|
|
10
|
+
|
|
11
|
+
const guild = client.guilds.cache.get(data.guild_id);
|
|
12
|
+
if (!guild) return {};
|
|
13
|
+
|
|
14
|
+
if (data.channel_ids) {
|
|
15
|
+
for (const id of data.channel_ids) {
|
|
16
|
+
const channel = client.channels.cache.get(id);
|
|
17
|
+
if (channel) this.removeStale(channel);
|
|
18
|
+
}
|
|
19
|
+
} else {
|
|
20
|
+
for (const channel of guild.channels.cache.values()) {
|
|
21
|
+
this.removeStale(channel);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
const syncedThreads = data.threads.reduce((coll, rawThread) => {
|
|
26
|
+
const thread = client.channels._add(rawThread);
|
|
27
|
+
return coll.set(thread.id, thread);
|
|
28
|
+
}, new Collection());
|
|
29
|
+
|
|
30
|
+
for (const rawMember of Object.values(data.members || {})) {
|
|
31
|
+
// Discord sends the thread id as id in this object
|
|
32
|
+
const thread = client.channels.cache.get(rawMember.id);
|
|
33
|
+
if (thread) {
|
|
34
|
+
thread.members._add(rawMember);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* Emitted whenever the client user gains access to a text or news channel that contains threads
|
|
40
|
+
* @event Client#threadListSync
|
|
41
|
+
* @param {Collection<Snowflake, ThreadChannel>} threads The threads that were synced
|
|
42
|
+
*/
|
|
43
|
+
client.emit(Events.THREAD_LIST_SYNC, syncedThreads);
|
|
44
|
+
|
|
45
|
+
return {
|
|
46
|
+
syncedThreads,
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
removeStale(channel) {
|
|
51
|
+
channel.threads?.cache.forEach(thread => {
|
|
52
|
+
if (!thread.archived) {
|
|
53
|
+
this.client.channels._remove(thread.id);
|
|
54
|
+
}
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
module.exports = ThreadListSyncAction;
|
|
@@ -1,30 +1,30 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
const Action = require('./Action');
|
|
4
|
-
const { Events } = require('../../util/Constants');
|
|
5
|
-
|
|
6
|
-
class ThreadMemberUpdateAction extends Action {
|
|
7
|
-
handle(data) {
|
|
8
|
-
const client = this.client;
|
|
9
|
-
// Discord sends the thread id as id in this object
|
|
10
|
-
const thread = client.channels.cache.get(data.id);
|
|
11
|
-
if (thread) {
|
|
12
|
-
const member = thread.members.cache.get(data.user_id);
|
|
13
|
-
if (!member) {
|
|
14
|
-
const newMember = thread.members._add(data);
|
|
15
|
-
return { newMember };
|
|
16
|
-
}
|
|
17
|
-
const old = member._update(data);
|
|
18
|
-
/**
|
|
19
|
-
* Emitted whenever the client user's thread member is updated.
|
|
20
|
-
* @event Client#threadMemberUpdate
|
|
21
|
-
* @param {ThreadMember} oldMember The member before the update
|
|
22
|
-
* @param {ThreadMember} newMember The member after the update
|
|
23
|
-
*/
|
|
24
|
-
client.emit(Events.THREAD_MEMBER_UPDATE, old, member);
|
|
25
|
-
}
|
|
26
|
-
return {};
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
module.exports = ThreadMemberUpdateAction;
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const Action = require('./Action');
|
|
4
|
+
const { Events } = require('../../util/Constants');
|
|
5
|
+
|
|
6
|
+
class ThreadMemberUpdateAction extends Action {
|
|
7
|
+
handle(data) {
|
|
8
|
+
const client = this.client;
|
|
9
|
+
// Discord sends the thread id as id in this object
|
|
10
|
+
const thread = client.channels.cache.get(data.id);
|
|
11
|
+
if (thread) {
|
|
12
|
+
const member = thread.members.cache.get(data.user_id);
|
|
13
|
+
if (!member) {
|
|
14
|
+
const newMember = thread.members._add(data);
|
|
15
|
+
return { newMember };
|
|
16
|
+
}
|
|
17
|
+
const old = member._update(data);
|
|
18
|
+
/**
|
|
19
|
+
* Emitted whenever the client user's thread member is updated.
|
|
20
|
+
* @event Client#threadMemberUpdate
|
|
21
|
+
* @param {ThreadMember} oldMember The member before the update
|
|
22
|
+
* @param {ThreadMember} newMember The member after the update
|
|
23
|
+
*/
|
|
24
|
+
client.emit(Events.THREAD_MEMBER_UPDATE, old, member);
|
|
25
|
+
}
|
|
26
|
+
return {};
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
module.exports = ThreadMemberUpdateAction;
|
|
@@ -1,34 +1,34 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
const Action = require('./Action');
|
|
4
|
-
const { Events } = require('../../util/Constants');
|
|
5
|
-
|
|
6
|
-
class ThreadMembersUpdateAction extends Action {
|
|
7
|
-
handle(data) {
|
|
8
|
-
const client = this.client;
|
|
9
|
-
const thread = client.channels.cache.get(data.id);
|
|
10
|
-
if (thread) {
|
|
11
|
-
const old = thread.members.cache.clone();
|
|
12
|
-
thread.memberCount = data.member_count;
|
|
13
|
-
|
|
14
|
-
data.added_members?.forEach(rawMember => {
|
|
15
|
-
thread.members._add(rawMember);
|
|
16
|
-
});
|
|
17
|
-
|
|
18
|
-
data.removed_member_ids?.forEach(memberId => {
|
|
19
|
-
thread.members.cache.delete(memberId);
|
|
20
|
-
});
|
|
21
|
-
|
|
22
|
-
/**
|
|
23
|
-
* Emitted whenever members are added or removed from a thread. Requires `GUILD_MEMBERS` privileged intent
|
|
24
|
-
* @event Client#threadMembersUpdate
|
|
25
|
-
* @param {Collection<Snowflake, ThreadMember>} oldMembers The members before the update
|
|
26
|
-
* @param {Collection<Snowflake, ThreadMember>} newMembers The members after the update
|
|
27
|
-
*/
|
|
28
|
-
client.emit(Events.THREAD_MEMBERS_UPDATE, old, thread.members.cache);
|
|
29
|
-
}
|
|
30
|
-
return {};
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
module.exports = ThreadMembersUpdateAction;
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const Action = require('./Action');
|
|
4
|
+
const { Events } = require('../../util/Constants');
|
|
5
|
+
|
|
6
|
+
class ThreadMembersUpdateAction extends Action {
|
|
7
|
+
handle(data) {
|
|
8
|
+
const client = this.client;
|
|
9
|
+
const thread = client.channels.cache.get(data.id);
|
|
10
|
+
if (thread) {
|
|
11
|
+
const old = thread.members.cache.clone();
|
|
12
|
+
thread.memberCount = data.member_count;
|
|
13
|
+
|
|
14
|
+
data.added_members?.forEach(rawMember => {
|
|
15
|
+
thread.members._add(rawMember);
|
|
16
|
+
});
|
|
17
|
+
|
|
18
|
+
data.removed_member_ids?.forEach(memberId => {
|
|
19
|
+
thread.members.cache.delete(memberId);
|
|
20
|
+
});
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* Emitted whenever members are added or removed from a thread. Requires `GUILD_MEMBERS` privileged intent
|
|
24
|
+
* @event Client#threadMembersUpdate
|
|
25
|
+
* @param {Collection<Snowflake, ThreadMember>} oldMembers The members before the update
|
|
26
|
+
* @param {Collection<Snowflake, ThreadMember>} newMembers The members after the update
|
|
27
|
+
*/
|
|
28
|
+
client.emit(Events.THREAD_MEMBERS_UPDATE, old, thread.members.cache);
|
|
29
|
+
}
|
|
30
|
+
return {};
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
module.exports = ThreadMembersUpdateAction;
|
|
@@ -1,29 +1,29 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
const Action = require('./Action');
|
|
4
|
-
const Typing = require('../../structures/Typing');
|
|
5
|
-
const { Events } = require('../../util/Constants');
|
|
6
|
-
|
|
7
|
-
class TypingStart extends Action {
|
|
8
|
-
handle(data) {
|
|
9
|
-
const channel = this.getChannel(data);
|
|
10
|
-
if (!channel) return;
|
|
11
|
-
|
|
12
|
-
if (!channel.isText()) {
|
|
13
|
-
this.client.emit(Events.WARN, `Discord sent a typing packet to a ${channel.type} channel ${channel.id}`);
|
|
14
|
-
return;
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
const user = this.getUserFromMember(data);
|
|
18
|
-
if (user) {
|
|
19
|
-
/**
|
|
20
|
-
* Emitted whenever a user starts typing in a channel.
|
|
21
|
-
* @event Client#typingStart
|
|
22
|
-
* @param {Typing} typing The typing state
|
|
23
|
-
*/
|
|
24
|
-
this.client.emit(Events.TYPING_START, new Typing(channel, user, data));
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
module.exports = TypingStart;
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const Action = require('./Action');
|
|
4
|
+
const Typing = require('../../structures/Typing');
|
|
5
|
+
const { Events } = require('../../util/Constants');
|
|
6
|
+
|
|
7
|
+
class TypingStart extends Action {
|
|
8
|
+
handle(data) {
|
|
9
|
+
const channel = this.getChannel({ id: data.channel_id, ...('guild_id' in data && { guild_id: data.guild_id }) });
|
|
10
|
+
if (!channel) return;
|
|
11
|
+
|
|
12
|
+
if (!channel.isText()) {
|
|
13
|
+
this.client.emit(Events.WARN, `Discord sent a typing packet to a ${channel.type} channel ${channel.id}`);
|
|
14
|
+
return;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
const user = this.getUserFromMember(data);
|
|
18
|
+
if (user) {
|
|
19
|
+
/**
|
|
20
|
+
* Emitted whenever a user starts typing in a channel.
|
|
21
|
+
* @event Client#typingStart
|
|
22
|
+
* @param {Typing} typing The typing state
|
|
23
|
+
*/
|
|
24
|
+
this.client.emit(Events.TYPING_START, new Typing(channel, user, data));
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
module.exports = TypingStart;
|
|
@@ -1,35 +1,35 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
const Action = require('./Action');
|
|
4
|
-
const { Events } = require('../../util/Constants');
|
|
5
|
-
|
|
6
|
-
class UserUpdateAction extends Action {
|
|
7
|
-
handle(data) {
|
|
8
|
-
const client = this.client;
|
|
9
|
-
|
|
10
|
-
const newUser = data.id === client.user.id ? client.user : client.users.cache.get(data.id);
|
|
11
|
-
const oldUser = newUser._update(data);
|
|
12
|
-
|
|
13
|
-
if (!oldUser.equals(newUser)) {
|
|
14
|
-
/**
|
|
15
|
-
* Emitted whenever a user's details (e.g. username) are changed.
|
|
16
|
-
* Triggered by the Discord gateway events USER_UPDATE, GUILD_MEMBER_UPDATE, and PRESENCE_UPDATE.
|
|
17
|
-
* @event Client#userUpdate
|
|
18
|
-
* @param {User} oldUser The user before the update
|
|
19
|
-
* @param {User} newUser The user after the update
|
|
20
|
-
*/
|
|
21
|
-
client.emit(Events.USER_UPDATE, oldUser, newUser);
|
|
22
|
-
return {
|
|
23
|
-
old: oldUser,
|
|
24
|
-
updated: newUser,
|
|
25
|
-
};
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
return {
|
|
29
|
-
old: null,
|
|
30
|
-
updated: null,
|
|
31
|
-
};
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
module.exports = UserUpdateAction;
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const Action = require('./Action');
|
|
4
|
+
const { Events } = require('../../util/Constants');
|
|
5
|
+
|
|
6
|
+
class UserUpdateAction extends Action {
|
|
7
|
+
handle(data) {
|
|
8
|
+
const client = this.client;
|
|
9
|
+
|
|
10
|
+
const newUser = data.id === client.user.id ? client.user : client.users.cache.get(data.id);
|
|
11
|
+
const oldUser = newUser._update(data);
|
|
12
|
+
|
|
13
|
+
if (!oldUser.equals(newUser)) {
|
|
14
|
+
/**
|
|
15
|
+
* Emitted whenever a user's details (e.g. username) are changed.
|
|
16
|
+
* Triggered by the Discord gateway events USER_UPDATE, GUILD_MEMBER_UPDATE, and PRESENCE_UPDATE.
|
|
17
|
+
* @event Client#userUpdate
|
|
18
|
+
* @param {User} oldUser The user before the update
|
|
19
|
+
* @param {User} newUser The user after the update
|
|
20
|
+
*/
|
|
21
|
+
client.emit(Events.USER_UPDATE, oldUser, newUser);
|
|
22
|
+
return {
|
|
23
|
+
old: oldUser,
|
|
24
|
+
updated: newUser,
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
return {
|
|
29
|
+
old: null,
|
|
30
|
+
updated: null,
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
module.exports = UserUpdateAction;
|
|
@@ -1,57 +1,50 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
const Action = require('./Action');
|
|
4
|
-
const VoiceState = require('../../structures/VoiceState');
|
|
5
|
-
const { Events } = require('../../util/Constants');
|
|
6
|
-
|
|
7
|
-
class VoiceStateUpdate extends Action {
|
|
8
|
-
handle(data) {
|
|
9
|
-
const client = this.client;
|
|
10
|
-
const guild = client.guilds.cache.get(data.guild_id);
|
|
11
|
-
if (guild) {
|
|
12
|
-
// Update the state
|
|
13
|
-
const oldState =
|
|
14
|
-
guild.voiceStates.cache.get(data.user_id)?._clone() ?? new VoiceState(guild, { user_id: data.user_id });
|
|
15
|
-
|
|
16
|
-
const newState = guild.voiceStates._add(data);
|
|
17
|
-
|
|
18
|
-
// Get the member
|
|
19
|
-
let member = guild.members.cache.get(data.user_id);
|
|
20
|
-
if (member && data.member) {
|
|
21
|
-
member._patch(data.member);
|
|
22
|
-
} else if (data.member?.user && data.member.joined_at) {
|
|
23
|
-
member = guild.members._add(data.member);
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
client.
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
client.emit(Events.VOICE_STATE_UPDATE, oldState, newState);
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
module.exports = VoiceStateUpdate;
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const Action = require('./Action');
|
|
4
|
+
const VoiceState = require('../../structures/VoiceState');
|
|
5
|
+
const { Events } = require('../../util/Constants');
|
|
6
|
+
|
|
7
|
+
class VoiceStateUpdate extends Action {
|
|
8
|
+
handle(data) {
|
|
9
|
+
const client = this.client;
|
|
10
|
+
const guild = client.guilds.cache.get(data.guild_id);
|
|
11
|
+
if (guild) {
|
|
12
|
+
// Update the state
|
|
13
|
+
const oldState =
|
|
14
|
+
guild.voiceStates.cache.get(data.user_id)?._clone() ?? new VoiceState(guild, { user_id: data.user_id });
|
|
15
|
+
|
|
16
|
+
const newState = guild.voiceStates._add(data);
|
|
17
|
+
|
|
18
|
+
// Get the member
|
|
19
|
+
let member = guild.members.cache.get(data.user_id);
|
|
20
|
+
if (member && data.member) {
|
|
21
|
+
member._patch(data.member);
|
|
22
|
+
} else if (data.member?.user && data.member.joined_at) {
|
|
23
|
+
member = guild.members._add(data.member);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* Emitted whenever a member changes voice state - e.g. joins/leaves a channel, mutes/unmutes.
|
|
28
|
+
* @event Client#voiceStateUpdate
|
|
29
|
+
* @param {VoiceState} oldState The voice state before the update
|
|
30
|
+
* @param {VoiceState} newState The voice state after the update
|
|
31
|
+
*/
|
|
32
|
+
client.emit(Events.VOICE_STATE_UPDATE, oldState, newState);
|
|
33
|
+
} else {
|
|
34
|
+
// Update the state
|
|
35
|
+
const oldState =
|
|
36
|
+
client.voiceStates.cache.get(data.user_id)?._clone() ?? new VoiceState({ client }, { user_id: data.user_id });
|
|
37
|
+
|
|
38
|
+
const newState = client.voiceStates._add(data);
|
|
39
|
+
|
|
40
|
+
client.emit(Events.VOICE_STATE_UPDATE, oldState, newState);
|
|
41
|
+
}
|
|
42
|
+
// Emit event
|
|
43
|
+
if (data.user_id === client.user?.id) {
|
|
44
|
+
client.emit('debug', `[VOICE] received voice state update: ${JSON.stringify(data)}`);
|
|
45
|
+
client.voice.onVoiceStateUpdate(data);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
module.exports = VoiceStateUpdate;
|
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
const Action = require('./Action');
|
|
4
|
-
const { Events } = require('../../util/Constants');
|
|
5
|
-
|
|
6
|
-
class WebhooksUpdate extends Action {
|
|
7
|
-
handle(data) {
|
|
8
|
-
const client = this.client;
|
|
9
|
-
const channel = client.channels.cache.get(data.channel_id);
|
|
10
|
-
/**
|
|
11
|
-
* Emitted whenever a channel has its webhooks changed.
|
|
12
|
-
* @event Client#webhookUpdate
|
|
13
|
-
* @param {TextChannel|NewsChannel|VoiceChannel|StageChannel|ForumChannel} channel
|
|
14
|
-
* The channel that had a webhook update
|
|
15
|
-
*/
|
|
16
|
-
if (channel) client.emit(Events.WEBHOOKS_UPDATE, channel);
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
module.exports = WebhooksUpdate;
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const Action = require('./Action');
|
|
4
|
+
const { Events } = require('../../util/Constants');
|
|
5
|
+
|
|
6
|
+
class WebhooksUpdate extends Action {
|
|
7
|
+
handle(data) {
|
|
8
|
+
const client = this.client;
|
|
9
|
+
const channel = client.channels.cache.get(data.channel_id);
|
|
10
|
+
/**
|
|
11
|
+
* Emitted whenever a channel has its webhooks changed.
|
|
12
|
+
* @event Client#webhookUpdate
|
|
13
|
+
* @param {TextChannel|NewsChannel|VoiceChannel|StageChannel|ForumChannel|MediaChannel} channel
|
|
14
|
+
* The channel that had a webhook update
|
|
15
|
+
*/
|
|
16
|
+
if (channel) client.emit(Events.WEBHOOKS_UPDATE, channel);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
module.exports = WebhooksUpdate;
|