discord-sb.js 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (366) hide show
  1. package/LICENSE +674 -0
  2. package/README.md +2 -0
  3. package/package.json +91 -0
  4. package/src/WebSocket.js +39 -0
  5. package/src/client/BaseClient.js +86 -0
  6. package/src/client/Client.js +978 -0
  7. package/src/client/WebhookClient.js +61 -0
  8. package/src/client/actions/Action.js +116 -0
  9. package/src/client/actions/ActionsManager.js +80 -0
  10. package/src/client/actions/ApplicationCommandPermissionsUpdate.js +34 -0
  11. package/src/client/actions/AutoModerationActionExecution.js +27 -0
  12. package/src/client/actions/AutoModerationRuleCreate.js +28 -0
  13. package/src/client/actions/AutoModerationRuleDelete.js +32 -0
  14. package/src/client/actions/AutoModerationRuleUpdate.js +30 -0
  15. package/src/client/actions/ChannelCreate.js +23 -0
  16. package/src/client/actions/ChannelDelete.js +39 -0
  17. package/src/client/actions/ChannelUpdate.js +43 -0
  18. package/src/client/actions/GuildAuditLogEntryCreate.js +29 -0
  19. package/src/client/actions/GuildBanAdd.js +20 -0
  20. package/src/client/actions/GuildBanRemove.js +25 -0
  21. package/src/client/actions/GuildChannelsPositionUpdate.js +21 -0
  22. package/src/client/actions/GuildDelete.js +65 -0
  23. package/src/client/actions/GuildEmojiCreate.js +20 -0
  24. package/src/client/actions/GuildEmojiDelete.js +21 -0
  25. package/src/client/actions/GuildEmojiUpdate.js +20 -0
  26. package/src/client/actions/GuildEmojisUpdate.js +34 -0
  27. package/src/client/actions/GuildIntegrationsUpdate.js +19 -0
  28. package/src/client/actions/GuildMemberRemove.js +33 -0
  29. package/src/client/actions/GuildMemberUpdate.js +44 -0
  30. package/src/client/actions/GuildRoleCreate.js +25 -0
  31. package/src/client/actions/GuildRoleDelete.js +31 -0
  32. package/src/client/actions/GuildRoleUpdate.js +39 -0
  33. package/src/client/actions/GuildRolesPositionUpdate.js +21 -0
  34. package/src/client/actions/GuildScheduledEventCreate.js +27 -0
  35. package/src/client/actions/GuildScheduledEventDelete.js +31 -0
  36. package/src/client/actions/GuildScheduledEventUpdate.js +30 -0
  37. package/src/client/actions/GuildScheduledEventUserAdd.js +32 -0
  38. package/src/client/actions/GuildScheduledEventUserRemove.js +32 -0
  39. package/src/client/actions/GuildStickerCreate.js +20 -0
  40. package/src/client/actions/GuildStickerDelete.js +21 -0
  41. package/src/client/actions/GuildStickerUpdate.js +20 -0
  42. package/src/client/actions/GuildStickersUpdate.js +34 -0
  43. package/src/client/actions/GuildUpdate.js +33 -0
  44. package/src/client/actions/InviteCreate.js +28 -0
  45. package/src/client/actions/InviteDelete.js +30 -0
  46. package/src/client/actions/MessageCreate.js +50 -0
  47. package/src/client/actions/MessageDelete.js +32 -0
  48. package/src/client/actions/MessageDeleteBulk.js +46 -0
  49. package/src/client/actions/MessagePollVoteAdd.js +33 -0
  50. package/src/client/actions/MessagePollVoteRemove.js +33 -0
  51. package/src/client/actions/MessageReactionAdd.js +68 -0
  52. package/src/client/actions/MessageReactionRemove.js +50 -0
  53. package/src/client/actions/MessageReactionRemoveAll.js +33 -0
  54. package/src/client/actions/MessageReactionRemoveEmoji.js +28 -0
  55. package/src/client/actions/MessageUpdate.js +26 -0
  56. package/src/client/actions/PresenceUpdate.js +50 -0
  57. package/src/client/actions/StageInstanceCreate.js +28 -0
  58. package/src/client/actions/StageInstanceDelete.js +33 -0
  59. package/src/client/actions/StageInstanceUpdate.js +30 -0
  60. package/src/client/actions/ThreadCreate.js +24 -0
  61. package/src/client/actions/ThreadDelete.js +32 -0
  62. package/src/client/actions/ThreadListSync.js +59 -0
  63. package/src/client/actions/ThreadMemberUpdate.js +30 -0
  64. package/src/client/actions/ThreadMembersUpdate.js +34 -0
  65. package/src/client/actions/TypingStart.js +29 -0
  66. package/src/client/actions/UserUpdate.js +35 -0
  67. package/src/client/actions/VoiceStateUpdate.js +50 -0
  68. package/src/client/actions/WebhooksUpdate.js +20 -0
  69. package/src/client/voice/ClientVoiceManager.js +151 -0
  70. package/src/client/voice/VoiceConnection.js +1249 -0
  71. package/src/client/voice/dispatcher/AnnexBDispatcher.js +120 -0
  72. package/src/client/voice/dispatcher/AudioDispatcher.js +145 -0
  73. package/src/client/voice/dispatcher/BaseDispatcher.js +459 -0
  74. package/src/client/voice/dispatcher/VPxDispatcher.js +54 -0
  75. package/src/client/voice/dispatcher/VideoDispatcher.js +68 -0
  76. package/src/client/voice/networking/VoiceUDPClient.js +173 -0
  77. package/src/client/voice/networking/VoiceWebSocket.js +286 -0
  78. package/src/client/voice/player/MediaPlayer.js +321 -0
  79. package/src/client/voice/player/processing/AnnexBNalSplitter.js +244 -0
  80. package/src/client/voice/player/processing/IvfSplitter.js +106 -0
  81. package/src/client/voice/player/processing/PCMInsertSilence.js +37 -0
  82. package/src/client/voice/receiver/PacketHandler.js +260 -0
  83. package/src/client/voice/receiver/Receiver.js +96 -0
  84. package/src/client/voice/receiver/Recorder.js +173 -0
  85. package/src/client/voice/util/Function.js +116 -0
  86. package/src/client/voice/util/PlayInterface.js +122 -0
  87. package/src/client/voice/util/Secretbox.js +64 -0
  88. package/src/client/voice/util/Silence.js +16 -0
  89. package/src/client/voice/util/Socket.js +62 -0
  90. package/src/client/voice/util/VolumeInterface.js +104 -0
  91. package/src/client/websocket/WebSocketManager.js +392 -0
  92. package/src/client/websocket/WebSocketShard.js +907 -0
  93. package/src/client/websocket/handlers/APPLICATION_COMMAND_CREATE.js +18 -0
  94. package/src/client/websocket/handlers/APPLICATION_COMMAND_DELETE.js +20 -0
  95. package/src/client/websocket/handlers/APPLICATION_COMMAND_PERMISSIONS_UPDATE.js +5 -0
  96. package/src/client/websocket/handlers/APPLICATION_COMMAND_UPDATE.js +20 -0
  97. package/src/client/websocket/handlers/AUTO_MODERATION_ACTION_EXECUTION.js +5 -0
  98. package/src/client/websocket/handlers/AUTO_MODERATION_RULE_CREATE.js +5 -0
  99. package/src/client/websocket/handlers/AUTO_MODERATION_RULE_DELETE.js +5 -0
  100. package/src/client/websocket/handlers/AUTO_MODERATION_RULE_UPDATE.js +5 -0
  101. package/src/client/websocket/handlers/CALL_CREATE.js +14 -0
  102. package/src/client/websocket/handlers/CALL_DELETE.js +11 -0
  103. package/src/client/websocket/handlers/CALL_UPDATE.js +11 -0
  104. package/src/client/websocket/handlers/CHANNEL_CREATE.js +5 -0
  105. package/src/client/websocket/handlers/CHANNEL_DELETE.js +5 -0
  106. package/src/client/websocket/handlers/CHANNEL_PINS_UPDATE.js +22 -0
  107. package/src/client/websocket/handlers/CHANNEL_RECIPIENT_ADD.js +19 -0
  108. package/src/client/websocket/handlers/CHANNEL_RECIPIENT_REMOVE.js +16 -0
  109. package/src/client/websocket/handlers/CHANNEL_UPDATE.js +16 -0
  110. package/src/client/websocket/handlers/GUILD_AUDIT_LOG_ENTRY_CREATE.js +5 -0
  111. package/src/client/websocket/handlers/GUILD_BAN_ADD.js +5 -0
  112. package/src/client/websocket/handlers/GUILD_BAN_REMOVE.js +5 -0
  113. package/src/client/websocket/handlers/GUILD_CREATE.js +52 -0
  114. package/src/client/websocket/handlers/GUILD_DELETE.js +5 -0
  115. package/src/client/websocket/handlers/GUILD_EMOJIS_UPDATE.js +5 -0
  116. package/src/client/websocket/handlers/GUILD_INTEGRATIONS_UPDATE.js +5 -0
  117. package/src/client/websocket/handlers/GUILD_MEMBERS_CHUNK.js +39 -0
  118. package/src/client/websocket/handlers/GUILD_MEMBER_ADD.js +20 -0
  119. package/src/client/websocket/handlers/GUILD_MEMBER_REMOVE.js +5 -0
  120. package/src/client/websocket/handlers/GUILD_MEMBER_UPDATE.js +5 -0
  121. package/src/client/websocket/handlers/GUILD_ROLE_CREATE.js +5 -0
  122. package/src/client/websocket/handlers/GUILD_ROLE_DELETE.js +5 -0
  123. package/src/client/websocket/handlers/GUILD_ROLE_UPDATE.js +5 -0
  124. package/src/client/websocket/handlers/GUILD_SCHEDULED_EVENT_CREATE.js +5 -0
  125. package/src/client/websocket/handlers/GUILD_SCHEDULED_EVENT_DELETE.js +5 -0
  126. package/src/client/websocket/handlers/GUILD_SCHEDULED_EVENT_UPDATE.js +5 -0
  127. package/src/client/websocket/handlers/GUILD_SCHEDULED_EVENT_USER_ADD.js +5 -0
  128. package/src/client/websocket/handlers/GUILD_SCHEDULED_EVENT_USER_REMOVE.js +5 -0
  129. package/src/client/websocket/handlers/GUILD_STICKERS_UPDATE.js +5 -0
  130. package/src/client/websocket/handlers/GUILD_UPDATE.js +5 -0
  131. package/src/client/websocket/handlers/INTERACTION_MODAL_CREATE.js +12 -0
  132. package/src/client/websocket/handlers/INVITE_CREATE.js +5 -0
  133. package/src/client/websocket/handlers/INVITE_DELETE.js +5 -0
  134. package/src/client/websocket/handlers/MESSAGE_CREATE.js +5 -0
  135. package/src/client/websocket/handlers/MESSAGE_DELETE.js +5 -0
  136. package/src/client/websocket/handlers/MESSAGE_DELETE_BULK.js +5 -0
  137. package/src/client/websocket/handlers/MESSAGE_POLL_VOTE_ADD.js +5 -0
  138. package/src/client/websocket/handlers/MESSAGE_POLL_VOTE_REMOVE.js +5 -0
  139. package/src/client/websocket/handlers/MESSAGE_REACTION_ADD.js +5 -0
  140. package/src/client/websocket/handlers/MESSAGE_REACTION_REMOVE.js +5 -0
  141. package/src/client/websocket/handlers/MESSAGE_REACTION_REMOVE_ALL.js +5 -0
  142. package/src/client/websocket/handlers/MESSAGE_REACTION_REMOVE_EMOJI.js +5 -0
  143. package/src/client/websocket/handlers/MESSAGE_UPDATE.js +16 -0
  144. package/src/client/websocket/handlers/PRESENCE_UPDATE.js +5 -0
  145. package/src/client/websocket/handlers/READY.js +121 -0
  146. package/src/client/websocket/handlers/RELATIONSHIP_ADD.js +19 -0
  147. package/src/client/websocket/handlers/RELATIONSHIP_REMOVE.js +17 -0
  148. package/src/client/websocket/handlers/RELATIONSHIP_UPDATE.js +41 -0
  149. package/src/client/websocket/handlers/RESUMED.js +14 -0
  150. package/src/client/websocket/handlers/STAGE_INSTANCE_CREATE.js +5 -0
  151. package/src/client/websocket/handlers/STAGE_INSTANCE_DELETE.js +5 -0
  152. package/src/client/websocket/handlers/STAGE_INSTANCE_UPDATE.js +5 -0
  153. package/src/client/websocket/handlers/THREAD_CREATE.js +5 -0
  154. package/src/client/websocket/handlers/THREAD_DELETE.js +5 -0
  155. package/src/client/websocket/handlers/THREAD_LIST_SYNC.js +5 -0
  156. package/src/client/websocket/handlers/THREAD_MEMBERS_UPDATE.js +5 -0
  157. package/src/client/websocket/handlers/THREAD_MEMBER_UPDATE.js +5 -0
  158. package/src/client/websocket/handlers/THREAD_UPDATE.js +16 -0
  159. package/src/client/websocket/handlers/TYPING_START.js +5 -0
  160. package/src/client/websocket/handlers/USER_GUILD_SETTINGS_UPDATE.js +6 -0
  161. package/src/client/websocket/handlers/USER_NOTE_UPDATE.js +5 -0
  162. package/src/client/websocket/handlers/USER_REQUIRED_ACTION_UPDATE.js +78 -0
  163. package/src/client/websocket/handlers/USER_SETTINGS_UPDATE.js +5 -0
  164. package/src/client/websocket/handlers/USER_UPDATE.js +5 -0
  165. package/src/client/websocket/handlers/VOICE_CHANNEL_EFFECT_SEND.js +16 -0
  166. package/src/client/websocket/handlers/VOICE_CHANNEL_STATUS_UPDATE.js +12 -0
  167. package/src/client/websocket/handlers/VOICE_SERVER_UPDATE.js +6 -0
  168. package/src/client/websocket/handlers/VOICE_STATE_UPDATE.js +5 -0
  169. package/src/client/websocket/handlers/WEBHOOKS_UPDATE.js +5 -0
  170. package/src/client/websocket/handlers/index.js +84 -0
  171. package/src/errors/DJSError.js +61 -0
  172. package/src/errors/Messages.js +217 -0
  173. package/src/errors/index.js +4 -0
  174. package/src/index.js +172 -0
  175. package/src/managers/ApplicationCommandManager.js +264 -0
  176. package/src/managers/ApplicationCommandPermissionsManager.js +417 -0
  177. package/src/managers/AutoModerationRuleManager.js +296 -0
  178. package/src/managers/BaseGuildEmojiManager.js +80 -0
  179. package/src/managers/BaseManager.js +19 -0
  180. package/src/managers/BillingManager.js +66 -0
  181. package/src/managers/CachedManager.js +71 -0
  182. package/src/managers/ChannelManager.js +148 -0
  183. package/src/managers/ClientUserSettingManager.js +372 -0
  184. package/src/managers/DataManager.js +61 -0
  185. package/src/managers/DeveloperManager.js +254 -0
  186. package/src/managers/GuildBanManager.js +250 -0
  187. package/src/managers/GuildChannelManager.js +488 -0
  188. package/src/managers/GuildEmojiManager.js +171 -0
  189. package/src/managers/GuildEmojiRoleManager.js +118 -0
  190. package/src/managers/GuildForumThreadManager.js +108 -0
  191. package/src/managers/GuildInviteManager.js +213 -0
  192. package/src/managers/GuildManager.js +338 -0
  193. package/src/managers/GuildMemberManager.js +599 -0
  194. package/src/managers/GuildMemberRoleManager.js +195 -0
  195. package/src/managers/GuildScheduledEventManager.js +314 -0
  196. package/src/managers/GuildSettingManager.js +155 -0
  197. package/src/managers/GuildStickerManager.js +179 -0
  198. package/src/managers/GuildTextThreadManager.js +98 -0
  199. package/src/managers/InteractionManager.js +39 -0
  200. package/src/managers/MessageManager.js +423 -0
  201. package/src/managers/PermissionOverwriteManager.js +164 -0
  202. package/src/managers/PresenceManager.js +71 -0
  203. package/src/managers/QuestManager.js +353 -0
  204. package/src/managers/ReactionManager.js +67 -0
  205. package/src/managers/ReactionUserManager.js +73 -0
  206. package/src/managers/RelationshipManager.js +278 -0
  207. package/src/managers/RoleManager.js +448 -0
  208. package/src/managers/SessionManager.js +66 -0
  209. package/src/managers/StageInstanceManager.js +162 -0
  210. package/src/managers/ThreadManager.js +175 -0
  211. package/src/managers/ThreadMemberManager.js +186 -0
  212. package/src/managers/UserManager.js +136 -0
  213. package/src/managers/UserNoteManager.js +53 -0
  214. package/src/managers/VoiceStateManager.js +59 -0
  215. package/src/rest/APIRequest.js +154 -0
  216. package/src/rest/APIRouter.js +53 -0
  217. package/src/rest/DiscordAPIError.js +119 -0
  218. package/src/rest/HTTPError.js +62 -0
  219. package/src/rest/RESTManager.js +67 -0
  220. package/src/rest/RateLimitError.js +55 -0
  221. package/src/rest/RequestHandler.js +466 -0
  222. package/src/sharding/Shard.js +444 -0
  223. package/src/sharding/ShardClientUtil.js +279 -0
  224. package/src/sharding/ShardingManager.js +319 -0
  225. package/src/structures/AnonymousGuild.js +98 -0
  226. package/src/structures/ApplicationCommand.js +593 -0
  227. package/src/structures/ApplicationRoleConnectionMetadata.js +48 -0
  228. package/src/structures/AutoModerationActionExecution.js +89 -0
  229. package/src/structures/AutoModerationRule.js +294 -0
  230. package/src/structures/AutocompleteInteraction.js +107 -0
  231. package/src/structures/Base.js +43 -0
  232. package/src/structures/BaseCommandInteraction.js +211 -0
  233. package/src/structures/BaseGuild.js +116 -0
  234. package/src/structures/BaseGuildEmoji.js +56 -0
  235. package/src/structures/BaseGuildTextChannel.js +191 -0
  236. package/src/structures/BaseGuildVoiceChannel.js +241 -0
  237. package/src/structures/BaseMessageComponent.js +181 -0
  238. package/src/structures/ButtonInteraction.js +11 -0
  239. package/src/structures/CallState.js +63 -0
  240. package/src/structures/CategoryChannel.js +85 -0
  241. package/src/structures/Channel.js +284 -0
  242. package/src/structures/ClientPresence.js +77 -0
  243. package/src/structures/ClientUser.js +655 -0
  244. package/src/structures/CommandInteraction.js +41 -0
  245. package/src/structures/CommandInteractionOptionResolver.js +276 -0
  246. package/src/structures/ContainerComponent.js +68 -0
  247. package/src/structures/ContextMenuInteraction.js +65 -0
  248. package/src/structures/DMChannel.js +219 -0
  249. package/src/structures/DirectoryChannel.js +20 -0
  250. package/src/structures/Emoji.js +148 -0
  251. package/src/structures/FileComponent.js +49 -0
  252. package/src/structures/ForumChannel.js +31 -0
  253. package/src/structures/GroupDMChannel.js +394 -0
  254. package/src/structures/Guild.js +1791 -0
  255. package/src/structures/GuildAuditLogs.js +746 -0
  256. package/src/structures/GuildBan.js +59 -0
  257. package/src/structures/GuildBoost.js +108 -0
  258. package/src/structures/GuildChannel.js +470 -0
  259. package/src/structures/GuildEmoji.js +161 -0
  260. package/src/structures/GuildMember.js +636 -0
  261. package/src/structures/GuildPreview.js +191 -0
  262. package/src/structures/GuildPreviewEmoji.js +27 -0
  263. package/src/structures/GuildScheduledEvent.js +536 -0
  264. package/src/structures/GuildTemplate.js +236 -0
  265. package/src/structures/Integration.js +188 -0
  266. package/src/structures/IntegrationApplication.js +96 -0
  267. package/src/structures/Interaction.js +290 -0
  268. package/src/structures/InteractionCollector.js +248 -0
  269. package/src/structures/InteractionWebhook.js +43 -0
  270. package/src/structures/Invite.js +358 -0
  271. package/src/structures/InviteGuild.js +23 -0
  272. package/src/structures/InviteStageInstance.js +86 -0
  273. package/src/structures/MediaChannel.js +11 -0
  274. package/src/structures/MediaGalleryComponent.js +41 -0
  275. package/src/structures/MediaGalleryItem.js +47 -0
  276. package/src/structures/Message.js +1252 -0
  277. package/src/structures/MessageActionRow.js +105 -0
  278. package/src/structures/MessageAttachment.js +216 -0
  279. package/src/structures/MessageButton.js +166 -0
  280. package/src/structures/MessageCollector.js +146 -0
  281. package/src/structures/MessageComponentInteraction.js +120 -0
  282. package/src/structures/MessageContextMenuInteraction.js +20 -0
  283. package/src/structures/MessageEmbed.js +596 -0
  284. package/src/structures/MessageMentions.js +273 -0
  285. package/src/structures/MessagePayload.js +354 -0
  286. package/src/structures/MessageReaction.js +181 -0
  287. package/src/structures/MessageSelectMenu.js +141 -0
  288. package/src/structures/Modal.js +161 -0
  289. package/src/structures/ModalSubmitFieldsResolver.js +53 -0
  290. package/src/structures/ModalSubmitInteraction.js +119 -0
  291. package/src/structures/NewsChannel.js +32 -0
  292. package/src/structures/OAuth2Guild.js +28 -0
  293. package/src/structures/PermissionOverwrites.js +198 -0
  294. package/src/structures/Poll.js +108 -0
  295. package/src/structures/PollAnswer.js +88 -0
  296. package/src/structures/Presence.js +1157 -0
  297. package/src/structures/ReactionCollector.js +229 -0
  298. package/src/structures/ReactionEmoji.js +31 -0
  299. package/src/structures/Role.js +590 -0
  300. package/src/structures/SectionComponent.js +48 -0
  301. package/src/structures/SelectMenuInteraction.js +21 -0
  302. package/src/structures/SeparatorComponent.js +48 -0
  303. package/src/structures/Session.js +81 -0
  304. package/src/structures/StageChannel.js +104 -0
  305. package/src/structures/StageInstance.js +208 -0
  306. package/src/structures/Sticker.js +310 -0
  307. package/src/structures/StickerPack.js +95 -0
  308. package/src/structures/StoreChannel.js +56 -0
  309. package/src/structures/Team.js +118 -0
  310. package/src/structures/TeamMember.js +80 -0
  311. package/src/structures/TextChannel.js +33 -0
  312. package/src/structures/TextDisplayComponent.js +40 -0
  313. package/src/structures/TextInputComponent.js +132 -0
  314. package/src/structures/ThreadChannel.js +605 -0
  315. package/src/structures/ThreadMember.js +105 -0
  316. package/src/structures/ThreadOnlyChannel.js +249 -0
  317. package/src/structures/ThumbnailComponent.js +57 -0
  318. package/src/structures/Typing.js +74 -0
  319. package/src/structures/UnfurledMediaItem.js +29 -0
  320. package/src/structures/User.js +640 -0
  321. package/src/structures/UserContextMenuInteraction.js +29 -0
  322. package/src/structures/VoiceChannel.js +110 -0
  323. package/src/structures/VoiceChannelEffect.js +69 -0
  324. package/src/structures/VoiceRegion.js +53 -0
  325. package/src/structures/VoiceState.js +354 -0
  326. package/src/structures/WebEmbed.js +373 -0
  327. package/src/structures/Webhook.js +478 -0
  328. package/src/structures/WelcomeChannel.js +60 -0
  329. package/src/structures/WelcomeScreen.js +48 -0
  330. package/src/structures/Widget.js +87 -0
  331. package/src/structures/WidgetMember.js +99 -0
  332. package/src/structures/interfaces/Application.js +953 -0
  333. package/src/structures/interfaces/Collector.js +300 -0
  334. package/src/structures/interfaces/InteractionResponses.js +313 -0
  335. package/src/structures/interfaces/TextBasedChannel.js +821 -0
  336. package/src/util/APITypes.js +59 -0
  337. package/src/util/ActivityFlags.js +44 -0
  338. package/src/util/ApplicationFlags.js +76 -0
  339. package/src/util/AttachmentFlags.js +38 -0
  340. package/src/util/BitField.js +170 -0
  341. package/src/util/ChannelFlags.js +45 -0
  342. package/src/util/Constants.js +1914 -0
  343. package/src/util/DataResolver.js +146 -0
  344. package/src/util/Formatters.js +228 -0
  345. package/src/util/GuildMemberFlags.js +43 -0
  346. package/src/util/Intents.js +74 -0
  347. package/src/util/InviteFlags.js +34 -0
  348. package/src/util/LimitedCollection.js +131 -0
  349. package/src/util/MessageFlags.js +63 -0
  350. package/src/util/Options.js +358 -0
  351. package/src/util/Permissions.js +202 -0
  352. package/src/util/PremiumUsageFlags.js +31 -0
  353. package/src/util/PurchasedFlags.js +33 -0
  354. package/src/util/RemoteAuth.js +415 -0
  355. package/src/util/RoleFlags.js +37 -0
  356. package/src/util/SnowflakeUtil.js +92 -0
  357. package/src/util/Speaking.js +33 -0
  358. package/src/util/Sweepers.js +466 -0
  359. package/src/util/SystemChannelFlags.js +55 -0
  360. package/src/util/ThreadMemberFlags.js +30 -0
  361. package/src/util/UserFlags.js +104 -0
  362. package/src/util/Util.js +1048 -0
  363. package/typings/enums.d.ts +439 -0
  364. package/typings/index.d.ts +8505 -0
  365. package/typings/index.test-d.ts +0 -0
  366. package/typings/rawDataTypes.d.ts +403 -0
@@ -0,0 +1,59 @@
1
+ /**
2
+ * @external APIGuildScheduledEventRecurrenceRule
3
+ * @see {@link https://discord-api-types.dev/api/discord-api-types-v10/interface/APIGuildScheduledEventRecurrenceRule}
4
+ */
5
+
6
+ /**
7
+ * @external APIIncidentsData
8
+ * @see {@link https://discord-api-types.dev/api/discord-api-types-v10/interface/APIIncidentsData}
9
+ */
10
+
11
+ /**
12
+ * @external GuildScheduledEventRecurrenceRuleFrequency
13
+ * @see {@link https://discord-api-types.dev/api/discord-api-types-v10/enum/GuildScheduledEventRecurrenceRuleFrequency}
14
+ */
15
+
16
+ /**
17
+ * @external GuildScheduledEventRecurrenceRuleMonth
18
+ * @see {@link https://discord-api-types.dev/api/discord-api-types-v10/enum/GuildScheduledEventRecurrenceRuleMonth}
19
+ */
20
+
21
+ /**
22
+ * @external GuildScheduledEventRecurrenceRuleWeekday
23
+ * @see {@link https://discord-api-types.dev/api/discord-api-types-v10/enum/GuildScheduledEventRecurrenceRuleWeekday}
24
+ */
25
+
26
+ /**
27
+ * @external MessageActivityType
28
+ * @see {@link https://discord-api-types.dev/api/discord-api-types-v10/enum/MessageActivityType}
29
+ */
30
+
31
+ /**
32
+ * @external NameplatePalette
33
+ * @see {@link https://discord-api-types.dev/api/discord-api-types-v10/enum/NameplatePalette}
34
+ */
35
+
36
+ /**
37
+ * @external PollLayoutType
38
+ * @see {@link https://discord-api-types.dev/api/discord-api-types-v10/enum/PollLayoutType}
39
+ */
40
+
41
+ /**
42
+ * @external ReactionType
43
+ * @see {@link https://discord-api-types.dev/api/discord-api-types-v10/enum/ReactionType}
44
+ */
45
+
46
+ /**
47
+ * @external RtpPacket
48
+ * @see {@link https://github.com/shinyoshiaki/werift-webrtc/blob/develop/doc/classes/RtpPacket.md}
49
+ */
50
+
51
+ /**
52
+ * @external TeamMemberRole
53
+ * @see {@link https://discord-api-types.dev/api/discord-api-types-v10/enum/TeamMemberRole}
54
+ */
55
+
56
+ /**
57
+ * @external VoiceChannelEffectSendAnimationType
58
+ * @see {@link https://discord-api-types.dev/api/discord-api-types-v10/enum/VoiceChannelEffectSendAnimationType}
59
+ */
@@ -0,0 +1,44 @@
1
+ 'use strict';
2
+
3
+ const BitField = require('./BitField');
4
+
5
+ /**
6
+ * Data structure that makes it easy to interact with an {@link Activity#flags} bitfield.
7
+ * @extends {BitField}
8
+ */
9
+ class ActivityFlags extends BitField {}
10
+
11
+ /**
12
+ * @name ActivityFlags
13
+ * @kind constructor
14
+ * @memberof ActivityFlags
15
+ * @param {BitFieldResolvable} [bits=0] Bit(s) to read from
16
+ */
17
+
18
+ /**
19
+ * Numeric activity flags. All available properties:
20
+ * * `INSTANCE`
21
+ * * `JOIN`
22
+ * * `SPECTATE`
23
+ * * `JOIN_REQUEST`
24
+ * * `SYNC`
25
+ * * `PLAY`
26
+ * * `PARTY_PRIVACY_FRIENDS`
27
+ * * `PARTY_PRIVACY_VOICE_CHANNEL`
28
+ * * `EMBEDDED`
29
+ * @type {Object}
30
+ * @see {@link https://discord.com/developers/docs/topics/gateway-events#activity-object-activity-flags}
31
+ */
32
+ ActivityFlags.FLAGS = {
33
+ INSTANCE: 1 << 0,
34
+ JOIN: 1 << 1,
35
+ SPECTATE: 1 << 2,
36
+ JOIN_REQUEST: 1 << 3,
37
+ SYNC: 1 << 4,
38
+ PLAY: 1 << 5,
39
+ PARTY_PRIVACY_FRIENDS: 1 << 6,
40
+ PARTY_PRIVACY_VOICE_CHANNEL: 1 << 7,
41
+ EMBEDDED: 1 << 8,
42
+ };
43
+
44
+ module.exports = ActivityFlags;
@@ -0,0 +1,76 @@
1
+ 'use strict';
2
+
3
+ const BitField = require('./BitField');
4
+
5
+ /**
6
+ * Data structure that makes it easy to interact with a {@link Application#flags} bitfield.
7
+ * @extends {BitField}
8
+ */
9
+ class ApplicationFlags extends BitField {}
10
+
11
+ /**
12
+ * @name ApplicationFlags
13
+ * @kind constructor
14
+ * @memberof ApplicationFlags
15
+ * @param {BitFieldResolvable} [bits=0] Bit(s) to read from
16
+ */
17
+
18
+ /**
19
+ * Bitfield of the packed bits
20
+ * @type {number}
21
+ * @name ApplicationFlags#bitfield
22
+ */
23
+
24
+ /**
25
+ * Numeric application flags. All available properties:
26
+ * * `EMBEDDED_RELEASED`
27
+ * * `MANAGED_EMOJI`
28
+ * * `GROUP_DM_CREATE`
29
+ * * `RPC_PRIVATE_BETA`
30
+ * * `APPLICATION_AUTO_MODERATION_RULE_CREATE_BADGE`
31
+ * * `ALLOW_ASSETS`
32
+ * * `ALLOW_ACTIVITY_ACTION_SPECTATE`
33
+ * * `ALLOW_ACTIVITY_ACTION_JOIN_REQUEST`
34
+ * * `RPC_HAS_CONNECTED`
35
+ * * `GATEWAY_PRESENCE`
36
+ * * `GATEWAY_PRESENCE_LIMITED`
37
+ * * `GATEWAY_GUILD_MEMBERS`
38
+ * * `GATEWAY_GUILD_MEMBERS_LIMITED`
39
+ * * `VERIFICATION_PENDING_GUILD_LIMIT`
40
+ * * `EMBEDDED`
41
+ * * `GATEWAY_MESSAGE_CONTENT`
42
+ * * `GATEWAY_MESSAGE_CONTENT_LIMITED`
43
+ * * `EMBEDDED_FIRST_PARTY`
44
+ * * `APPLICATION_COMMAND_BADGE`
45
+ * * `ACTIVE`
46
+ * * `IFRAME_MODAL`
47
+ * @type {Object}
48
+ * @see {@link https://discord.com/developers/docs/resources/application#application-object-application-flags}
49
+ * @see {@link https://flags.lewistehminerz.dev/}
50
+ */
51
+ ApplicationFlags.FLAGS = {
52
+ EMBEDDED_RELEASED: 1 << 1,
53
+ MANAGED_EMOJI: 1 << 2,
54
+ EMBEDDED_IAP: 1 << 3,
55
+ GROUP_DM_CREATE: 1 << 4,
56
+ RPC_PRIVATE_BETA: 1 << 5,
57
+ APPLICATION_AUTO_MODERATION_RULE_CREATE_BADGE: 1 << 6,
58
+ ALLOW_ASSETS: 1 << 8,
59
+ ALLOW_ACTIVITY_ACTION_SPECTATE: 1 << 9,
60
+ ALLOW_ACTIVITY_ACTION_JOIN_REQUEST: 1 << 10,
61
+ RPC_HAS_CONNECTED: 1 << 11,
62
+ GATEWAY_PRESENCE: 1 << 12,
63
+ GATEWAY_PRESENCE_LIMITED: 1 << 13,
64
+ GATEWAY_GUILD_MEMBERS: 1 << 14,
65
+ GATEWAY_GUILD_MEMBERS_LIMITED: 1 << 15,
66
+ VERIFICATION_PENDING_GUILD_LIMIT: 1 << 16,
67
+ EMBEDDED: 1 << 17,
68
+ GATEWAY_MESSAGE_CONTENT: 1 << 18,
69
+ GATEWAY_MESSAGE_CONTENT_LIMITED: 1 << 19,
70
+ EMBEDDED_FIRST_PARTY: 1 << 20,
71
+ APPLICATION_COMMAND_BADGE: 1 << 23,
72
+ ACTIVE: 1 << 24,
73
+ IFRAME_MODAL: 1 << 26,
74
+ };
75
+
76
+ module.exports = ApplicationFlags;
@@ -0,0 +1,38 @@
1
+ 'use strict';
2
+
3
+ const BitField = require('./BitField');
4
+
5
+ /**
6
+ * Data structure that makes it easy to interact with an {@link GuildMember#flags} bitfield.
7
+ * @extends {BitField}
8
+ */
9
+ class AttachmentFlags extends BitField {}
10
+
11
+ /**
12
+ * @name AttachmentFlags
13
+ * @kind constructor
14
+ * @memberof AttachmentFlags
15
+ * @param {BitFieldResolvable} [bits=0] Bit(s) to read from
16
+ */
17
+
18
+ /* eslint-disable max-len */
19
+ /**
20
+ * Numeric guild member flags. All available properties:
21
+ * * `IS_REMIX`
22
+ * @type {Object}
23
+ * @see {@link https://discord.com/developers/docs/resources/channel#attachment-object-attachment-structure-attachment-flags}
24
+ */
25
+ AttachmentFlags.FLAGS = {
26
+ IS_REMIX: 1 << 2,
27
+ };
28
+
29
+ /**
30
+ * Data that can be resolved to give a guild attachment bitfield. This can be:
31
+ * * A string (see {@link AttachmentFlags.FLAGS})
32
+ * * A attachment flag
33
+ * * An instance of AttachmentFlags
34
+ * * An Array of AttachmentFlagsResolvable
35
+ * @typedef {string|number|AttachmentFlags|AttachmentFlagsResolvable[]} AttachmentFlagsResolvable
36
+ */
37
+
38
+ module.exports = AttachmentFlags;
@@ -0,0 +1,170 @@
1
+ 'use strict';
2
+
3
+ const { RangeError } = require('../errors');
4
+
5
+ /**
6
+ * Data structure that makes it easy to interact with a bitfield.
7
+ */
8
+ class BitField {
9
+ /**
10
+ * @param {BitFieldResolvable} [bits=this.constructor.defaultBit] Bit(s) to read from
11
+ */
12
+ constructor(bits = this.constructor.defaultBit) {
13
+ /**
14
+ * Bitfield of the packed bits
15
+ * @type {number|bigint}
16
+ */
17
+ this.bitfield = this.constructor.resolve(bits);
18
+ }
19
+
20
+ /**
21
+ * Checks whether the bitfield has a bit, or any of multiple bits.
22
+ * @param {BitFieldResolvable} bit Bit(s) to check for
23
+ * @returns {boolean}
24
+ */
25
+ any(bit) {
26
+ return (this.bitfield & this.constructor.resolve(bit)) !== this.constructor.defaultBit;
27
+ }
28
+
29
+ /**
30
+ * Checks if this bitfield equals another
31
+ * @param {BitFieldResolvable} bit Bit(s) to check for
32
+ * @returns {boolean}
33
+ */
34
+ equals(bit) {
35
+ return this.bitfield === this.constructor.resolve(bit);
36
+ }
37
+
38
+ /**
39
+ * Checks whether the bitfield has a bit, or multiple bits.
40
+ * @param {BitFieldResolvable} bit Bit(s) to check for
41
+ * @returns {boolean}
42
+ */
43
+ has(bit) {
44
+ bit = this.constructor.resolve(bit);
45
+ return (this.bitfield & bit) === bit;
46
+ }
47
+
48
+ /**
49
+ * Gets all given bits that are missing from the bitfield.
50
+ * @param {BitFieldResolvable} bits Bit(s) to check for
51
+ * @param {...*} hasParams Additional parameters for the has method, if any
52
+ * @returns {string[]}
53
+ */
54
+ missing(bits, ...hasParams) {
55
+ return new this.constructor(bits).remove(this).toArray(...hasParams);
56
+ }
57
+
58
+ /**
59
+ * Freezes these bits, making them immutable.
60
+ * @returns {Readonly<BitField>}
61
+ */
62
+ freeze() {
63
+ return Object.freeze(this);
64
+ }
65
+
66
+ /**
67
+ * Adds bits to these ones.
68
+ * @param {...BitFieldResolvable} [bits] Bits to add
69
+ * @returns {BitField} These bits or new BitField if the instance is frozen.
70
+ */
71
+ add(...bits) {
72
+ let total = this.constructor.defaultBit;
73
+ for (const bit of bits) {
74
+ total |= this.constructor.resolve(bit);
75
+ }
76
+ if (Object.isFrozen(this)) return new this.constructor(this.bitfield | total);
77
+ this.bitfield |= total;
78
+ return this;
79
+ }
80
+
81
+ /**
82
+ * Removes bits from these.
83
+ * @param {...BitFieldResolvable} [bits] Bits to remove
84
+ * @returns {BitField} These bits or new BitField if the instance is frozen.
85
+ */
86
+ remove(...bits) {
87
+ let total = this.constructor.defaultBit;
88
+ for (const bit of bits) {
89
+ total |= this.constructor.resolve(bit);
90
+ }
91
+ if (Object.isFrozen(this)) return new this.constructor(this.bitfield & ~total);
92
+ this.bitfield &= ~total;
93
+ return this;
94
+ }
95
+
96
+ /**
97
+ * Gets an object mapping field names to a {@link boolean} indicating whether the
98
+ * bit is available.
99
+ * @param {...*} hasParams Additional parameters for the has method, if any
100
+ * @returns {Object}
101
+ */
102
+ serialize(...hasParams) {
103
+ const serialized = {};
104
+ for (const [flag, bit] of Object.entries(this.constructor.FLAGS)) serialized[flag] = this.has(bit, ...hasParams);
105
+ return serialized;
106
+ }
107
+
108
+ /**
109
+ * Gets an {@link Array} of bitfield names based on the bits available.
110
+ * @param {...*} hasParams Additional parameters for the has method, if any
111
+ * @returns {string[]}
112
+ */
113
+ toArray(...hasParams) {
114
+ return Object.keys(this.constructor.FLAGS).filter(bit => this.has(bit, ...hasParams));
115
+ }
116
+
117
+ toJSON() {
118
+ return typeof this.bitfield === 'number' ? this.bitfield : this.bitfield.toString();
119
+ }
120
+
121
+ valueOf() {
122
+ return this.bitfield;
123
+ }
124
+
125
+ *[Symbol.iterator]() {
126
+ yield* this.toArray();
127
+ }
128
+
129
+ /**
130
+ * Data that can be resolved to give a bitfield. This can be:
131
+ * * A bit number (this can be a number literal or a value taken from {@link BitField.FLAGS})
132
+ * * A string bit number
133
+ * * An instance of BitField
134
+ * * An Array of BitFieldResolvable
135
+ * @typedef {number|string|bigint|BitField|BitFieldResolvable[]} BitFieldResolvable
136
+ */
137
+
138
+ /**
139
+ * Resolves bitfields to their numeric form.
140
+ * @param {BitFieldResolvable} [bit] bit(s) to resolve
141
+ * @returns {number|bigint}
142
+ */
143
+ static resolve(bit) {
144
+ const { defaultBit } = this;
145
+ if (typeof defaultBit === typeof bit && bit >= defaultBit) return bit;
146
+ if (bit instanceof BitField) return bit.bitfield;
147
+ if (Array.isArray(bit)) return bit.map(p => this.resolve(p)).reduce((prev, p) => prev | p, defaultBit);
148
+ if (typeof bit === 'string') {
149
+ if (!isNaN(bit)) return typeof defaultBit === 'bigint' ? BigInt(bit) : Number(bit);
150
+ if (this.FLAGS[bit] !== undefined) return this.FLAGS[bit];
151
+ }
152
+ throw new RangeError('BITFIELD_INVALID', bit);
153
+ }
154
+ }
155
+
156
+ /**
157
+ * Numeric bitfield flags.
158
+ * <info>Defined in extension classes</info>
159
+ * @type {Object}
160
+ * @abstract
161
+ */
162
+ BitField.FLAGS = {};
163
+
164
+ /**
165
+ * @type {number|bigint}
166
+ * @private
167
+ */
168
+ BitField.defaultBit = 0;
169
+
170
+ module.exports = BitField;
@@ -0,0 +1,45 @@
1
+ 'use strict';
2
+
3
+ const BitField = require('./BitField');
4
+
5
+ /**
6
+ * Data structure that makes it easy to interact with a {@link Channel#flags} bitfield.
7
+ * @extends {BitField}
8
+ */
9
+ class ChannelFlags extends BitField {}
10
+
11
+ /**
12
+ * Numeric guild channel flags. All available properties:
13
+ * * `PINNED`
14
+ * * `REQUIRE_TAG`
15
+ * @type {Object}
16
+ * @see {@link https://discord.com/developers/docs/resources/channel#channel-object-channel-flags}
17
+ */
18
+ ChannelFlags.FLAGS = {
19
+ PINNED: 1 << 1,
20
+ REQUIRE_TAG: 1 << 4,
21
+ };
22
+
23
+ /**
24
+ * @name ChannelFlags
25
+ * @kind constructor
26
+ * @memberof ChannelFlags
27
+ * @param {BitFieldResolvable} [bits=0] Bit(s) to read from
28
+ */
29
+
30
+ /**
31
+ * Bitfield of the packed bits
32
+ * @type {number}
33
+ * @name ChannelFlags#bitfield
34
+ */
35
+
36
+ /**
37
+ * Data that can be resolved to give a channel flag bitfield. This can be:
38
+ * * A string (see {@link ChannelFlags.FLAGS})
39
+ * * A channel flag
40
+ * * An instance of ChannelFlags
41
+ * * An Array of ChannelFlags
42
+ * @typedef {string|number|ChannelFlags|ChannelFlagsResolvable[]} ChannelFlagsResolvable
43
+ */
44
+
45
+ module.exports = ChannelFlags;