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.
Files changed (364) hide show
  1. package/README.md +63 -36
  2. package/package.json +89 -85
  3. package/src/WebSocket.js +39 -39
  4. package/src/client/BaseClient.js +86 -86
  5. package/src/client/Client.js +941 -836
  6. package/src/client/WebhookClient.js +61 -61
  7. package/src/client/actions/Action.js +116 -120
  8. package/src/client/actions/ActionsManager.js +80 -78
  9. package/src/client/actions/ApplicationCommandPermissionsUpdate.js +34 -34
  10. package/src/client/actions/AutoModerationActionExecution.js +27 -27
  11. package/src/client/actions/AutoModerationRuleCreate.js +28 -28
  12. package/src/client/actions/AutoModerationRuleDelete.js +32 -32
  13. package/src/client/actions/AutoModerationRuleUpdate.js +30 -30
  14. package/src/client/actions/ChannelCreate.js +23 -23
  15. package/src/client/actions/ChannelDelete.js +39 -39
  16. package/src/client/actions/ChannelUpdate.js +43 -43
  17. package/src/client/actions/GuildAuditLogEntryCreate.js +29 -29
  18. package/src/client/actions/GuildBanAdd.js +20 -20
  19. package/src/client/actions/GuildBanRemove.js +25 -25
  20. package/src/client/actions/GuildChannelsPositionUpdate.js +21 -21
  21. package/src/client/actions/GuildDelete.js +65 -65
  22. package/src/client/actions/GuildEmojiCreate.js +20 -20
  23. package/src/client/actions/GuildEmojiDelete.js +21 -21
  24. package/src/client/actions/GuildEmojiUpdate.js +20 -20
  25. package/src/client/actions/GuildEmojisUpdate.js +34 -34
  26. package/src/client/actions/GuildIntegrationsUpdate.js +19 -19
  27. package/src/client/actions/GuildMemberRemove.js +33 -32
  28. package/src/client/actions/GuildMemberUpdate.js +44 -43
  29. package/src/client/actions/GuildRoleCreate.js +25 -25
  30. package/src/client/actions/GuildRoleDelete.js +31 -31
  31. package/src/client/actions/GuildRoleUpdate.js +39 -39
  32. package/src/client/actions/GuildRolesPositionUpdate.js +21 -21
  33. package/src/client/actions/GuildScheduledEventCreate.js +27 -27
  34. package/src/client/actions/GuildScheduledEventDelete.js +31 -31
  35. package/src/client/actions/GuildScheduledEventUpdate.js +30 -30
  36. package/src/client/actions/GuildScheduledEventUserAdd.js +32 -32
  37. package/src/client/actions/GuildScheduledEventUserRemove.js +32 -32
  38. package/src/client/actions/GuildStickerCreate.js +20 -20
  39. package/src/client/actions/GuildStickerDelete.js +21 -21
  40. package/src/client/actions/GuildStickerUpdate.js +20 -20
  41. package/src/client/actions/GuildStickersUpdate.js +34 -34
  42. package/src/client/actions/GuildUpdate.js +33 -33
  43. package/src/client/actions/InviteCreate.js +28 -28
  44. package/src/client/actions/InviteDelete.js +30 -30
  45. package/src/client/actions/MessageCreate.js +50 -46
  46. package/src/client/actions/MessageDelete.js +32 -32
  47. package/src/client/actions/MessageDeleteBulk.js +46 -46
  48. package/src/client/actions/MessagePollVoteAdd.js +33 -0
  49. package/src/client/actions/MessagePollVoteRemove.js +33 -0
  50. package/src/client/actions/MessageReactionAdd.js +68 -56
  51. package/src/client/actions/MessageReactionRemove.js +50 -45
  52. package/src/client/actions/MessageReactionRemoveAll.js +33 -33
  53. package/src/client/actions/MessageReactionRemoveEmoji.js +28 -28
  54. package/src/client/actions/MessageUpdate.js +26 -26
  55. package/src/client/actions/PresenceUpdate.js +50 -46
  56. package/src/client/actions/StageInstanceCreate.js +28 -28
  57. package/src/client/actions/StageInstanceDelete.js +33 -33
  58. package/src/client/actions/StageInstanceUpdate.js +30 -30
  59. package/src/client/actions/ThreadCreate.js +24 -24
  60. package/src/client/actions/ThreadDelete.js +32 -32
  61. package/src/client/actions/ThreadListSync.js +59 -59
  62. package/src/client/actions/ThreadMemberUpdate.js +30 -30
  63. package/src/client/actions/ThreadMembersUpdate.js +34 -34
  64. package/src/client/actions/TypingStart.js +29 -29
  65. package/src/client/actions/UserUpdate.js +35 -35
  66. package/src/client/actions/VoiceStateUpdate.js +50 -57
  67. package/src/client/actions/WebhooksUpdate.js +20 -20
  68. package/src/client/voice/ClientVoiceManager.js +151 -51
  69. package/src/client/voice/VoiceConnection.js +1249 -0
  70. package/src/client/voice/dispatcher/AnnexBDispatcher.js +120 -0
  71. package/src/client/voice/dispatcher/AudioDispatcher.js +145 -0
  72. package/src/client/voice/dispatcher/BaseDispatcher.js +459 -0
  73. package/src/client/voice/dispatcher/VPxDispatcher.js +54 -0
  74. package/src/client/voice/dispatcher/VideoDispatcher.js +68 -0
  75. package/src/client/voice/networking/VoiceUDPClient.js +173 -0
  76. package/src/client/voice/networking/VoiceWebSocket.js +286 -0
  77. package/src/client/voice/player/MediaPlayer.js +321 -0
  78. package/src/client/voice/player/processing/AnnexBNalSplitter.js +244 -0
  79. package/src/client/voice/player/processing/IvfSplitter.js +106 -0
  80. package/src/client/voice/player/processing/PCMInsertSilence.js +37 -0
  81. package/src/client/voice/receiver/PacketHandler.js +260 -0
  82. package/src/client/voice/receiver/Receiver.js +96 -0
  83. package/src/client/voice/receiver/Recorder.js +173 -0
  84. package/src/client/voice/util/Function.js +116 -0
  85. package/src/client/voice/util/PlayInterface.js +122 -0
  86. package/src/client/voice/util/Secretbox.js +64 -0
  87. package/src/client/voice/util/Silence.js +16 -0
  88. package/src/client/voice/util/Socket.js +62 -0
  89. package/src/client/voice/util/VolumeInterface.js +104 -0
  90. package/src/client/websocket/WebSocketManager.js +392 -392
  91. package/src/client/websocket/WebSocketShard.js +907 -906
  92. package/src/client/websocket/handlers/APPLICATION_COMMAND_CREATE.js +18 -18
  93. package/src/client/websocket/handlers/APPLICATION_COMMAND_DELETE.js +20 -20
  94. package/src/client/websocket/handlers/APPLICATION_COMMAND_PERMISSIONS_UPDATE.js +5 -5
  95. package/src/client/websocket/handlers/APPLICATION_COMMAND_UPDATE.js +20 -20
  96. package/src/client/websocket/handlers/AUTO_MODERATION_ACTION_EXECUTION.js +5 -5
  97. package/src/client/websocket/handlers/AUTO_MODERATION_RULE_CREATE.js +5 -5
  98. package/src/client/websocket/handlers/AUTO_MODERATION_RULE_DELETE.js +5 -5
  99. package/src/client/websocket/handlers/AUTO_MODERATION_RULE_UPDATE.js +5 -5
  100. package/src/client/websocket/handlers/CALL_CREATE.js +14 -14
  101. package/src/client/websocket/handlers/CALL_DELETE.js +11 -11
  102. package/src/client/websocket/handlers/CALL_UPDATE.js +11 -11
  103. package/src/client/websocket/handlers/CHANNEL_CREATE.js +5 -5
  104. package/src/client/websocket/handlers/CHANNEL_DELETE.js +5 -5
  105. package/src/client/websocket/handlers/CHANNEL_PINS_UPDATE.js +22 -22
  106. package/src/client/websocket/handlers/CHANNEL_RECIPIENT_ADD.js +19 -19
  107. package/src/client/websocket/handlers/CHANNEL_RECIPIENT_REMOVE.js +16 -16
  108. package/src/client/websocket/handlers/CHANNEL_UPDATE.js +16 -16
  109. package/src/client/websocket/handlers/GUILD_AUDIT_LOG_ENTRY_CREATE.js +5 -5
  110. package/src/client/websocket/handlers/GUILD_BAN_ADD.js +5 -5
  111. package/src/client/websocket/handlers/GUILD_BAN_REMOVE.js +5 -5
  112. package/src/client/websocket/handlers/GUILD_CREATE.js +52 -52
  113. package/src/client/websocket/handlers/GUILD_DELETE.js +5 -5
  114. package/src/client/websocket/handlers/GUILD_EMOJIS_UPDATE.js +5 -5
  115. package/src/client/websocket/handlers/GUILD_INTEGRATIONS_UPDATE.js +5 -5
  116. package/src/client/websocket/handlers/GUILD_MEMBERS_CHUNK.js +39 -39
  117. package/src/client/websocket/handlers/GUILD_MEMBER_ADD.js +20 -19
  118. package/src/client/websocket/handlers/GUILD_MEMBER_REMOVE.js +5 -5
  119. package/src/client/websocket/handlers/GUILD_MEMBER_UPDATE.js +5 -5
  120. package/src/client/websocket/handlers/GUILD_ROLE_CREATE.js +5 -5
  121. package/src/client/websocket/handlers/GUILD_ROLE_DELETE.js +5 -5
  122. package/src/client/websocket/handlers/GUILD_ROLE_UPDATE.js +5 -5
  123. package/src/client/websocket/handlers/GUILD_SCHEDULED_EVENT_CREATE.js +5 -5
  124. package/src/client/websocket/handlers/GUILD_SCHEDULED_EVENT_DELETE.js +5 -5
  125. package/src/client/websocket/handlers/GUILD_SCHEDULED_EVENT_UPDATE.js +5 -5
  126. package/src/client/websocket/handlers/GUILD_SCHEDULED_EVENT_USER_ADD.js +5 -5
  127. package/src/client/websocket/handlers/GUILD_SCHEDULED_EVENT_USER_REMOVE.js +5 -5
  128. package/src/client/websocket/handlers/GUILD_STICKERS_UPDATE.js +5 -5
  129. package/src/client/websocket/handlers/GUILD_UPDATE.js +5 -5
  130. package/src/client/websocket/handlers/INTERACTION_MODAL_CREATE.js +12 -12
  131. package/src/client/websocket/handlers/INVITE_CREATE.js +5 -5
  132. package/src/client/websocket/handlers/INVITE_DELETE.js +5 -5
  133. package/src/client/websocket/handlers/MESSAGE_CREATE.js +5 -5
  134. package/src/client/websocket/handlers/MESSAGE_DELETE.js +5 -5
  135. package/src/client/websocket/handlers/MESSAGE_DELETE_BULK.js +5 -5
  136. package/src/client/websocket/handlers/MESSAGE_POLL_VOTE_ADD.js +5 -22
  137. package/src/client/websocket/handlers/MESSAGE_POLL_VOTE_REMOVE.js +5 -12
  138. package/src/client/websocket/handlers/MESSAGE_REACTION_ADD.js +5 -5
  139. package/src/client/websocket/handlers/MESSAGE_REACTION_REMOVE.js +5 -5
  140. package/src/client/websocket/handlers/MESSAGE_REACTION_REMOVE_ALL.js +5 -5
  141. package/src/client/websocket/handlers/MESSAGE_REACTION_REMOVE_EMOJI.js +5 -5
  142. package/src/client/websocket/handlers/MESSAGE_UPDATE.js +16 -16
  143. package/src/client/websocket/handlers/PRESENCE_UPDATE.js +5 -5
  144. package/src/client/websocket/handlers/READY.js +121 -120
  145. package/src/client/websocket/handlers/RELATIONSHIP_ADD.js +19 -19
  146. package/src/client/websocket/handlers/RELATIONSHIP_REMOVE.js +17 -17
  147. package/src/client/websocket/handlers/RELATIONSHIP_UPDATE.js +41 -41
  148. package/src/client/websocket/handlers/RESUMED.js +14 -14
  149. package/src/client/websocket/handlers/STAGE_INSTANCE_CREATE.js +5 -5
  150. package/src/client/websocket/handlers/STAGE_INSTANCE_DELETE.js +5 -5
  151. package/src/client/websocket/handlers/STAGE_INSTANCE_UPDATE.js +5 -5
  152. package/src/client/websocket/handlers/THREAD_CREATE.js +5 -5
  153. package/src/client/websocket/handlers/THREAD_DELETE.js +5 -5
  154. package/src/client/websocket/handlers/THREAD_LIST_SYNC.js +5 -5
  155. package/src/client/websocket/handlers/THREAD_MEMBERS_UPDATE.js +5 -5
  156. package/src/client/websocket/handlers/THREAD_MEMBER_UPDATE.js +5 -5
  157. package/src/client/websocket/handlers/THREAD_UPDATE.js +16 -16
  158. package/src/client/websocket/handlers/TYPING_START.js +5 -5
  159. package/src/client/websocket/handlers/USER_GUILD_SETTINGS_UPDATE.js +6 -6
  160. package/src/client/websocket/handlers/USER_NOTE_UPDATE.js +5 -5
  161. package/src/client/websocket/handlers/USER_REQUIRED_ACTION_UPDATE.js +78 -78
  162. package/src/client/websocket/handlers/USER_SETTINGS_UPDATE.js +5 -5
  163. package/src/client/websocket/handlers/USER_UPDATE.js +5 -5
  164. package/src/client/websocket/handlers/VOICE_CHANNEL_EFFECT_SEND.js +16 -0
  165. package/src/client/websocket/handlers/VOICE_CHANNEL_STATUS_UPDATE.js +12 -12
  166. package/src/client/websocket/handlers/VOICE_SERVER_UPDATE.js +6 -6
  167. package/src/client/websocket/handlers/VOICE_STATE_UPDATE.js +5 -5
  168. package/src/client/websocket/handlers/WEBHOOKS_UPDATE.js +5 -5
  169. package/src/client/websocket/handlers/index.js +84 -83
  170. package/src/errors/DJSError.js +61 -61
  171. package/src/errors/Messages.js +217 -183
  172. package/src/errors/index.js +4 -4
  173. package/src/index.js +172 -159
  174. package/src/managers/ApplicationCommandManager.js +264 -264
  175. package/src/managers/ApplicationCommandPermissionsManager.js +417 -417
  176. package/src/managers/AutoModerationRuleManager.js +296 -296
  177. package/src/managers/BaseGuildEmojiManager.js +80 -80
  178. package/src/managers/BaseManager.js +19 -19
  179. package/src/managers/BillingManager.js +66 -66
  180. package/src/managers/CachedManager.js +71 -71
  181. package/src/managers/ChannelManager.js +148 -138
  182. package/src/managers/ClientUserSettingManager.js +372 -372
  183. package/src/managers/DataManager.js +61 -61
  184. package/src/managers/GuildBanManager.js +250 -250
  185. package/src/managers/GuildChannelManager.js +488 -488
  186. package/src/managers/GuildEmojiManager.js +171 -171
  187. package/src/managers/GuildEmojiRoleManager.js +118 -118
  188. package/src/managers/GuildForumThreadManager.js +108 -108
  189. package/src/managers/GuildInviteManager.js +213 -213
  190. package/src/managers/GuildManager.js +338 -304
  191. package/src/managers/GuildMemberManager.js +599 -597
  192. package/src/managers/GuildMemberRoleManager.js +195 -191
  193. package/src/managers/GuildScheduledEventManager.js +314 -296
  194. package/src/managers/GuildSettingManager.js +155 -155
  195. package/src/managers/GuildStickerManager.js +179 -179
  196. package/src/managers/GuildTextThreadManager.js +98 -98
  197. package/src/managers/InteractionManager.js +39 -39
  198. package/src/managers/MessageManager.js +423 -391
  199. package/src/managers/PermissionOverwriteManager.js +164 -166
  200. package/src/managers/PresenceManager.js +71 -58
  201. package/src/managers/QuestManager.js +376 -0
  202. package/src/managers/ReactionManager.js +67 -67
  203. package/src/managers/ReactionUserManager.js +73 -71
  204. package/src/managers/RelationshipManager.js +278 -265
  205. package/src/managers/RoleManager.js +448 -352
  206. package/src/managers/SessionManager.js +66 -0
  207. package/src/managers/StageInstanceManager.js +162 -162
  208. package/src/managers/ThreadManager.js +175 -174
  209. package/src/managers/ThreadMemberManager.js +186 -186
  210. package/src/managers/UserManager.js +136 -146
  211. package/src/managers/UserNoteManager.js +53 -53
  212. package/src/managers/VoiceStateManager.js +59 -37
  213. package/src/rest/APIRequest.js +154 -160
  214. package/src/rest/APIRouter.js +53 -53
  215. package/src/rest/DiscordAPIError.js +119 -104
  216. package/src/rest/HTTPError.js +62 -62
  217. package/src/rest/RESTManager.js +67 -62
  218. package/src/rest/RateLimitError.js +55 -55
  219. package/src/rest/RequestHandler.js +466 -444
  220. package/src/sharding/Shard.js +444 -443
  221. package/src/sharding/ShardClientUtil.js +279 -275
  222. package/src/sharding/ShardingManager.js +319 -318
  223. package/src/structures/AnonymousGuild.js +98 -98
  224. package/src/structures/ApplicationCommand.js +593 -593
  225. package/src/structures/ApplicationRoleConnectionMetadata.js +48 -48
  226. package/src/structures/AutoModerationActionExecution.js +89 -89
  227. package/src/structures/AutoModerationRule.js +294 -294
  228. package/src/structures/AutocompleteInteraction.js +107 -107
  229. package/src/structures/Base.js +43 -43
  230. package/src/structures/BaseCommandInteraction.js +211 -211
  231. package/src/structures/BaseGuild.js +116 -116
  232. package/src/structures/BaseGuildEmoji.js +56 -56
  233. package/src/structures/BaseGuildTextChannel.js +191 -191
  234. package/src/structures/BaseGuildVoiceChannel.js +241 -241
  235. package/src/structures/BaseMessageComponent.js +181 -114
  236. package/src/structures/ButtonInteraction.js +11 -11
  237. package/src/structures/CallState.js +63 -63
  238. package/src/structures/CategoryChannel.js +85 -85
  239. package/src/structures/Channel.js +284 -270
  240. package/src/structures/ClientPresence.js +77 -85
  241. package/src/structures/ClientUser.js +653 -448
  242. package/src/structures/CommandInteraction.js +41 -41
  243. package/src/structures/CommandInteractionOptionResolver.js +276 -276
  244. package/src/structures/ContainerComponent.js +68 -0
  245. package/src/structures/ContextMenuInteraction.js +65 -65
  246. package/src/structures/DMChannel.js +219 -217
  247. package/src/structures/DirectoryChannel.js +20 -20
  248. package/src/structures/Emoji.js +148 -148
  249. package/src/structures/FileComponent.js +49 -0
  250. package/src/structures/ForumChannel.js +31 -261
  251. package/src/structures/GroupDMChannel.js +394 -387
  252. package/src/structures/Guild.js +1697 -1608
  253. package/src/structures/GuildAuditLogs.js +746 -729
  254. package/src/structures/GuildBan.js +59 -59
  255. package/src/structures/GuildBoost.js +108 -108
  256. package/src/structures/GuildChannel.js +470 -468
  257. package/src/structures/GuildEmoji.js +161 -161
  258. package/src/structures/GuildMember.js +636 -568
  259. package/src/structures/GuildPreview.js +191 -191
  260. package/src/structures/GuildPreviewEmoji.js +27 -27
  261. package/src/structures/GuildScheduledEvent.js +536 -441
  262. package/src/structures/GuildTemplate.js +236 -236
  263. package/src/structures/Integration.js +188 -188
  264. package/src/structures/IntegrationApplication.js +96 -96
  265. package/src/structures/Interaction.js +290 -290
  266. package/src/structures/InteractionCollector.js +248 -248
  267. package/src/structures/InteractionWebhook.js +43 -43
  268. package/src/structures/Invite.js +358 -358
  269. package/src/structures/InviteGuild.js +23 -23
  270. package/src/structures/InviteStageInstance.js +86 -86
  271. package/src/structures/MediaChannel.js +11 -0
  272. package/src/structures/MediaGalleryComponent.js +41 -0
  273. package/src/structures/MediaGalleryItem.js +47 -0
  274. package/src/structures/Message.js +1252 -1227
  275. package/src/structures/MessageActionRow.js +105 -103
  276. package/src/structures/MessageAttachment.js +216 -204
  277. package/src/structures/MessageButton.js +166 -165
  278. package/src/structures/MessageCollector.js +146 -146
  279. package/src/structures/MessageComponentInteraction.js +120 -120
  280. package/src/structures/MessageContextMenuInteraction.js +20 -20
  281. package/src/structures/MessageEmbed.js +596 -586
  282. package/src/structures/MessageMentions.js +273 -273
  283. package/src/structures/MessagePayload.js +354 -318
  284. package/src/structures/MessageReaction.js +181 -171
  285. package/src/structures/MessageSelectMenu.js +141 -140
  286. package/src/structures/Modal.js +161 -161
  287. package/src/structures/ModalSubmitFieldsResolver.js +53 -53
  288. package/src/structures/ModalSubmitInteraction.js +119 -119
  289. package/src/structures/NewsChannel.js +32 -32
  290. package/src/structures/OAuth2Guild.js +28 -28
  291. package/src/structures/PermissionOverwrites.js +198 -196
  292. package/src/structures/Poll.js +108 -0
  293. package/src/structures/PollAnswer.js +88 -0
  294. package/src/structures/Presence.js +1137 -1101
  295. package/src/structures/ReactionCollector.js +229 -229
  296. package/src/structures/ReactionEmoji.js +31 -31
  297. package/src/structures/Role.js +590 -531
  298. package/src/structures/SectionComponent.js +48 -0
  299. package/src/structures/SelectMenuInteraction.js +21 -21
  300. package/src/structures/SeparatorComponent.js +48 -0
  301. package/src/structures/Session.js +81 -0
  302. package/src/structures/StageChannel.js +104 -104
  303. package/src/structures/StageInstance.js +208 -208
  304. package/src/structures/Sticker.js +310 -310
  305. package/src/structures/StickerPack.js +95 -95
  306. package/src/structures/StoreChannel.js +56 -56
  307. package/src/structures/Team.js +118 -118
  308. package/src/structures/TeamMember.js +80 -71
  309. package/src/structures/TextChannel.js +33 -33
  310. package/src/structures/TextDisplayComponent.js +40 -0
  311. package/src/structures/TextInputComponent.js +132 -131
  312. package/src/structures/ThreadChannel.js +605 -607
  313. package/src/structures/ThreadMember.js +105 -105
  314. package/src/structures/ThreadOnlyChannel.js +249 -0
  315. package/src/structures/ThumbnailComponent.js +57 -0
  316. package/src/structures/Typing.js +74 -74
  317. package/src/structures/UnfurledMediaItem.js +29 -0
  318. package/src/structures/User.js +640 -543
  319. package/src/structures/UserContextMenuInteraction.js +29 -29
  320. package/src/structures/VoiceChannel.js +110 -110
  321. package/src/structures/VoiceChannelEffect.js +69 -0
  322. package/src/structures/VoiceRegion.js +53 -53
  323. package/src/structures/VoiceState.js +354 -341
  324. package/src/structures/WebEmbed.js +373 -373
  325. package/src/structures/Webhook.js +478 -467
  326. package/src/structures/WelcomeChannel.js +60 -60
  327. package/src/structures/WelcomeScreen.js +48 -48
  328. package/src/structures/Widget.js +87 -87
  329. package/src/structures/WidgetMember.js +99 -99
  330. package/src/structures/interfaces/Application.js +825 -313
  331. package/src/structures/interfaces/Collector.js +300 -300
  332. package/src/structures/interfaces/InteractionResponses.js +313 -313
  333. package/src/structures/interfaces/TextBasedChannel.js +759 -719
  334. package/src/util/APITypes.js +59 -0
  335. package/src/util/ActivityFlags.js +44 -44
  336. package/src/util/ApplicationFlags.js +76 -76
  337. package/src/util/AttachmentFlags.js +38 -38
  338. package/src/util/BitField.js +170 -170
  339. package/src/util/ChannelFlags.js +45 -45
  340. package/src/util/Constants.js +1914 -1773
  341. package/src/util/DataResolver.js +146 -145
  342. package/src/util/Formatters.js +228 -228
  343. package/src/util/GuildMemberFlags.js +43 -43
  344. package/src/util/Intents.js +74 -74
  345. package/src/util/InviteFlags.js +34 -29
  346. package/src/util/LimitedCollection.js +131 -131
  347. package/src/util/MessageFlags.js +63 -54
  348. package/src/util/Options.js +358 -336
  349. package/src/util/Permissions.js +202 -202
  350. package/src/util/PremiumUsageFlags.js +31 -31
  351. package/src/util/PurchasedFlags.js +33 -33
  352. package/src/util/RemoteAuth.js +382 -379
  353. package/src/util/RoleFlags.js +37 -37
  354. package/src/util/SnowflakeUtil.js +92 -92
  355. package/src/util/Speaking.js +33 -0
  356. package/src/util/Sweepers.js +466 -466
  357. package/src/util/SystemChannelFlags.js +55 -55
  358. package/src/util/ThreadMemberFlags.js +30 -30
  359. package/src/util/UserFlags.js +104 -104
  360. package/src/util/Util.js +1048 -889
  361. package/typings/enums.d.ts +439 -297
  362. package/typings/index.d.ts +8392 -7432
  363. package/typings/rawDataTypes.d.ts +403 -342
  364. 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.2`, based on `discord.js@13.17`</strong>
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
- ### <strong>I don't take any responsibility for blocked Discord accounts that used this module.</strong>
24
- ### <strong>Using this on a user account is prohibited by the [Discord TOS](https://discord.com/terms) and can lead to the account block.</strong>
52
+ > [!WARNING]
53
+ > **I don't take any responsibility for blocked Discord accounts that used this module.**
25
54
 
26
- ## Project Status
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: Embeds (WebEmbed)
36
- - [x] User: Status, Activity, RemoteAuth, etc.
37
- - [X] Guild: Fetch Members, Join / Leave, Top emojis, ...
38
- - [X] Interactions: Slash Commands, Buttons, Menu, Modal
39
- - [X] Captcha Handler (2captcha, capmonster, custom)
40
- - [X] Documentation
41
- - [x] Voice & [Video stream](https://github.com/aiko-chan-ai/discord.js-selfbot-v13/issues/293)
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
- **Node.js 16.6.0 or newer is required**
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 discord.js-selfbot-v13@latest
78
+ npm install djs-selfbot-v13@latest
52
79
  ```
53
80
 
54
81
  ## Example
55
82
 
56
83
  ```js
57
- const { Client } = require('discord.js-selfbot-v13');
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
- [Math.random()],
74
- {},
75
- req => {
76
- if (!req.c) return;
77
- for (const m of Object.keys(req.c)
78
- .map(x => req.c[x].exports)
79
- .filter(x => x)) {
80
- if (m.default && m.default.getToken !== undefined) {
81
- return copy(m.default.getToken());
82
- }
83
- if (m.getToken !== undefined) {
84
- return copy(m.getToken());
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
  [![Star History Chart](https://api.star-history.com/svg?repos=aiko-chan-ai/discord.js-selfbot-v13&type=Date)](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.2.2",
4
- "description": "A unofficial discord.js fork for creating selfbots [Based on discord.js v13]",
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
- "keywords": [
31
- "discord.js",
32
- "discord.js v13",
33
- "selfbot",
34
- "selfbot v13",
35
- "djs",
36
- "api",
37
- "bot",
38
- "node",
39
- "discord",
40
- "client",
41
- "discordapp"
42
- ],
43
- "author": "aiko-chan-ai",
44
- "license": "GNU General Public License v3.0",
45
- "dependencies": {
46
- "@aikochan2k6/qrcode-terminal": "^0.12.1",
47
- "@discordjs/builders": "^1.6.3",
48
- "@discordjs/collection": "^1.5.3",
49
- "@sapphire/async-queue": "^1.5.2",
50
- "@sapphire/shapeshift": "^3.9.5",
51
- "@types/node-fetch": "^2.6.11",
52
- "@types/ws": "^8.5.10",
53
- "discord-api-types": "^0.37.61",
54
- "fetch-cookie": "^2.1.0",
55
- "form-data": "^4.0.0",
56
- "node-fetch": "^2.6.9",
57
- "tough-cookie": "^4.1.4",
58
- "ws": "^8.16.0"
59
- },
60
- "engines": {
61
- "node": ">=16.6.0",
62
- "npm": ">=7.0.0"
63
- },
64
- "devDependencies": {
65
- "@commitlint/cli": "^16.0.1",
66
- "@commitlint/config-angular": "^16.0.0",
67
- "@discordjs/docgen": "^0.11.1",
68
- "@favware/npm-deprecate": "^1.0.7",
69
- "@types/node": "^18.16.0",
70
- "conventional-changelog-cli": "^2.2.2",
71
- "dtslint": "^4.2.1",
72
- "eslint": "^8.39.0",
73
- "eslint-config-prettier": "^8.8.0",
74
- "eslint-plugin-import": "^2.27.5",
75
- "eslint-plugin-prettier": "^4.2.1",
76
- "husky": "^7.0.4",
77
- "is-ci": "^3.0.1",
78
- "jest": "^28.1.3",
79
- "lint-staged": "^12.1.4",
80
- "prettier": "^2.8.8",
81
- "tsd": "^0.28.1",
82
- "tslint": "^6.1.3",
83
- "typescript": "^4.9.5"
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];
@@ -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
+ */