@velliajs/discord 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 (317) hide show
  1. package/LICENSE +191 -0
  2. package/README.md +133 -0
  3. package/package.json +82 -0
  4. package/src/client/BaseClient.js +83 -0
  5. package/src/client/Client.js +591 -0
  6. package/src/client/WebhookClient.js +103 -0
  7. package/src/client/actions/Action.js +119 -0
  8. package/src/client/actions/ActionsManager.js +79 -0
  9. package/src/client/actions/ApplicationCommandPermissionsUpdate.js +34 -0
  10. package/src/client/actions/AutoModerationActionExecution.js +26 -0
  11. package/src/client/actions/AutoModerationRuleCreate.js +27 -0
  12. package/src/client/actions/AutoModerationRuleDelete.js +31 -0
  13. package/src/client/actions/AutoModerationRuleUpdate.js +29 -0
  14. package/src/client/actions/ChannelCreate.js +23 -0
  15. package/src/client/actions/ChannelDelete.js +23 -0
  16. package/src/client/actions/ChannelUpdate.js +33 -0
  17. package/src/client/actions/GuildAuditLogEntryCreate.js +29 -0
  18. package/src/client/actions/GuildBanAdd.js +20 -0
  19. package/src/client/actions/GuildBanRemove.js +25 -0
  20. package/src/client/actions/GuildChannelsPositionUpdate.js +21 -0
  21. package/src/client/actions/GuildDelete.js +44 -0
  22. package/src/client/actions/GuildEmojiCreate.js +20 -0
  23. package/src/client/actions/GuildEmojiDelete.js +19 -0
  24. package/src/client/actions/GuildEmojiUpdate.js +20 -0
  25. package/src/client/actions/GuildEmojisUpdate.js +34 -0
  26. package/src/client/actions/GuildIntegrationsUpdate.js +19 -0
  27. package/src/client/actions/GuildMemberRemove.js +31 -0
  28. package/src/client/actions/GuildMemberUpdate.js +44 -0
  29. package/src/client/actions/GuildRoleCreate.js +25 -0
  30. package/src/client/actions/GuildRoleDelete.js +29 -0
  31. package/src/client/actions/GuildRoleUpdate.js +39 -0
  32. package/src/client/actions/GuildRolesPositionUpdate.js +21 -0
  33. package/src/client/actions/GuildScheduledEventCreate.js +27 -0
  34. package/src/client/actions/GuildScheduledEventDelete.js +31 -0
  35. package/src/client/actions/GuildScheduledEventUpdate.js +30 -0
  36. package/src/client/actions/GuildScheduledEventUserAdd.js +32 -0
  37. package/src/client/actions/GuildScheduledEventUserRemove.js +32 -0
  38. package/src/client/actions/GuildStickerCreate.js +20 -0
  39. package/src/client/actions/GuildStickerDelete.js +19 -0
  40. package/src/client/actions/GuildStickerUpdate.js +20 -0
  41. package/src/client/actions/GuildStickersUpdate.js +34 -0
  42. package/src/client/actions/GuildUpdate.js +33 -0
  43. package/src/client/actions/InteractionCreate.js +101 -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 +37 -0
  47. package/src/client/actions/MessageDelete.js +32 -0
  48. package/src/client/actions/MessageDeleteBulk.js +47 -0
  49. package/src/client/actions/MessageReactionAdd.js +55 -0
  50. package/src/client/actions/MessageReactionRemove.js +45 -0
  51. package/src/client/actions/MessageReactionRemoveAll.js +33 -0
  52. package/src/client/actions/MessageReactionRemoveEmoji.js +28 -0
  53. package/src/client/actions/MessageUpdate.js +26 -0
  54. package/src/client/actions/PresenceUpdate.js +42 -0
  55. package/src/client/actions/StageInstanceCreate.js +28 -0
  56. package/src/client/actions/StageInstanceDelete.js +31 -0
  57. package/src/client/actions/StageInstanceUpdate.js +30 -0
  58. package/src/client/actions/ThreadCreate.js +24 -0
  59. package/src/client/actions/ThreadDelete.js +26 -0
  60. package/src/client/actions/ThreadListSync.js +60 -0
  61. package/src/client/actions/ThreadMemberUpdate.js +30 -0
  62. package/src/client/actions/ThreadMembersUpdate.js +47 -0
  63. package/src/client/actions/TypingStart.js +29 -0
  64. package/src/client/actions/UserUpdate.js +36 -0
  65. package/src/client/actions/VoiceStateUpdate.js +43 -0
  66. package/src/client/actions/WebhooksUpdate.js +20 -0
  67. package/src/client/voice/ClientVoiceManager.js +44 -0
  68. package/src/client/websocket/WebSocketManager.js +393 -0
  69. package/src/client/websocket/WebSocketShard.js +231 -0
  70. package/src/client/websocket/handlers/APPLICATION_COMMAND_PERMISSIONS_UPDATE.js +5 -0
  71. package/src/client/websocket/handlers/AUTO_MODERATION_ACTION_EXECUTION.js +5 -0
  72. package/src/client/websocket/handlers/AUTO_MODERATION_RULE_CREATE.js +5 -0
  73. package/src/client/websocket/handlers/AUTO_MODERATION_RULE_DELETE.js +5 -0
  74. package/src/client/websocket/handlers/AUTO_MODERATION_RULE_UPDATE.js +5 -0
  75. package/src/client/websocket/handlers/CHANNEL_CREATE.js +5 -0
  76. package/src/client/websocket/handlers/CHANNEL_DELETE.js +5 -0
  77. package/src/client/websocket/handlers/CHANNEL_PINS_UPDATE.js +22 -0
  78. package/src/client/websocket/handlers/CHANNEL_UPDATE.js +16 -0
  79. package/src/client/websocket/handlers/GUILD_AUDIT_LOG_ENTRY_CREATE.js +5 -0
  80. package/src/client/websocket/handlers/GUILD_BAN_ADD.js +5 -0
  81. package/src/client/websocket/handlers/GUILD_BAN_REMOVE.js +5 -0
  82. package/src/client/websocket/handlers/GUILD_CREATE.js +26 -0
  83. package/src/client/websocket/handlers/GUILD_DELETE.js +5 -0
  84. package/src/client/websocket/handlers/GUILD_EMOJIS_UPDATE.js +5 -0
  85. package/src/client/websocket/handlers/GUILD_INTEGRATIONS_UPDATE.js +5 -0
  86. package/src/client/websocket/handlers/GUILD_MEMBERS_CHUNK.js +39 -0
  87. package/src/client/websocket/handlers/GUILD_MEMBER_ADD.js +20 -0
  88. package/src/client/websocket/handlers/GUILD_MEMBER_REMOVE.js +5 -0
  89. package/src/client/websocket/handlers/GUILD_MEMBER_UPDATE.js +5 -0
  90. package/src/client/websocket/handlers/GUILD_ROLE_CREATE.js +5 -0
  91. package/src/client/websocket/handlers/GUILD_ROLE_DELETE.js +5 -0
  92. package/src/client/websocket/handlers/GUILD_ROLE_UPDATE.js +5 -0
  93. package/src/client/websocket/handlers/GUILD_SCHEDULED_EVENT_CREATE.js +5 -0
  94. package/src/client/websocket/handlers/GUILD_SCHEDULED_EVENT_DELETE.js +5 -0
  95. package/src/client/websocket/handlers/GUILD_SCHEDULED_EVENT_UPDATE.js +5 -0
  96. package/src/client/websocket/handlers/GUILD_SCHEDULED_EVENT_USER_ADD.js +5 -0
  97. package/src/client/websocket/handlers/GUILD_SCHEDULED_EVENT_USER_REMOVE.js +5 -0
  98. package/src/client/websocket/handlers/GUILD_STICKERS_UPDATE.js +5 -0
  99. package/src/client/websocket/handlers/GUILD_UPDATE.js +5 -0
  100. package/src/client/websocket/handlers/INTERACTION_CREATE.js +5 -0
  101. package/src/client/websocket/handlers/INVITE_CREATE.js +5 -0
  102. package/src/client/websocket/handlers/INVITE_DELETE.js +5 -0
  103. package/src/client/websocket/handlers/MESSAGE_CREATE.js +5 -0
  104. package/src/client/websocket/handlers/MESSAGE_DELETE.js +5 -0
  105. package/src/client/websocket/handlers/MESSAGE_DELETE_BULK.js +5 -0
  106. package/src/client/websocket/handlers/MESSAGE_REACTION_ADD.js +5 -0
  107. package/src/client/websocket/handlers/MESSAGE_REACTION_REMOVE.js +5 -0
  108. package/src/client/websocket/handlers/MESSAGE_REACTION_REMOVE_ALL.js +5 -0
  109. package/src/client/websocket/handlers/MESSAGE_REACTION_REMOVE_EMOJI.js +5 -0
  110. package/src/client/websocket/handlers/MESSAGE_UPDATE.js +16 -0
  111. package/src/client/websocket/handlers/PRESENCE_UPDATE.js +5 -0
  112. package/src/client/websocket/handlers/READY.js +27 -0
  113. package/src/client/websocket/handlers/RESUMED.js +14 -0
  114. package/src/client/websocket/handlers/STAGE_INSTANCE_CREATE.js +5 -0
  115. package/src/client/websocket/handlers/STAGE_INSTANCE_DELETE.js +5 -0
  116. package/src/client/websocket/handlers/STAGE_INSTANCE_UPDATE.js +5 -0
  117. package/src/client/websocket/handlers/THREAD_CREATE.js +5 -0
  118. package/src/client/websocket/handlers/THREAD_DELETE.js +5 -0
  119. package/src/client/websocket/handlers/THREAD_LIST_SYNC.js +5 -0
  120. package/src/client/websocket/handlers/THREAD_MEMBERS_UPDATE.js +5 -0
  121. package/src/client/websocket/handlers/THREAD_MEMBER_UPDATE.js +5 -0
  122. package/src/client/websocket/handlers/THREAD_UPDATE.js +16 -0
  123. package/src/client/websocket/handlers/TYPING_START.js +5 -0
  124. package/src/client/websocket/handlers/USER_UPDATE.js +5 -0
  125. package/src/client/websocket/handlers/VOICE_SERVER_UPDATE.js +6 -0
  126. package/src/client/websocket/handlers/VOICE_STATE_UPDATE.js +5 -0
  127. package/src/client/websocket/handlers/WEBHOOKS_UPDATE.js +5 -0
  128. package/src/client/websocket/handlers/index.js +64 -0
  129. package/src/errors/DJSError.js +48 -0
  130. package/src/errors/ErrorCodes.js +319 -0
  131. package/src/errors/Messages.js +170 -0
  132. package/src/errors/index.js +5 -0
  133. package/src/index.js +213 -0
  134. package/src/managers/ApplicationCommandManager.js +263 -0
  135. package/src/managers/ApplicationCommandPermissionsManager.js +434 -0
  136. package/src/managers/AutoModerationRuleManager.js +288 -0
  137. package/src/managers/BaseGuildEmojiManager.js +80 -0
  138. package/src/managers/BaseManager.js +19 -0
  139. package/src/managers/CachedManager.js +57 -0
  140. package/src/managers/CategoryChannelChildManager.js +77 -0
  141. package/src/managers/ChannelManager.js +128 -0
  142. package/src/managers/DataManager.js +61 -0
  143. package/src/managers/GuildApplicationCommandManager.js +28 -0
  144. package/src/managers/GuildBanManager.js +204 -0
  145. package/src/managers/GuildChannelManager.js +494 -0
  146. package/src/managers/GuildEmojiManager.js +174 -0
  147. package/src/managers/GuildEmojiRoleManager.js +118 -0
  148. package/src/managers/GuildForumThreadManager.js +83 -0
  149. package/src/managers/GuildInviteManager.js +213 -0
  150. package/src/managers/GuildManager.js +283 -0
  151. package/src/managers/GuildMemberManager.js +540 -0
  152. package/src/managers/GuildMemberRoleManager.js +204 -0
  153. package/src/managers/GuildScheduledEventManager.js +297 -0
  154. package/src/managers/GuildStickerManager.js +182 -0
  155. package/src/managers/GuildTextThreadManager.js +91 -0
  156. package/src/managers/MessageManager.js +259 -0
  157. package/src/managers/PermissionOverwriteManager.js +168 -0
  158. package/src/managers/PresenceManager.js +58 -0
  159. package/src/managers/ReactionManager.js +68 -0
  160. package/src/managers/ReactionUserManager.js +77 -0
  161. package/src/managers/RoleManager.js +360 -0
  162. package/src/managers/StageInstanceManager.js +154 -0
  163. package/src/managers/ThreadManager.js +204 -0
  164. package/src/managers/ThreadMemberManager.js +182 -0
  165. package/src/managers/UserManager.js +139 -0
  166. package/src/managers/VoiceStateManager.js +37 -0
  167. package/src/sharding/Shard.js +457 -0
  168. package/src/sharding/ShardClientUtil.js +285 -0
  169. package/src/sharding/ShardingManager.js +326 -0
  170. package/src/structures/ActionRow.js +46 -0
  171. package/src/structures/ActionRowBuilder.js +35 -0
  172. package/src/structures/AnonymousGuild.js +97 -0
  173. package/src/structures/ApplicationCommand.js +606 -0
  174. package/src/structures/ApplicationRoleConnectionMetadata.js +46 -0
  175. package/src/structures/Attachment.js +140 -0
  176. package/src/structures/AttachmentBuilder.js +116 -0
  177. package/src/structures/AutoModerationActionExecution.js +116 -0
  178. package/src/structures/AutoModerationRule.js +284 -0
  179. package/src/structures/AutocompleteInteraction.js +97 -0
  180. package/src/structures/Base.js +43 -0
  181. package/src/structures/BaseChannel.js +160 -0
  182. package/src/structures/BaseGuild.js +119 -0
  183. package/src/structures/BaseGuildEmoji.js +56 -0
  184. package/src/structures/BaseGuildTextChannel.js +186 -0
  185. package/src/structures/BaseGuildVoiceChannel.js +234 -0
  186. package/src/structures/BaseInteraction.js +344 -0
  187. package/src/structures/BaseSelectMenuComponent.js +56 -0
  188. package/src/structures/ButtonBuilder.js +44 -0
  189. package/src/structures/ButtonComponent.js +65 -0
  190. package/src/structures/ButtonInteraction.js +11 -0
  191. package/src/structures/CategoryChannel.js +45 -0
  192. package/src/structures/ChannelSelectMenuBuilder.js +31 -0
  193. package/src/structures/ChannelSelectMenuComponent.js +20 -0
  194. package/src/structures/ChannelSelectMenuInteraction.js +33 -0
  195. package/src/structures/ChatInputCommandInteraction.js +41 -0
  196. package/src/structures/ClientApplication.js +193 -0
  197. package/src/structures/ClientPresence.js +82 -0
  198. package/src/structures/ClientUser.js +185 -0
  199. package/src/structures/CommandInteraction.js +224 -0
  200. package/src/structures/CommandInteractionOptionResolver.js +308 -0
  201. package/src/structures/Component.js +47 -0
  202. package/src/structures/ContextMenuCommandInteraction.js +64 -0
  203. package/src/structures/DMChannel.js +129 -0
  204. package/src/structures/DirectoryChannel.js +36 -0
  205. package/src/structures/Embed.js +220 -0
  206. package/src/structures/EmbedBuilder.js +41 -0
  207. package/src/structures/Emoji.js +108 -0
  208. package/src/structures/ForumChannel.js +264 -0
  209. package/src/structures/Guild.js +1361 -0
  210. package/src/structures/GuildAuditLogs.js +91 -0
  211. package/src/structures/GuildAuditLogsEntry.js +527 -0
  212. package/src/structures/GuildBan.js +59 -0
  213. package/src/structures/GuildChannel.js +457 -0
  214. package/src/structures/GuildEmoji.js +148 -0
  215. package/src/structures/GuildMember.js +518 -0
  216. package/src/structures/GuildPreview.js +193 -0
  217. package/src/structures/GuildPreviewEmoji.js +27 -0
  218. package/src/structures/GuildScheduledEvent.js +439 -0
  219. package/src/structures/GuildTemplate.js +241 -0
  220. package/src/structures/Integration.js +220 -0
  221. package/src/structures/IntegrationApplication.js +85 -0
  222. package/src/structures/InteractionCollector.js +263 -0
  223. package/src/structures/InteractionResponse.js +102 -0
  224. package/src/structures/InteractionWebhook.js +59 -0
  225. package/src/structures/Invite.js +322 -0
  226. package/src/structures/InviteGuild.js +22 -0
  227. package/src/structures/InviteStageInstance.js +87 -0
  228. package/src/structures/MentionableSelectMenuBuilder.js +32 -0
  229. package/src/structures/MentionableSelectMenuComponent.js +11 -0
  230. package/src/structures/MentionableSelectMenuInteraction.js +71 -0
  231. package/src/structures/Message.js +997 -0
  232. package/src/structures/MessageCollector.js +146 -0
  233. package/src/structures/MessageComponentInteraction.js +107 -0
  234. package/src/structures/MessageContextMenuCommandInteraction.js +20 -0
  235. package/src/structures/MessageMentions.js +297 -0
  236. package/src/structures/MessagePayload.js +299 -0
  237. package/src/structures/MessageReaction.js +142 -0
  238. package/src/structures/ModalBuilder.js +34 -0
  239. package/src/structures/ModalSubmitFields.js +55 -0
  240. package/src/structures/ModalSubmitInteraction.js +121 -0
  241. package/src/structures/NewsChannel.js +32 -0
  242. package/src/structures/OAuth2Guild.js +28 -0
  243. package/src/structures/PartialGroupDMChannel.js +60 -0
  244. package/src/structures/PermissionOverwrites.js +196 -0
  245. package/src/structures/Presence.js +372 -0
  246. package/src/structures/ReactionCollector.js +229 -0
  247. package/src/structures/ReactionEmoji.js +31 -0
  248. package/src/structures/Role.js +458 -0
  249. package/src/structures/RoleSelectMenuBuilder.js +31 -0
  250. package/src/structures/RoleSelectMenuComponent.js +11 -0
  251. package/src/structures/RoleSelectMenuInteraction.js +33 -0
  252. package/src/structures/SelectMenuBuilder.js +26 -0
  253. package/src/structures/SelectMenuComponent.js +26 -0
  254. package/src/structures/SelectMenuInteraction.js +26 -0
  255. package/src/structures/SelectMenuOptionBuilder.js +26 -0
  256. package/src/structures/StageChannel.js +112 -0
  257. package/src/structures/StageInstance.js +167 -0
  258. package/src/structures/Sticker.js +272 -0
  259. package/src/structures/StickerPack.js +95 -0
  260. package/src/structures/StringSelectMenuBuilder.js +79 -0
  261. package/src/structures/StringSelectMenuComponent.js +20 -0
  262. package/src/structures/StringSelectMenuInteraction.js +21 -0
  263. package/src/structures/StringSelectMenuOptionBuilder.js +49 -0
  264. package/src/structures/Team.js +117 -0
  265. package/src/structures/TeamMember.js +70 -0
  266. package/src/structures/TextChannel.js +33 -0
  267. package/src/structures/TextInputBuilder.js +31 -0
  268. package/src/structures/TextInputComponent.js +29 -0
  269. package/src/structures/ThreadChannel.js +606 -0
  270. package/src/structures/ThreadMember.js +113 -0
  271. package/src/structures/Typing.js +74 -0
  272. package/src/structures/User.js +331 -0
  273. package/src/structures/UserContextMenuCommandInteraction.js +29 -0
  274. package/src/structures/UserSelectMenuBuilder.js +31 -0
  275. package/src/structures/UserSelectMenuComponent.js +11 -0
  276. package/src/structures/UserSelectMenuInteraction.js +51 -0
  277. package/src/structures/VoiceChannel.js +96 -0
  278. package/src/structures/VoiceRegion.js +46 -0
  279. package/src/structures/VoiceState.js +303 -0
  280. package/src/structures/Webhook.js +481 -0
  281. package/src/structures/WelcomeChannel.js +60 -0
  282. package/src/structures/WelcomeScreen.js +49 -0
  283. package/src/structures/Widget.js +88 -0
  284. package/src/structures/WidgetMember.js +99 -0
  285. package/src/structures/interfaces/Application.js +108 -0
  286. package/src/structures/interfaces/Collector.js +335 -0
  287. package/src/structures/interfaces/InteractionResponses.js +320 -0
  288. package/src/structures/interfaces/TextBasedChannel.js +413 -0
  289. package/src/util/APITypes.js +456 -0
  290. package/src/util/ActivityFlagsBitField.js +26 -0
  291. package/src/util/ApplicationFlagsBitField.js +26 -0
  292. package/src/util/BitField.js +176 -0
  293. package/src/util/ChannelFlagsBitField.js +41 -0
  294. package/src/util/Channels.js +150 -0
  295. package/src/util/Colors.js +73 -0
  296. package/src/util/Components.js +152 -0
  297. package/src/util/Constants.js +230 -0
  298. package/src/util/DataResolver.js +140 -0
  299. package/src/util/Enums.js +13 -0
  300. package/src/util/Events.js +160 -0
  301. package/src/util/Formatters.js +413 -0
  302. package/src/util/GuildMemberFlagsBitField.js +41 -0
  303. package/src/util/IntentsBitField.js +34 -0
  304. package/src/util/LimitedCollection.js +68 -0
  305. package/src/util/MessageFlagsBitField.js +32 -0
  306. package/src/util/Options.js +216 -0
  307. package/src/util/Partials.js +44 -0
  308. package/src/util/PermissionsBitField.js +104 -0
  309. package/src/util/ShardEvents.js +27 -0
  310. package/src/util/Status.js +33 -0
  311. package/src/util/Sweepers.js +467 -0
  312. package/src/util/SystemChannelFlagsBitField.js +43 -0
  313. package/src/util/ThreadMemberFlagsBitField.js +31 -0
  314. package/src/util/Transformers.js +36 -0
  315. package/src/util/UserFlagsBitField.js +32 -0
  316. package/src/util/Util.js +394 -0
  317. package/src/util/WebSocketShardEvents.js +25 -0
@@ -0,0 +1,14 @@
1
+ 'use strict';
2
+
3
+ const Events = require('../../../util/Events');
4
+
5
+ module.exports = (client, packet, shard) => {
6
+ const replayed = shard.sessionInfo.sequence - shard.closeSequence;
7
+ /**
8
+ * Emitted when a shard resumes successfully.
9
+ * @event Client#shardResume
10
+ * @param {number} id The shard id that resumed
11
+ * @param {number} replayedEvents The amount of replayed events
12
+ */
13
+ client.emit(Events.ShardResume, shard.id, replayed);
14
+ };
@@ -0,0 +1,5 @@
1
+ 'use strict';
2
+
3
+ module.exports = (client, packet) => {
4
+ client.actions.StageInstanceCreate.handle(packet.d);
5
+ };
@@ -0,0 +1,5 @@
1
+ 'use strict';
2
+
3
+ module.exports = (client, packet) => {
4
+ client.actions.StageInstanceDelete.handle(packet.d);
5
+ };
@@ -0,0 +1,5 @@
1
+ 'use strict';
2
+
3
+ module.exports = (client, packet) => {
4
+ client.actions.StageInstanceUpdate.handle(packet.d);
5
+ };
@@ -0,0 +1,5 @@
1
+ 'use strict';
2
+
3
+ module.exports = (client, packet) => {
4
+ client.actions.ThreadCreate.handle(packet.d);
5
+ };
@@ -0,0 +1,5 @@
1
+ 'use strict';
2
+
3
+ module.exports = (client, packet) => {
4
+ client.actions.ThreadDelete.handle(packet.d);
5
+ };
@@ -0,0 +1,5 @@
1
+ 'use strict';
2
+
3
+ module.exports = (client, packet) => {
4
+ client.actions.ThreadListSync.handle(packet.d);
5
+ };
@@ -0,0 +1,5 @@
1
+ 'use strict';
2
+
3
+ module.exports = (client, packet) => {
4
+ client.actions.ThreadMembersUpdate.handle(packet.d);
5
+ };
@@ -0,0 +1,5 @@
1
+ 'use strict';
2
+
3
+ module.exports = (client, packet) => {
4
+ client.actions.ThreadMemberUpdate.handle(packet.d);
5
+ };
@@ -0,0 +1,16 @@
1
+ 'use strict';
2
+
3
+ const Events = require('../../../util/Events');
4
+
5
+ module.exports = (client, packet) => {
6
+ const { old, updated } = client.actions.ChannelUpdate.handle(packet.d);
7
+ if (old && updated) {
8
+ /**
9
+ * Emitted whenever a thread is updated - e.g. name change, archive state change, locked state change.
10
+ * @event Client#threadUpdate
11
+ * @param {ThreadChannel} oldThread The thread before the update
12
+ * @param {ThreadChannel} newThread The thread after the update
13
+ */
14
+ client.emit(Events.ThreadUpdate, old, updated);
15
+ }
16
+ };
@@ -0,0 +1,5 @@
1
+ 'use strict';
2
+
3
+ module.exports = (client, packet) => {
4
+ client.actions.TypingStart.handle(packet.d);
5
+ };
@@ -0,0 +1,5 @@
1
+ 'use strict';
2
+
3
+ module.exports = (client, packet) => {
4
+ client.actions.UserUpdate.handle(packet.d);
5
+ };
@@ -0,0 +1,6 @@
1
+ 'use strict';
2
+
3
+ module.exports = (client, packet) => {
4
+ client.emit('debug', `[VOICE] received voice server: ${JSON.stringify(packet)}`);
5
+ client.voice.onVoiceServer(packet.d);
6
+ };
@@ -0,0 +1,5 @@
1
+ 'use strict';
2
+
3
+ module.exports = (client, packet) => {
4
+ client.actions.VoiceStateUpdate.handle(packet.d);
5
+ };
@@ -0,0 +1,5 @@
1
+ 'use strict';
2
+
3
+ module.exports = (client, packet) => {
4
+ client.actions.WebhooksUpdate.handle(packet.d);
5
+ };
@@ -0,0 +1,64 @@
1
+ 'use strict';
2
+
3
+ const handlers = Object.fromEntries([
4
+ ['APPLICATION_COMMAND_PERMISSIONS_UPDATE', require('./APPLICATION_COMMAND_PERMISSIONS_UPDATE')],
5
+ ['AUTO_MODERATION_ACTION_EXECUTION', require('./AUTO_MODERATION_ACTION_EXECUTION')],
6
+ ['AUTO_MODERATION_RULE_CREATE', require('./AUTO_MODERATION_RULE_CREATE')],
7
+ ['AUTO_MODERATION_RULE_DELETE', require('./AUTO_MODERATION_RULE_DELETE')],
8
+ ['AUTO_MODERATION_RULE_UPDATE', require('./AUTO_MODERATION_RULE_UPDATE')],
9
+ ['CHANNEL_CREATE', require('./CHANNEL_CREATE')],
10
+ ['CHANNEL_DELETE', require('./CHANNEL_DELETE')],
11
+ ['CHANNEL_PINS_UPDATE', require('./CHANNEL_PINS_UPDATE')],
12
+ ['CHANNEL_UPDATE', require('./CHANNEL_UPDATE')],
13
+ ['GUILD_AUDIT_LOG_ENTRY_CREATE', require('./GUILD_AUDIT_LOG_ENTRY_CREATE')],
14
+ ['GUILD_BAN_ADD', require('./GUILD_BAN_ADD')],
15
+ ['GUILD_BAN_REMOVE', require('./GUILD_BAN_REMOVE')],
16
+ ['GUILD_CREATE', require('./GUILD_CREATE')],
17
+ ['GUILD_DELETE', require('./GUILD_DELETE')],
18
+ ['GUILD_EMOJIS_UPDATE', require('./GUILD_EMOJIS_UPDATE')],
19
+ ['GUILD_INTEGRATIONS_UPDATE', require('./GUILD_INTEGRATIONS_UPDATE')],
20
+ ['GUILD_MEMBERS_CHUNK', require('./GUILD_MEMBERS_CHUNK')],
21
+ ['GUILD_MEMBER_ADD', require('./GUILD_MEMBER_ADD')],
22
+ ['GUILD_MEMBER_REMOVE', require('./GUILD_MEMBER_REMOVE')],
23
+ ['GUILD_MEMBER_UPDATE', require('./GUILD_MEMBER_UPDATE')],
24
+ ['GUILD_ROLE_CREATE', require('./GUILD_ROLE_CREATE')],
25
+ ['GUILD_ROLE_DELETE', require('./GUILD_ROLE_DELETE')],
26
+ ['GUILD_ROLE_UPDATE', require('./GUILD_ROLE_UPDATE')],
27
+ ['GUILD_SCHEDULED_EVENT_CREATE', require('./GUILD_SCHEDULED_EVENT_CREATE')],
28
+ ['GUILD_SCHEDULED_EVENT_DELETE', require('./GUILD_SCHEDULED_EVENT_DELETE')],
29
+ ['GUILD_SCHEDULED_EVENT_UPDATE', require('./GUILD_SCHEDULED_EVENT_UPDATE')],
30
+ ['GUILD_SCHEDULED_EVENT_USER_ADD', require('./GUILD_SCHEDULED_EVENT_USER_ADD')],
31
+ ['GUILD_SCHEDULED_EVENT_USER_REMOVE', require('./GUILD_SCHEDULED_EVENT_USER_REMOVE')],
32
+ ['GUILD_STICKERS_UPDATE', require('./GUILD_STICKERS_UPDATE')],
33
+ ['GUILD_UPDATE', require('./GUILD_UPDATE')],
34
+ ['INTERACTION_CREATE', require('./INTERACTION_CREATE')],
35
+ ['INVITE_CREATE', require('./INVITE_CREATE')],
36
+ ['INVITE_DELETE', require('./INVITE_DELETE')],
37
+ ['MESSAGE_CREATE', require('./MESSAGE_CREATE')],
38
+ ['MESSAGE_DELETE', require('./MESSAGE_DELETE')],
39
+ ['MESSAGE_DELETE_BULK', require('./MESSAGE_DELETE_BULK')],
40
+ ['MESSAGE_REACTION_ADD', require('./MESSAGE_REACTION_ADD')],
41
+ ['MESSAGE_REACTION_REMOVE', require('./MESSAGE_REACTION_REMOVE')],
42
+ ['MESSAGE_REACTION_REMOVE_ALL', require('./MESSAGE_REACTION_REMOVE_ALL')],
43
+ ['MESSAGE_REACTION_REMOVE_EMOJI', require('./MESSAGE_REACTION_REMOVE_EMOJI')],
44
+ ['MESSAGE_UPDATE', require('./MESSAGE_UPDATE')],
45
+ ['PRESENCE_UPDATE', require('./PRESENCE_UPDATE')],
46
+ ['READY', require('./READY')],
47
+ ['RESUMED', require('./RESUMED')],
48
+ ['STAGE_INSTANCE_CREATE', require('./STAGE_INSTANCE_CREATE')],
49
+ ['STAGE_INSTANCE_DELETE', require('./STAGE_INSTANCE_DELETE')],
50
+ ['STAGE_INSTANCE_UPDATE', require('./STAGE_INSTANCE_UPDATE')],
51
+ ['THREAD_CREATE', require('./THREAD_CREATE')],
52
+ ['THREAD_DELETE', require('./THREAD_DELETE')],
53
+ ['THREAD_LIST_SYNC', require('./THREAD_LIST_SYNC')],
54
+ ['THREAD_MEMBERS_UPDATE', require('./THREAD_MEMBERS_UPDATE')],
55
+ ['THREAD_MEMBER_UPDATE', require('./THREAD_MEMBER_UPDATE')],
56
+ ['THREAD_UPDATE', require('./THREAD_UPDATE')],
57
+ ['TYPING_START', require('./TYPING_START')],
58
+ ['USER_UPDATE', require('./USER_UPDATE')],
59
+ ['VOICE_SERVER_UPDATE', require('./VOICE_SERVER_UPDATE')],
60
+ ['VOICE_STATE_UPDATE', require('./VOICE_STATE_UPDATE')],
61
+ ['WEBHOOKS_UPDATE', require('./WEBHOOKS_UPDATE')],
62
+ ]);
63
+
64
+ module.exports = handlers;
@@ -0,0 +1,48 @@
1
+ 'use strict';
2
+
3
+ // Heavily inspired by node's `internal/errors` module
4
+ const ErrorCodes = require('./ErrorCodes');
5
+ const Messages = require('./Messages');
6
+
7
+ /**
8
+ * Extend an error of some sort into a DiscordjsError.
9
+ * @param {Error} Base Base error to extend
10
+ * @returns {DiscordjsError}
11
+ * @ignore
12
+ */
13
+ function makeDiscordjsError(Base) {
14
+ return class DiscordjsError extends Base {
15
+ constructor(code, ...args) {
16
+ super(message(code, args));
17
+ this.code = code;
18
+ Error.captureStackTrace?.(this, DiscordjsError);
19
+ }
20
+
21
+ get name() {
22
+ return `${super.name} [${this.code}]`;
23
+ }
24
+ };
25
+ }
26
+
27
+ /**
28
+ * Format the message for an error.
29
+ * @param {string} code The error code
30
+ * @param {Array<*>} args Arguments to pass for util format or as function args
31
+ * @returns {string} Formatted string
32
+ * @ignore
33
+ */
34
+ function message(code, args) {
35
+ if (!(code in ErrorCodes)) throw new Error('Error code must be a valid DiscordjsErrorCodes');
36
+ const msg = Messages[code];
37
+ if (!msg) throw new Error(`No message associated with error code: ${code}.`);
38
+ if (typeof msg === 'function') return msg(...args);
39
+ if (!args?.length) return msg;
40
+ args.unshift(msg);
41
+ return String(...args);
42
+ }
43
+
44
+ module.exports = {
45
+ DiscordjsError: makeDiscordjsError(Error),
46
+ DiscordjsTypeError: makeDiscordjsError(TypeError),
47
+ DiscordjsRangeError: makeDiscordjsError(RangeError),
48
+ };
@@ -0,0 +1,319 @@
1
+ 'use strict';
2
+
3
+ /**
4
+ * @typedef {Object} DiscordjsErrorCodes
5
+
6
+ * @property {'ClientInvalidOption'} ClientInvalidOption
7
+ * @property {'ClientInvalidProvidedShards'} ClientInvalidProvidedShards
8
+ * @property {'ClientMissingIntents'} ClientMissingIntents
9
+ * @property {'ClientNotReady'} ClientNotReady
10
+
11
+ * @property {'TokenInvalid'} TokenInvalid
12
+ * @property {'TokenMissing'} TokenMissing
13
+ * @property {'ApplicationCommandPermissionsTokenMissing'} ApplicationCommandPermissionsTokenMissing
14
+
15
+ * @property {'WSCloseRequested'} WSCloseRequested
16
+ * <warn>This property is deprecated.</warn>
17
+ * @property {'WSConnectionExists'} WSConnectionExists
18
+ * <warn>This property is deprecated.</warn>
19
+ * @property {'WSNotOpen'} WSNotOpen
20
+ * <warn>This property is deprecated.</warn>
21
+ * @property {'ManagerDestroyed'} ManagerDestroyed
22
+
23
+ * @property {'BitFieldInvalid'} BitFieldInvalid
24
+
25
+ * @property {'ShardingInvalid'} ShardingInvalid
26
+ * <warn>This property is deprecated.</warn>
27
+ * @property {'ShardingRequired'} ShardingRequired
28
+ * <warn>This property is deprecated.</warn>
29
+ * @property {'InvalidIntents'} InvalidIntents
30
+ * <warn>This property is deprecated.</warn>
31
+ * @property {'DisallowedIntents'} DisallowedIntents
32
+ * <warn>This property is deprecated.</warn>
33
+ * @property {'ShardingNoShards'} ShardingNoShards
34
+ * @property {'ShardingInProcess'} ShardingInProcess
35
+ * @property {'ShardingInvalidEvalBroadcast'} ShardingInvalidEvalBroadcast
36
+ * @property {'ShardingShardNotFound'} ShardingShardNotFound
37
+ * @property {'ShardingAlreadySpawned'} ShardingAlreadySpawned
38
+ * @property {'ShardingProcessExists'} ShardingProcessExists
39
+ * @property {'ShardingWorkerExists'} ShardingWorkerExists
40
+ * @property {'ShardingReadyTimeout'} ShardingReadyTimeout
41
+ * @property {'ShardingReadyDisconnected'} ShardingReadyDisconnected
42
+ * @property {'ShardingReadyDied'} ShardingReadyDied
43
+ * @property {'ShardingNoChildExists'} ShardingNoChildExists
44
+ * @property {'ShardingShardMiscalculation'} ShardingShardMiscalculation
45
+
46
+ * @property {'ColorRange'} ColorRange
47
+ * @property {'ColorConvert'} ColorConvert
48
+
49
+ * @property {'InviteOptionsMissingChannel'} InviteOptionsMissingChannel
50
+
51
+ * @property {'ButtonLabel'} ButtonLabel
52
+ * @property {'ButtonURL'} ButtonURL
53
+ * @property {'ButtonCustomId'} ButtonCustomId
54
+
55
+ * @property {'SelectMenuCustomId'} SelectMenuCustomId
56
+ * @property {'SelectMenuPlaceholder'} SelectMenuPlaceholder
57
+ * @property {'SelectOptionLabel'} SelectOptionLabel
58
+ * @property {'SelectOptionValue'} SelectOptionValue
59
+ * @property {'SelectOptionDescription'} SelectOptionDescription
60
+
61
+ * @property {'InteractionCollectorError'} InteractionCollectorError
62
+
63
+ * @property {'FileNotFound'} FileNotFound
64
+
65
+ * @property {'UserBannerNotFetched'} UserBannerNotFetched
66
+ * @property {'UserNoDMChannel'} UserNoDMChannel
67
+
68
+ * @property {'VoiceNotStageChannel'} VoiceNotStageChannel
69
+
70
+ * @property {'VoiceStateNotOwn'} VoiceStateNotOwn
71
+ * @property {'VoiceStateInvalidType'} VoiceStateInvalidType
72
+
73
+ * @property {'ReqResourceType'} ReqResourceType
74
+
75
+ * @property {'ImageFormat'} ImageFormat
76
+ * @property {'ImageSize'} ImageSize
77
+
78
+ * @property {'MessageBulkDeleteType'} MessageBulkDeleteType
79
+ * @property {'MessageNonceType'} MessageNonceType
80
+ * @property {'MessageContentType'} MessageContentType
81
+
82
+ * @property {'SplitMaxLen'} SplitMaxLen
83
+
84
+ * @property {'BanResolveId'} BanResolveId
85
+ * @property {'FetchBanResolveId'} FetchBanResolveId
86
+
87
+ * @property {'PruneDaysType'} PruneDaysType
88
+
89
+ * @property {'GuildChannelResolve'} GuildChannelResolve
90
+ * @property {'GuildVoiceChannelResolve'} GuildVoiceChannelResolve
91
+ * @property {'GuildChannelOrphan'} GuildChannelOrphan
92
+ * @property {'GuildChannelUnowned'} GuildChannelUnowned
93
+ * @property {'GuildOwned'} GuildOwned
94
+ * @property {'GuildMembersTimeout'} GuildMembersTimeout
95
+ * @property {'GuildUncachedMe'} GuildUncachedMe
96
+ * @property {'ChannelNotCached'} ChannelNotCached
97
+ * @property {'StageChannelResolve'} StageChannelResolve
98
+ * @property {'GuildScheduledEventResolve'} GuildScheduledEventResolve
99
+ * @property {'FetchOwnerId'} FetchOwnerId
100
+
101
+ * @property {'InvalidType'} InvalidType
102
+ * @property {'InvalidElement'} InvalidElement
103
+
104
+ * @property {'MessageThreadParent'} MessageThreadParent
105
+ * @property {'MessageExistingThread'} MessageExistingThread
106
+ * @property {'ThreadInvitableType'} ThreadInvitableType
107
+
108
+ * @property {'WebhookMessage'} WebhookMessage
109
+ * @property {'WebhookTokenUnavailable'} WebhookTokenUnavailable
110
+ * @property {'WebhookURLInvalid'} WebhookURLInvalid
111
+ * @property {'WebhookApplication'} WebhookApplication
112
+ * @property {'MessageReferenceMissing'} MessageReferenceMissing
113
+
114
+ * @property {'EmojiType'} EmojiType
115
+ * @property {'EmojiManaged'} EmojiManaged
116
+ * @property {'MissingManageGuildExpressionsPermission'} MissingManageGuildExpressionsPermission
117
+ * @property {'MissingManageEmojisAndStickersPermission'} MissingManageEmojisAndStickersPermission
118
+ * <warn>This property is deprecated. Use `MissingManageGuildExpressionsPermission` instead.</warn>
119
+ *
120
+ * @property {'NotGuildSticker'} NotGuildSticker
121
+
122
+ * @property {'ReactionResolveUser'} ReactionResolveUser
123
+
124
+ * @property {'VanityURL'} VanityURL
125
+
126
+ * @property {'InviteResolveCode'} InviteResolveCode
127
+
128
+ * @property {'InviteNotFound'} InviteNotFound
129
+
130
+ * @property {'DeleteGroupDMChannel'} DeleteGroupDMChannel
131
+ * @property {'FetchGroupDMChannel'} FetchGroupDMChannel
132
+
133
+ * @property {'MemberFetchNonceLength'} MemberFetchNonceLength
134
+
135
+ * @property {'GlobalCommandPermissions'} GlobalCommandPermissions
136
+ * @property {'GuildUncachedEntityResolve'} GuildUncachedEntityResolve
137
+
138
+ * @property {'InteractionAlreadyReplied'} InteractionAlreadyReplied
139
+ * @property {'InteractionNotReplied'} InteractionNotReplied
140
+ * @property {'InteractionEphemeralReplied'} InteractionEphemeralReplied
141
+ * <warn>This property is deprecated.</warn>
142
+
143
+ * @property {'CommandInteractionOptionNotFound'} CommandInteractionOptionNotFound
144
+ * @property {'CommandInteractionOptionType'} CommandInteractionOptionType
145
+ * @property {'CommandInteractionOptionEmpty'} CommandInteractionOptionEmpty
146
+ * @property {'CommandInteractionOptionNoSubcommand'} CommandInteractionOptionNoSubcommand
147
+ * @property {'CommandInteractionOptionNoSubcommandGroup'} CommandInteractionOptionNoSubcommandGroup
148
+ * @property {'CommandInteractionOptionInvalidChannelType'} CommandInteractionOptionInvalidChannelType
149
+ * @property {'AutocompleteInteractionOptionNoFocusedOption'} AutocompleteInteractionOptionNoFocusedOption
150
+
151
+ * @property {'ModalSubmitInteractionFieldNotFound'} ModalSubmitInteractionFieldNotFound
152
+ * @property {'ModalSubmitInteractionFieldType'} ModalSubmitInteractionFieldType
153
+
154
+ * @property {'InvalidMissingScopes'} InvalidMissingScopes
155
+ * @property {'InvalidScopesWithPermissions'} InvalidScopesWithPermissions
156
+
157
+ * @property {'NotImplemented'} NotImplemented
158
+
159
+ * @property {'GuildForumMessageRequired'} GuildForumMessageRequired
160
+
161
+ * @property {'SweepFilterReturn'} SweepFilterReturn
162
+ */
163
+
164
+ const keys = [
165
+ 'ClientInvalidOption',
166
+ 'ClientInvalidProvidedShards',
167
+ 'ClientMissingIntents',
168
+ 'ClientNotReady',
169
+
170
+ 'TokenInvalid',
171
+ 'TokenMissing',
172
+ 'ApplicationCommandPermissionsTokenMissing',
173
+
174
+ 'WSCloseRequested',
175
+ 'WSConnectionExists',
176
+ 'WSNotOpen',
177
+ 'ManagerDestroyed',
178
+
179
+ 'BitFieldInvalid',
180
+
181
+ 'ShardingInvalid',
182
+ 'ShardingRequired',
183
+ 'InvalidIntents',
184
+ 'DisallowedIntents',
185
+ 'ShardingNoShards',
186
+ 'ShardingInProcess',
187
+ 'ShardingInvalidEvalBroadcast',
188
+ 'ShardingShardNotFound',
189
+ 'ShardingAlreadySpawned',
190
+ 'ShardingProcessExists',
191
+ 'ShardingWorkerExists',
192
+ 'ShardingReadyTimeout',
193
+ 'ShardingReadyDisconnected',
194
+ 'ShardingReadyDied',
195
+ 'ShardingNoChildExists',
196
+ 'ShardingShardMiscalculation',
197
+
198
+ 'ColorRange',
199
+ 'ColorConvert',
200
+
201
+ 'InviteOptionsMissingChannel',
202
+
203
+ 'ButtonLabel',
204
+ 'ButtonURL',
205
+ 'ButtonCustomId',
206
+
207
+ 'SelectMenuCustomId',
208
+ 'SelectMenuPlaceholder',
209
+ 'SelectOptionLabel',
210
+ 'SelectOptionValue',
211
+ 'SelectOptionDescription',
212
+
213
+ 'InteractionCollectorError',
214
+
215
+ 'FileNotFound',
216
+
217
+ 'UserBannerNotFetched',
218
+ 'UserNoDMChannel',
219
+
220
+ 'VoiceNotStageChannel',
221
+
222
+ 'VoiceStateNotOwn',
223
+ 'VoiceStateInvalidType',
224
+
225
+ 'ReqResourceType',
226
+
227
+ 'ImageFormat',
228
+ 'ImageSize',
229
+
230
+ 'MessageBulkDeleteType',
231
+ 'MessageNonceType',
232
+ 'MessageContentType',
233
+
234
+ 'SplitMaxLen',
235
+
236
+ 'BanResolveId',
237
+ 'FetchBanResolveId',
238
+
239
+ 'PruneDaysType',
240
+
241
+ 'GuildChannelResolve',
242
+ 'GuildVoiceChannelResolve',
243
+ 'GuildChannelOrphan',
244
+ 'GuildChannelUnowned',
245
+ 'GuildOwned',
246
+ 'GuildMembersTimeout',
247
+ 'GuildUncachedMe',
248
+ 'ChannelNotCached',
249
+ 'StageChannelResolve',
250
+ 'GuildScheduledEventResolve',
251
+ 'FetchOwnerId',
252
+
253
+ 'InvalidType',
254
+ 'InvalidElement',
255
+
256
+ 'MessageThreadParent',
257
+ 'MessageExistingThread',
258
+ 'ThreadInvitableType',
259
+
260
+ 'WebhookMessage',
261
+ 'WebhookTokenUnavailable',
262
+ 'WebhookURLInvalid',
263
+ 'WebhookApplication',
264
+ 'MessageReferenceMissing',
265
+
266
+ 'EmojiType',
267
+ 'EmojiManaged',
268
+ 'MissingManageGuildExpressionsPermission',
269
+ 'MissingManageEmojisAndStickersPermission',
270
+
271
+ 'NotGuildSticker',
272
+
273
+ 'ReactionResolveUser',
274
+
275
+ 'VanityURL',
276
+
277
+ 'InviteResolveCode',
278
+
279
+ 'InviteNotFound',
280
+
281
+ 'DeleteGroupDMChannel',
282
+ 'FetchGroupDMChannel',
283
+
284
+ 'MemberFetchNonceLength',
285
+
286
+ 'GlobalCommandPermissions',
287
+ 'GuildUncachedEntityResolve',
288
+
289
+ 'InteractionAlreadyReplied',
290
+ 'InteractionNotReplied',
291
+ 'InteractionEphemeralReplied',
292
+
293
+ 'CommandInteractionOptionNotFound',
294
+ 'CommandInteractionOptionType',
295
+ 'CommandInteractionOptionEmpty',
296
+ 'CommandInteractionOptionNoSubcommand',
297
+ 'CommandInteractionOptionNoSubcommandGroup',
298
+ 'CommandInteractionOptionInvalidChannelType',
299
+ 'AutocompleteInteractionOptionNoFocusedOption',
300
+
301
+ 'ModalSubmitInteractionFieldNotFound',
302
+ 'ModalSubmitInteractionFieldType',
303
+
304
+ 'InvalidMissingScopes',
305
+ 'InvalidScopesWithPermissions',
306
+
307
+ 'NotImplemented',
308
+
309
+ 'SweepFilterReturn',
310
+
311
+ 'GuildForumMessageRequired',
312
+ ];
313
+
314
+ // JSDoc for IntelliSense purposes
315
+ /**
316
+ * @type {DiscordjsErrorCodes}
317
+ * @ignore
318
+ */
319
+ module.exports = Object.fromEntries(keys.map(key => [key, key]));