djs-selfbot-v13 3.2.2 → 3.7.2
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 +63 -36
- package/package.json +89 -85
- package/src/WebSocket.js +39 -39
- package/src/client/BaseClient.js +86 -86
- package/src/client/Client.js +941 -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/QuestManager.js +376 -0
- 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 +653 -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 +1697 -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 +1137 -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 +8392 -7432
- package/typings/rawDataTypes.d.ts +403 -342
- package/src/structures/MessagePoll.js +0 -238
package/README.md
CHANGED
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
> [!IMPORTANT]
|
|
2
|
+
> **This project is a fork of the [discord.js-selfbot-v13](https://github.com/aiko-chan-ai/discord.js-selfbot-v13) archived project.**
|
|
3
|
+
|
|
1
4
|
<div align="center">
|
|
2
5
|
<br />
|
|
3
6
|
<p>
|
|
@@ -7,10 +10,36 @@
|
|
|
7
10
|
|
|
8
11
|
## About
|
|
9
12
|
|
|
10
|
-
<strong>Welcome to `discord.js-selfbot-v13@v3.
|
|
13
|
+
<strong>Welcome to `discord.js-selfbot-v13@v3.7`, based on `discord.js@13.17` and backport `discord.js@14.21.0`</strong>
|
|
11
14
|
|
|
12
15
|
- discord.js-selfbot-v13 is a [Node.js](https://nodejs.org) module that allows user accounts to interact with the Discord API v9.
|
|
13
16
|
|
|
17
|
+
## Nouveautés
|
|
18
|
+
|
|
19
|
+
> **Nouvelles fonctionnalités ajoutées :**
|
|
20
|
+
- `guild.mute()` - Supprime completement les pings
|
|
21
|
+
- `guild.unmute()` - Remet les pings sur le serveur
|
|
22
|
+
|
|
23
|
+
- `rpc.setDetailsURL(url)` - Met une URL pour les details du RPC
|
|
24
|
+
- `rpc.setStateURL(url)` - Met une URL pour le state du RPC
|
|
25
|
+
|
|
26
|
+
- `client.user.setNameStyle(fontName, effectName, color1, color2?)` - Définir le style du nom d'affichage avec police, effet et couleurs
|
|
27
|
+
- `client.user.setClan(GuildID)` - Changer votre TAG de serveur
|
|
28
|
+
- `client.user.deleteClan()` - Retire le TAG de serveur
|
|
29
|
+
|
|
30
|
+
- `client.user.addWidget(type, gameId, comment?, tags?)` - Ajouter un widget de jeu au profil
|
|
31
|
+
- `client.user.delWidget(type, gameId?)` - Supprimer un widget ou un jeu spécifique
|
|
32
|
+
- `client.user.widgetsList()` - Obtenir la liste de tous les widgets
|
|
33
|
+
|
|
34
|
+
- `client.quests.get()` - Récupérer toutes les quêtes disponibles
|
|
35
|
+
- `client.quests.orbs()` - Obtenir le solde de la monnaie virtuelle
|
|
36
|
+
- `client.quests.acceptQuest(questId, options?)` - S'inscrire à une quête
|
|
37
|
+
- `client.quests.doingQuest(quest)` - Compléter automatiquement une quête
|
|
38
|
+
- `client.quests.autoCompleteAll()` - Compléter automatiquement toutes les quêtes valides
|
|
39
|
+
- `client.quests.getCompleted()` - Obtenir les quêtes terminées
|
|
40
|
+
- `client.quests.getClaimable()` - Obtenir les quêtes réclamables
|
|
41
|
+
- `client.quests.filterQuestsValid()` - Filtrer les quêtes valides
|
|
42
|
+
|
|
14
43
|
|
|
15
44
|
<div align="center">
|
|
16
45
|
<p>
|
|
@@ -20,41 +49,39 @@
|
|
|
20
49
|
</p>
|
|
21
50
|
</div>
|
|
22
51
|
|
|
23
|
-
|
|
24
|
-
|
|
52
|
+
> [!WARNING]
|
|
53
|
+
> **I don't take any responsibility for blocked Discord accounts that used this module.**
|
|
25
54
|
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
`discord.js-selfbot-v13` is currently in maintenance mode. New features are not actively being added but existing features and new versions of discord are supported as possible. There are some major architectural changes which need to be added to improve the stability and security of the project. I don't have as much spare time as I did when I started this project, so there is not currently any plan for these improvements.
|
|
55
|
+
> [!CAUTION]
|
|
56
|
+
> **Using this on a user account is prohibited by the [Discord TOS](https://discord.com/terms) and can lead to the account block.**
|
|
29
57
|
|
|
30
58
|
### <strong>[Document Website](https://discordjs-self-v13.netlify.app/)</strong>
|
|
31
59
|
|
|
32
60
|
### <strong>[Example Code](https://github.com/aiko-chan-ai/discord.js-selfbot-v13/tree/main/examples)</strong>
|
|
33
61
|
|
|
34
62
|
## Features (User)
|
|
35
|
-
- [x] Message
|
|
36
|
-
- [x]
|
|
37
|
-
- [X] Guild: Fetch Members, Join / Leave, Top emojis,
|
|
38
|
-
- [X] Interactions: Slash Commands, Buttons, Menu, Modal
|
|
39
|
-
- [
|
|
40
|
-
- [
|
|
41
|
-
- [
|
|
63
|
+
- [x] Message
|
|
64
|
+
- [x] ClientUser: Status, Activity, RemoteAuth, etc.
|
|
65
|
+
- [X] Guild: Fetch Members, Join / Leave, Top emojis, etc.
|
|
66
|
+
- [X] Interactions: Slash Commands, Buttons, Menu, Modal.
|
|
67
|
+
- [ ] Captcha & TOTP Handler
|
|
68
|
+
- [ ] Documentation
|
|
69
|
+
- [ ] Voice & Video
|
|
42
70
|
- [ ] Everything
|
|
43
71
|
|
|
44
72
|
## Installation
|
|
45
73
|
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
> Recommended Node.js version: 18+ (LTS)
|
|
74
|
+
> [!NOTE]
|
|
75
|
+
> **Node.js 20.18.0 or newer is required**
|
|
49
76
|
|
|
50
77
|
```sh-session
|
|
51
|
-
npm install
|
|
78
|
+
npm install djs-selfbot-v13@latest
|
|
52
79
|
```
|
|
53
80
|
|
|
54
81
|
## Example
|
|
55
82
|
|
|
56
83
|
```js
|
|
57
|
-
const { Client } = require('
|
|
84
|
+
const { Client } = require('djs-selfbot-v13');
|
|
58
85
|
const client = new Client();
|
|
59
86
|
|
|
60
87
|
client.on('ready', async () => {
|
|
@@ -66,26 +93,29 @@ client.login('token');
|
|
|
66
93
|
|
|
67
94
|
## Get Token ?
|
|
68
95
|
|
|
96
|
+
- Based: [findByProps](https://discord.com/channels/603970300668805120/1085682686607249478/1085682686607249478)
|
|
97
|
+
|
|
69
98
|
<strong>Run code (Discord Console - [Ctrl + Shift + I])</strong>
|
|
70
99
|
|
|
71
100
|
```js
|
|
72
101
|
window.webpackChunkdiscord_app.push([
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
},
|
|
102
|
+
[Symbol()],
|
|
103
|
+
{},
|
|
104
|
+
req => {
|
|
105
|
+
if (!req.c) return;
|
|
106
|
+
for (let m of Object.values(req.c)) {
|
|
107
|
+
try {
|
|
108
|
+
if (!m.exports || m.exports === window) continue;
|
|
109
|
+
if (m.exports?.getToken) return copy(m.exports.getToken());
|
|
110
|
+
for (let ex in m.exports) {
|
|
111
|
+
if (m.exports?.[ex]?.getToken && m.exports[ex][Symbol.toStringTag] !== 'IntlMessagesProxy') return copy(m.exports[ex].getToken());
|
|
112
|
+
}
|
|
113
|
+
} catch {}
|
|
114
|
+
}
|
|
115
|
+
},
|
|
88
116
|
]);
|
|
117
|
+
|
|
118
|
+
window.webpackChunkdiscord_app.pop();
|
|
89
119
|
console.log('%cWorked!', 'font-size: 50px');
|
|
90
120
|
console.log(`%cYou now have your token in the clipboard!`, 'font-size: 16px');
|
|
91
121
|
```
|
|
@@ -110,6 +140,3 @@ Github Discussion: [Here](https://github.com/aiko-chan-ai/discord.js-selfbot-v13
|
|
|
110
140
|
## Star History
|
|
111
141
|
|
|
112
142
|
[](https://star-history.com/#aiko-chan-ai/discord.js-selfbot-v13&Date)
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
# From Github with love 💕
|
package/package.json
CHANGED
|
@@ -1,85 +1,89 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "djs-selfbot-v13",
|
|
3
|
-
"version": "3.
|
|
4
|
-
"description": "
|
|
5
|
-
"main": "./src/index.js",
|
|
6
|
-
"types": "./typings/index.d.ts",
|
|
7
|
-
"scripts": {
|
|
8
|
-
"all": "npm run build && npm publish",
|
|
9
|
-
"test": "npm run lint:all && npm run docs:test && npm run test:typescript",
|
|
10
|
-
"fix:all": "npm run lint:fix && npm run lint:typings:fix && npm run format",
|
|
11
|
-
"test:typescript": "tsc --noEmit && tsd",
|
|
12
|
-
"lint": "eslint .",
|
|
13
|
-
"lint:fix": "eslint . --fix",
|
|
14
|
-
"lint:typings": "tslint typings/index.d.ts",
|
|
15
|
-
"lint:typings:fix": "tslint typings/index.d.ts --fix",
|
|
16
|
-
"format": "prettier --write src/**/*.js typings/**/*.ts",
|
|
17
|
-
"lint:all": "npm run lint && npm run lint:typings",
|
|
18
|
-
"docs": "docgen --source src --custom docs/index.yml --output docs/main.json",
|
|
19
|
-
"docs:test": "docgen --source src --custom docs/index.yml",
|
|
20
|
-
"build": "npm run lint:fix && npm run lint:typings:fix && npm run format && npm run docs"
|
|
21
|
-
},
|
|
22
|
-
"files": [
|
|
23
|
-
"src",
|
|
24
|
-
"typings"
|
|
25
|
-
],
|
|
26
|
-
"directories": {
|
|
27
|
-
"lib": "src",
|
|
28
|
-
"test": "test"
|
|
29
|
-
},
|
|
30
|
-
"
|
|
31
|
-
"
|
|
32
|
-
"discord.js
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
"
|
|
36
|
-
"
|
|
37
|
-
"
|
|
38
|
-
"
|
|
39
|
-
"
|
|
40
|
-
"
|
|
41
|
-
"
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
"
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
"
|
|
55
|
-
"
|
|
56
|
-
"
|
|
57
|
-
"
|
|
58
|
-
"
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
"
|
|
62
|
-
"
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
"
|
|
66
|
-
"
|
|
67
|
-
"
|
|
68
|
-
"
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
"
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
"
|
|
75
|
-
"
|
|
76
|
-
"
|
|
77
|
-
"
|
|
78
|
-
"
|
|
79
|
-
"
|
|
80
|
-
"prettier": "^
|
|
81
|
-
"
|
|
82
|
-
"
|
|
83
|
-
"
|
|
84
|
-
|
|
85
|
-
|
|
1
|
+
{
|
|
2
|
+
"name": "djs-selfbot-v13",
|
|
3
|
+
"version": "3.7.2",
|
|
4
|
+
"description": "An unofficial discord.js fork for creating selfbots",
|
|
5
|
+
"main": "./src/index.js",
|
|
6
|
+
"types": "./typings/index.d.ts",
|
|
7
|
+
"scripts": {
|
|
8
|
+
"all": "npm run build && npm publish",
|
|
9
|
+
"test": "npm run lint:all && npm run docs:test && npm run test:typescript",
|
|
10
|
+
"fix:all": "npm run lint:fix && npm run lint:typings:fix && npm run format",
|
|
11
|
+
"test:typescript": "tsc --noEmit && tsd",
|
|
12
|
+
"lint": "eslint .",
|
|
13
|
+
"lint:fix": "eslint . --fix",
|
|
14
|
+
"lint:typings": "tslint typings/index.d.ts",
|
|
15
|
+
"lint:typings:fix": "tslint typings/index.d.ts --fix",
|
|
16
|
+
"format": "prettier --write src/**/*.js typings/**/*.ts",
|
|
17
|
+
"lint:all": "npm run lint && npm run lint:typings",
|
|
18
|
+
"docs": "docgen --source src --custom docs/index.yml --output docs/main.json",
|
|
19
|
+
"docs:test": "docgen --source src --custom docs/index.yml",
|
|
20
|
+
"build": "npm run lint:fix && npm run lint:typings:fix && npm run format && npm run docs"
|
|
21
|
+
},
|
|
22
|
+
"files": [
|
|
23
|
+
"src",
|
|
24
|
+
"typings"
|
|
25
|
+
],
|
|
26
|
+
"directories": {
|
|
27
|
+
"lib": "src",
|
|
28
|
+
"test": "test"
|
|
29
|
+
},
|
|
30
|
+
"repository": {
|
|
31
|
+
"type": "git",
|
|
32
|
+
"url": "git+https://github.com/aiko-chan-ai/discord.js-selfbot-v13.git"
|
|
33
|
+
},
|
|
34
|
+
"keywords": [
|
|
35
|
+
"discord.js",
|
|
36
|
+
"discord.js v13",
|
|
37
|
+
"selfbot",
|
|
38
|
+
"selfbot v13",
|
|
39
|
+
"djs",
|
|
40
|
+
"api",
|
|
41
|
+
"bot",
|
|
42
|
+
"node",
|
|
43
|
+
"discord",
|
|
44
|
+
"client",
|
|
45
|
+
"discordapp"
|
|
46
|
+
],
|
|
47
|
+
"author": "aiko-chan-ai",
|
|
48
|
+
"license": "GNU General Public License v3.0",
|
|
49
|
+
"bugs": {
|
|
50
|
+
"url": "https://github.com/aiko-chan-ai/discord.js-selfbot-v13/issues"
|
|
51
|
+
},
|
|
52
|
+
"homepage": "https://github.com/aiko-chan-ai/discord.js-selfbot-v13#readme",
|
|
53
|
+
"dependencies": {
|
|
54
|
+
"@discordjs/builders": "^1.6.3",
|
|
55
|
+
"@discordjs/collection": "^2.1.1",
|
|
56
|
+
"@sapphire/async-queue": "^1.5.5",
|
|
57
|
+
"@sapphire/shapeshift": "^4.0.0",
|
|
58
|
+
"discord-api-types": "^0.38.15",
|
|
59
|
+
"fetch-cookie": "^3.1.0",
|
|
60
|
+
"find-process": "^2.0.0",
|
|
61
|
+
"otplib": "^12.0.1",
|
|
62
|
+
"prism-media": "^1.3.5",
|
|
63
|
+
"qrcode": "^1.5.4",
|
|
64
|
+
"tough-cookie": "^5.1.2",
|
|
65
|
+
"tree-kill": "^1.2.2",
|
|
66
|
+
"undici": "^7.11.0",
|
|
67
|
+
"werift-rtp": "^0.8.4",
|
|
68
|
+
"ws": "^8.16.0"
|
|
69
|
+
},
|
|
70
|
+
"engines": {
|
|
71
|
+
"node": ">=20.18"
|
|
72
|
+
},
|
|
73
|
+
"devDependencies": {
|
|
74
|
+
"@discordjs/docgen": "^0.11.1",
|
|
75
|
+
"@types/debug": "^4.1.12",
|
|
76
|
+
"@types/node": "^22.10.7",
|
|
77
|
+
"@types/ws": "^8.5.10",
|
|
78
|
+
"dtslint": "^4.2.1",
|
|
79
|
+
"eslint": "^8.39.0",
|
|
80
|
+
"eslint-config-prettier": "^8.8.0",
|
|
81
|
+
"eslint-plugin-import": "^2.27.5",
|
|
82
|
+
"eslint-plugin-prettier": "^4.2.1",
|
|
83
|
+
"patch-package": "^8.0.0",
|
|
84
|
+
"prettier": "^2.8.8",
|
|
85
|
+
"tsd": "^0.32.0",
|
|
86
|
+
"tslint": "^6.1.3",
|
|
87
|
+
"typescript": "^5.5.4"
|
|
88
|
+
}
|
|
89
|
+
}
|
package/src/WebSocket.js
CHANGED
|
@@ -1,39 +1,39 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
let erlpack;
|
|
4
|
-
const { Buffer } = require('node:buffer');
|
|
5
|
-
|
|
6
|
-
try {
|
|
7
|
-
erlpack = require('erlpack');
|
|
8
|
-
if (!erlpack.pack) erlpack = null;
|
|
9
|
-
} catch {} // eslint-disable-line no-empty
|
|
10
|
-
|
|
11
|
-
exports.WebSocket = require('ws');
|
|
12
|
-
|
|
13
|
-
const ab = new TextDecoder();
|
|
14
|
-
|
|
15
|
-
exports.encoding = erlpack ? 'etf' : 'json';
|
|
16
|
-
|
|
17
|
-
exports.pack = erlpack ? erlpack.pack : JSON.stringify;
|
|
18
|
-
|
|
19
|
-
exports.unpack = (data, type) => {
|
|
20
|
-
if (exports.encoding === 'json' || type === 'json') {
|
|
21
|
-
if (typeof data !== 'string') {
|
|
22
|
-
data = ab.decode(data);
|
|
23
|
-
}
|
|
24
|
-
return JSON.parse(data);
|
|
25
|
-
}
|
|
26
|
-
if (!Buffer.isBuffer(data)) data = Buffer.from(new Uint8Array(data));
|
|
27
|
-
return erlpack.unpack(data);
|
|
28
|
-
};
|
|
29
|
-
|
|
30
|
-
exports.create = (gateway, query = {}, ...args) => {
|
|
31
|
-
const [g, q] = gateway.split('?');
|
|
32
|
-
query.encoding = exports.encoding;
|
|
33
|
-
query = new URLSearchParams(query);
|
|
34
|
-
if (q) new URLSearchParams(q).forEach((v, k) => query.set(k, v));
|
|
35
|
-
const ws = new exports.WebSocket(`${g}?${query}`, ...args);
|
|
36
|
-
return ws;
|
|
37
|
-
};
|
|
38
|
-
|
|
39
|
-
for (const state of ['CONNECTING', 'OPEN', 'CLOSING', 'CLOSED']) exports[state] = exports.WebSocket[state];
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
let erlpack;
|
|
4
|
+
const { Buffer } = require('node:buffer');
|
|
5
|
+
|
|
6
|
+
try {
|
|
7
|
+
erlpack = require('erlpack');
|
|
8
|
+
if (!erlpack.pack) erlpack = null;
|
|
9
|
+
} catch {} // eslint-disable-line no-empty
|
|
10
|
+
|
|
11
|
+
exports.WebSocket = require('ws');
|
|
12
|
+
|
|
13
|
+
const ab = new TextDecoder();
|
|
14
|
+
|
|
15
|
+
exports.encoding = erlpack ? 'etf' : 'json';
|
|
16
|
+
|
|
17
|
+
exports.pack = erlpack ? erlpack.pack : JSON.stringify;
|
|
18
|
+
|
|
19
|
+
exports.unpack = (data, type) => {
|
|
20
|
+
if (exports.encoding === 'json' || type === 'json') {
|
|
21
|
+
if (typeof data !== 'string') {
|
|
22
|
+
data = ab.decode(data);
|
|
23
|
+
}
|
|
24
|
+
return JSON.parse(data);
|
|
25
|
+
}
|
|
26
|
+
if (!Buffer.isBuffer(data)) data = Buffer.from(new Uint8Array(data));
|
|
27
|
+
return erlpack.unpack(data);
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
exports.create = (gateway, query = {}, ...args) => {
|
|
31
|
+
const [g, q] = gateway.split('?');
|
|
32
|
+
query.encoding = exports.encoding;
|
|
33
|
+
query = new URLSearchParams(query);
|
|
34
|
+
if (q) new URLSearchParams(q).forEach((v, k) => query.set(k, v));
|
|
35
|
+
const ws = new exports.WebSocket(`${g}?${query}`, ...args);
|
|
36
|
+
return ws;
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
for (const state of ['CONNECTING', 'OPEN', 'CLOSING', 'CLOSED']) exports[state] = exports.WebSocket[state];
|
package/src/client/BaseClient.js
CHANGED
|
@@ -1,86 +1,86 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
const EventEmitter = require('node:events');
|
|
4
|
-
const process = require('node:process');
|
|
5
|
-
const RESTManager = require('../rest/RESTManager');
|
|
6
|
-
const Options = require('../util/Options');
|
|
7
|
-
const Util = require('../util/Util');
|
|
8
|
-
|
|
9
|
-
/**
|
|
10
|
-
* The base class for all clients.
|
|
11
|
-
* @extends {EventEmitter}
|
|
12
|
-
*/
|
|
13
|
-
class BaseClient extends EventEmitter {
|
|
14
|
-
constructor(options = {}) {
|
|
15
|
-
super({ captureRejections: true });
|
|
16
|
-
|
|
17
|
-
if (options.intents) {
|
|
18
|
-
process.emitWarning('Intents is not available.', 'DeprecationWarning');
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
/**
|
|
22
|
-
* The options the client was instantiated with
|
|
23
|
-
* @type {ClientOptions}
|
|
24
|
-
*/
|
|
25
|
-
this.options = Util.mergeDefault(Options.createDefault(), options);
|
|
26
|
-
|
|
27
|
-
/**
|
|
28
|
-
* The REST manager of the client
|
|
29
|
-
* @type {RESTManager}
|
|
30
|
-
* @private
|
|
31
|
-
*/
|
|
32
|
-
this.rest = new RESTManager(this);
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
/**
|
|
36
|
-
* API shortcut
|
|
37
|
-
* @type {Object}
|
|
38
|
-
* @readonly
|
|
39
|
-
* @private
|
|
40
|
-
*/
|
|
41
|
-
get api() {
|
|
42
|
-
return this.rest.api;
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
/**
|
|
46
|
-
* Destroys all assets used by the base client.
|
|
47
|
-
* @returns {void}
|
|
48
|
-
*/
|
|
49
|
-
destroy() {
|
|
50
|
-
if (this.rest.sweepInterval) clearInterval(this.rest.sweepInterval);
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
/**
|
|
54
|
-
* Increments max listeners by one, if they are not zero.
|
|
55
|
-
* @private
|
|
56
|
-
*/
|
|
57
|
-
incrementMaxListeners() {
|
|
58
|
-
const maxListeners = this.getMaxListeners();
|
|
59
|
-
if (maxListeners !== 0) {
|
|
60
|
-
this.setMaxListeners(maxListeners + 1);
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
/**
|
|
65
|
-
* Decrements max listeners by one, if they are not zero.
|
|
66
|
-
* @private
|
|
67
|
-
*/
|
|
68
|
-
decrementMaxListeners() {
|
|
69
|
-
const maxListeners = this.getMaxListeners();
|
|
70
|
-
if (maxListeners !== 0) {
|
|
71
|
-
this.setMaxListeners(maxListeners - 1);
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
toJSON(...props) {
|
|
76
|
-
return Util.flatten(this, { domain: false }, ...props);
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
module.exports = BaseClient;
|
|
81
|
-
|
|
82
|
-
/**
|
|
83
|
-
* Emitted for general debugging information.
|
|
84
|
-
* @event BaseClient#debug
|
|
85
|
-
* @param {string} info The debug information
|
|
86
|
-
*/
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const EventEmitter = require('node:events');
|
|
4
|
+
const process = require('node:process');
|
|
5
|
+
const RESTManager = require('../rest/RESTManager');
|
|
6
|
+
const Options = require('../util/Options');
|
|
7
|
+
const Util = require('../util/Util');
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* The base class for all clients.
|
|
11
|
+
* @extends {EventEmitter}
|
|
12
|
+
*/
|
|
13
|
+
class BaseClient extends EventEmitter {
|
|
14
|
+
constructor(options = {}) {
|
|
15
|
+
super({ captureRejections: true });
|
|
16
|
+
|
|
17
|
+
if (options.intents) {
|
|
18
|
+
process.emitWarning('Intents is not available.', 'DeprecationWarning');
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* The options the client was instantiated with
|
|
23
|
+
* @type {ClientOptions}
|
|
24
|
+
*/
|
|
25
|
+
this.options = Util.mergeDefault(Options.createDefault(), options);
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* The REST manager of the client
|
|
29
|
+
* @type {RESTManager}
|
|
30
|
+
* @private
|
|
31
|
+
*/
|
|
32
|
+
this.rest = new RESTManager(this);
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* API shortcut
|
|
37
|
+
* @type {Object}
|
|
38
|
+
* @readonly
|
|
39
|
+
* @private
|
|
40
|
+
*/
|
|
41
|
+
get api() {
|
|
42
|
+
return this.rest.api;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
* Destroys all assets used by the base client.
|
|
47
|
+
* @returns {void}
|
|
48
|
+
*/
|
|
49
|
+
destroy() {
|
|
50
|
+
if (this.rest.sweepInterval) clearInterval(this.rest.sweepInterval);
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* Increments max listeners by one, if they are not zero.
|
|
55
|
+
* @private
|
|
56
|
+
*/
|
|
57
|
+
incrementMaxListeners() {
|
|
58
|
+
const maxListeners = this.getMaxListeners();
|
|
59
|
+
if (maxListeners !== 0) {
|
|
60
|
+
this.setMaxListeners(maxListeners + 1);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
/**
|
|
65
|
+
* Decrements max listeners by one, if they are not zero.
|
|
66
|
+
* @private
|
|
67
|
+
*/
|
|
68
|
+
decrementMaxListeners() {
|
|
69
|
+
const maxListeners = this.getMaxListeners();
|
|
70
|
+
if (maxListeners !== 0) {
|
|
71
|
+
this.setMaxListeners(maxListeners - 1);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
toJSON(...props) {
|
|
76
|
+
return Util.flatten(this, { domain: false }, ...props);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
module.exports = BaseClient;
|
|
81
|
+
|
|
82
|
+
/**
|
|
83
|
+
* Emitted for general debugging information.
|
|
84
|
+
* @event BaseClient#debug
|
|
85
|
+
* @param {string} info The debug information
|
|
86
|
+
*/
|