djs-selfbot-v13 3.1.7 → 3.2.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 (155) hide show
  1. package/README.md +18 -35
  2. package/package.json +85 -100
  3. package/src/client/BaseClient.js +3 -4
  4. package/src/client/Client.js +249 -530
  5. package/src/client/actions/Action.js +18 -13
  6. package/src/client/actions/ActionsManager.js +7 -1
  7. package/src/client/actions/AutoModerationActionExecution.js +1 -0
  8. package/src/client/actions/AutoModerationRuleCreate.js +1 -0
  9. package/src/client/actions/AutoModerationRuleDelete.js +1 -0
  10. package/src/client/actions/AutoModerationRuleUpdate.js +1 -0
  11. package/src/client/actions/GuildMemberRemove.js +0 -1
  12. package/src/client/actions/GuildMemberUpdate.js +0 -1
  13. package/src/client/actions/MessageCreate.js +0 -4
  14. package/src/client/actions/PresenceUpdate.js +17 -16
  15. package/src/client/websocket/WebSocketManager.js +11 -31
  16. package/src/client/websocket/WebSocketShard.js +39 -38
  17. package/src/client/websocket/handlers/CALL_CREATE.js +3 -3
  18. package/src/client/websocket/handlers/CALL_DELETE.js +2 -2
  19. package/src/client/websocket/handlers/CALL_UPDATE.js +2 -2
  20. package/src/client/websocket/handlers/CHANNEL_RECIPIENT_ADD.js +16 -13
  21. package/src/client/websocket/handlers/CHANNEL_RECIPIENT_REMOVE.js +11 -11
  22. package/src/client/websocket/handlers/GUILD_CREATE.js +19 -13
  23. package/src/client/websocket/handlers/GUILD_MEMBER_ADD.js +0 -1
  24. package/src/client/websocket/handlers/INTERACTION_MODAL_CREATE.js +1 -0
  25. package/src/client/websocket/handlers/MESSAGE_POLL_VOTE_ADD.js +22 -0
  26. package/src/client/websocket/handlers/MESSAGE_POLL_VOTE_REMOVE.js +12 -0
  27. package/src/client/websocket/handlers/READY.js +90 -140
  28. package/src/client/websocket/handlers/RELATIONSHIP_ADD.js +7 -5
  29. package/src/client/websocket/handlers/RELATIONSHIP_REMOVE.js +7 -5
  30. package/src/client/websocket/handlers/RELATIONSHIP_UPDATE.js +32 -9
  31. package/src/client/websocket/handlers/USER_GUILD_SETTINGS_UPDATE.js +2 -8
  32. package/src/client/websocket/handlers/USER_NOTE_UPDATE.js +1 -1
  33. package/src/client/websocket/handlers/USER_REQUIRED_ACTION_UPDATE.js +78 -0
  34. package/src/client/websocket/handlers/USER_SETTINGS_UPDATE.js +1 -5
  35. package/src/client/websocket/handlers/VOICE_CHANNEL_STATUS_UPDATE.js +12 -0
  36. package/src/client/websocket/handlers/index.js +17 -20
  37. package/src/errors/Messages.js +25 -69
  38. package/src/index.js +13 -43
  39. package/src/managers/ApplicationCommandManager.js +9 -12
  40. package/src/managers/ApplicationCommandPermissionsManager.js +3 -11
  41. package/src/managers/ChannelManager.js +2 -3
  42. package/src/managers/ClientUserSettingManager.js +162 -280
  43. package/src/managers/GuildBanManager.js +47 -1
  44. package/src/managers/GuildChannelManager.js +2 -16
  45. package/src/managers/GuildForumThreadManager.js +24 -30
  46. package/src/managers/GuildManager.js +1 -1
  47. package/src/managers/GuildMemberManager.js +50 -222
  48. package/src/managers/GuildSettingManager.js +22 -15
  49. package/src/managers/MessageManager.js +42 -44
  50. package/src/managers/PermissionOverwriteManager.js +1 -1
  51. package/src/managers/ReactionUserManager.js +5 -5
  52. package/src/managers/RelationshipManager.js +83 -76
  53. package/src/managers/ThreadManager.js +12 -45
  54. package/src/managers/ThreadMemberManager.js +1 -1
  55. package/src/managers/UserManager.js +6 -10
  56. package/src/managers/UserNoteManager.js +53 -0
  57. package/src/rest/APIRequest.js +48 -20
  58. package/src/rest/DiscordAPIError.js +17 -16
  59. package/src/rest/RESTManager.js +1 -21
  60. package/src/rest/RequestHandler.js +35 -21
  61. package/src/structures/ApplicationCommand.js +19 -456
  62. package/src/structures/ApplicationRoleConnectionMetadata.js +3 -0
  63. package/src/structures/AutoModerationRule.js +5 -5
  64. package/src/structures/AutocompleteInteraction.js +1 -0
  65. package/src/structures/BaseGuildTextChannel.js +10 -12
  66. package/src/structures/BaseGuildVoiceChannel.js +16 -18
  67. package/src/structures/{Call.js → CallState.js} +17 -12
  68. package/src/structures/CategoryChannel.js +2 -0
  69. package/src/structures/Channel.js +2 -3
  70. package/src/structures/ClientPresence.js +20 -19
  71. package/src/structures/ClientUser.js +117 -338
  72. package/src/structures/ContextMenuInteraction.js +1 -1
  73. package/src/structures/DMChannel.js +29 -92
  74. package/src/structures/ForumChannel.js +0 -10
  75. package/src/structures/GroupDMChannel.js +387 -0
  76. package/src/structures/Guild.js +135 -271
  77. package/src/structures/GuildAuditLogs.js +0 -5
  78. package/src/structures/GuildChannel.js +16 -2
  79. package/src/structures/GuildMember.js +27 -145
  80. package/src/structures/Interaction.js +1 -62
  81. package/src/structures/Invite.js +35 -52
  82. package/src/structures/Message.js +220 -203
  83. package/src/structures/MessageAttachment.js +11 -0
  84. package/src/structures/MessageButton.js +1 -67
  85. package/src/structures/MessageEmbed.js +1 -1
  86. package/src/structures/MessageMentions.js +3 -2
  87. package/src/structures/MessagePayload.js +6 -46
  88. package/src/structures/MessagePoll.js +238 -0
  89. package/src/structures/MessageReaction.js +1 -1
  90. package/src/structures/MessageSelectMenu.js +1 -252
  91. package/src/structures/Modal.js +70 -188
  92. package/src/structures/Presence.js +787 -129
  93. package/src/structures/Role.js +18 -2
  94. package/src/structures/SelectMenuInteraction.js +2 -151
  95. package/src/structures/Team.js +0 -49
  96. package/src/structures/TextInputComponent.js +0 -70
  97. package/src/structures/ThreadChannel.js +0 -19
  98. package/src/structures/User.js +145 -339
  99. package/src/structures/UserContextMenuInteraction.js +2 -2
  100. package/src/structures/VoiceState.js +74 -39
  101. package/src/structures/WebEmbed.js +38 -52
  102. package/src/structures/Webhook.js +17 -11
  103. package/src/structures/interfaces/Application.js +146 -23
  104. package/src/structures/interfaces/TextBasedChannel.js +409 -256
  105. package/src/util/ApplicationFlags.js +1 -1
  106. package/src/util/AttachmentFlags.js +38 -0
  107. package/src/util/Constants.js +120 -285
  108. package/src/util/Formatters.js +16 -2
  109. package/src/util/InviteFlags.js +29 -0
  110. package/src/util/LimitedCollection.js +1 -1
  111. package/src/util/Options.js +48 -74
  112. package/src/util/Permissions.js +15 -0
  113. package/src/util/PurchasedFlags.js +2 -0
  114. package/src/util/RemoteAuth.js +221 -356
  115. package/src/util/RoleFlags.js +37 -0
  116. package/src/util/Sweepers.js +1 -1
  117. package/src/util/Util.js +158 -32
  118. package/typings/enums.d.ts +24 -73
  119. package/typings/index.d.ts +978 -1288
  120. package/typings/rawDataTypes.d.ts +68 -9
  121. package/src/client/actions/InteractionCreate.js +0 -115
  122. package/src/client/websocket/handlers/APPLICATION_COMMAND_AUTOCOMPLETE_RESPONSE.js +0 -23
  123. package/src/client/websocket/handlers/GUILD_APPLICATION_COMMANDS_UPDATE.js +0 -11
  124. package/src/client/websocket/handlers/GUILD_MEMBER_LIST_UPDATE.js +0 -55
  125. package/src/client/websocket/handlers/GUILD_SOUNDBOARD_SOUNDS_UPDATE.js +0 -0
  126. package/src/client/websocket/handlers/GUILD_SOUNDBOARD_SOUND_CREATE.js +0 -0
  127. package/src/client/websocket/handlers/GUILD_SOUNDBOARD_SOUND_DELETE.js +0 -0
  128. package/src/client/websocket/handlers/GUILD_SOUNDBOARD_SOUND_UPDATE.js +0 -0
  129. package/src/client/websocket/handlers/INTERACTION_CREATE.js +0 -16
  130. package/src/client/websocket/handlers/INTERACTION_FAILURE.js +0 -18
  131. package/src/client/websocket/handlers/INTERACTION_SUCCESS.js +0 -30
  132. package/src/client/websocket/handlers/MESSAGE_ACK.js +0 -16
  133. package/src/client/websocket/handlers/SOUNDBOARD_SOUNDS.js +0 -0
  134. package/src/client/websocket/handlers/VOICE_CHANNEL_EFFECT_SEND.js +0 -0
  135. package/src/managers/DeveloperPortalManager.js +0 -104
  136. package/src/managers/GuildApplicationCommandManager.js +0 -28
  137. package/src/managers/GuildFolderManager.js +0 -24
  138. package/src/managers/SessionManager.js +0 -57
  139. package/src/rest/CaptchaSolver.js +0 -132
  140. package/src/structures/ClientApplication.js +0 -204
  141. package/src/structures/DeveloperPortalApplication.js +0 -520
  142. package/src/structures/GuildFolder.js +0 -75
  143. package/src/structures/InteractionResponse.js +0 -114
  144. package/src/structures/PartialGroupDMChannel.js +0 -433
  145. package/src/structures/RichPresence.js +0 -722
  146. package/src/structures/Session.js +0 -81
  147. package/src/util/Voice.js +0 -1456
  148. package/src/util/arRPC/index.js +0 -229
  149. package/src/util/arRPC/process/detectable.json +0 -1
  150. package/src/util/arRPC/process/index.js +0 -102
  151. package/src/util/arRPC/process/native/index.js +0 -5
  152. package/src/util/arRPC/process/native/linux.js +0 -37
  153. package/src/util/arRPC/process/native/win32.js +0 -25
  154. package/src/util/arRPC/transports/ipc.js +0 -281
  155. package/src/util/arRPC/transports/websocket.js +0 -128
@@ -1,12 +1,6 @@
1
1
  'use strict';
2
- /* Not used:
3
- const process = require('node:process');
4
- const Package = (exports.Package = require('../../package.json'));
5
- */
6
- const { Error, RangeError, TypeError } = require('../errors');
7
2
 
8
- exports.defaultUA =
9
- 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) discord/1.0.9015 Chrome/108.0.5359.215 Electron/22.3.12 Safari/537.36';
3
+ const { Error, RangeError, TypeError } = require('../errors');
10
4
 
11
5
  /**
12
6
  * Max bulk deletable message age
@@ -14,121 +8,32 @@ exports.defaultUA =
14
8
  */
15
9
  exports.MaxBulkDeletableMessageAge = 1_209_600_000;
16
10
 
17
- /**
18
- * API captcha solver
19
- * * `2captcha` - 2captcha.com
20
- * * `capmonster` - capmonster.cloud
21
- * @typedef {string[]} captchaServices
22
- */
23
- exports.captchaServices = ['2captcha', 'capmonster', 'custom'];
24
-
25
- /**
26
- * Automatically scan and delete direct messages you receive that contain explicit media content.
27
- * * `NOT_SCAN` - Direct messages will not be scanned for explicit content.
28
- * * `NOT_FRIEND` - Scan direct messages from everyone unless they are a friend.
29
- * * `EVERYONE` - Scan direct messages from everyone.
30
- * @typedef {string} DMScanLevel
31
- */
32
- exports.DMScanLevel = createEnum(['NOT_SCAN', 'NOT_FRIEND', 'EVERYONE']);
33
-
34
- /**
35
- * This controls when stickers animate:
36
- * * `ALWAYS` - Always animate.
37
- * * `INTERACTION` - On the desktop client, stickers will animate on hover or focus. On mobile clients, stickers will animate on long-press.
38
- * * `NEVER` - Never animate.
39
- * @typedef {string} stickerAnimationMode
40
- */
41
- exports.stickerAnimationMode = createEnum(['ALWAYS', 'INTERACTION', 'NEVER']);
42
-
43
- /**
44
- * All available nitro types:
45
- * * `NONE` - None
46
- * * `NITRO_CLASSIC` - Nitro Classic
47
- * * `NITRO_BOOST` - Nitro
48
- * * `NITRO_BASIC` - Nitro Basic
49
- * * `UNKNOWN` - Unknown
50
- * @typedef {string} NitroType
51
- * @see {@link https://discord.com/developers/docs/resources/user#user-object-premium-types}
52
- */
53
- exports.NitroType = createEnum(['NONE', 'NITRO_CLASSIC', 'NITRO_BOOST', 'NITRO_BASIC']);
54
-
55
- /**
56
- * All available HypeSquad types:
57
- * * `LEAVE` - None
58
- * * `HOUSE_BRAVERY` - HypeSquad Bravery
59
- * * `HOUSE_BRILLIANCE` - HypeSquad Brilliance
60
- * * `HOUSE_BALANCE` - HypeSquad Balance
61
- * @typedef {string} HypeSquadType
62
- */
63
- exports.HypeSquadType = createEnum(['LEAVE', 'HOUSE_BRAVERY', 'HOUSE_BRILLIANCE', 'HOUSE_BALANCE']);
64
-
65
- /**
66
- * All locale codes:
67
- * * `DANISH`
68
- * * `GERMAN`
69
- * * `ENGLISH_UK`
70
- * * `ENGLISH_US`
71
- * * `SPANISH`
72
- * * `FRENCH`
73
- * * `CROATIAN`
74
- * * `ITALIAN`
75
- * * `LITHUANIAN`
76
- * * `HUNGARIAN`
77
- * * `DUTCH`
78
- * * `NORWEGIAN`
79
- * * `POLISH`
80
- * * `BRAZILIAN_PORTUGUESE`
81
- * * `ROMANIA_ROMANIAN`
82
- * * `FINNISH`
83
- * * `SWEDISH`
84
- * * `VIETNAMESE`
85
- * * `TURKISH`
86
- * * `CZECH`
87
- * * `GREEK`
88
- * * `BULGARIAN`
89
- * * `RUSSIAN`
90
- * * `UKRAINIAN`
91
- * * `HINDI`
92
- * * `THAI`
93
- * * `CHINA_CHINESE`
94
- * * `JAPANESE`
95
- * * `TAIWAN_CHINESE`
96
- * * `KOREAN`
97
- * @typedef {Object<string, string>} localeSetting
98
- * @see {@link https://discord.com/developers/docs/reference#locales}
99
- */
100
- exports.localeSetting = {
101
- da: 'DANISH',
102
- de: 'GERMAN',
103
- 'en-GB': 'ENGLISH_UK',
104
- 'en-US': 'ENGLISH_US',
105
- 'es-ES': 'SPANISH',
106
- fr: 'FRENCH',
107
- hr: 'CROATIAN',
108
- it: 'ITALIAN',
109
- lt: 'LITHUANIAN',
110
- hu: 'HUNGARIAN',
111
- nl: 'DUTCH',
112
- no: 'NORWEGIAN',
113
- pl: 'POLISH',
114
- 'pt-BR': 'BRAZILIAN_PORTUGUESE',
115
- ro: 'ROMANIA_ROMANIAN',
116
- fi: 'FINNISH',
117
- 'sv-SE': 'SWEDISH',
118
- vi: 'VIETNAMESE',
119
- tr: 'TURKISH',
120
- cs: 'CZECH',
121
- el: 'GREEK',
122
- bg: 'BULGARIAN',
123
- ru: 'RUSSIAN',
124
- uk: 'UKRAINIAN',
125
- hi: 'HINDI',
126
- th: 'THAI',
127
- 'zh-CN': 'CHINA_CHINESE',
128
- ja: 'JAPANESE',
129
- 'zh-TW': 'TAIWAN_CHINESE',
130
- ko: 'KOREAN',
131
- };
11
+ exports.UserAgent =
12
+ 'Mozilla/5.0 (Windows NT 10.0; WOW64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.5359.215 Safari/537.36';
13
+
14
+ /**
15
+ * Google Chrome v108 TLS ciphers
16
+ * @see {@link https://tls.browserleaks.com/tls}
17
+ * @see {@link https://github.com/yifeikong/curl-impersonate}
18
+ * @typedef {Array<string>} Ciphers
19
+ */
20
+ exports.ciphers = [
21
+ 'TLS_AES_128_GCM_SHA256',
22
+ 'TLS_AES_256_GCM_SHA384',
23
+ 'TLS_CHACHA20_POLY1305_SHA256',
24
+ 'ECDHE-ECDSA-AES128-GCM-SHA256',
25
+ 'ECDHE-RSA-AES128-GCM-SHA256',
26
+ 'ECDHE-ECDSA-AES256-GCM-SHA384',
27
+ 'ECDHE-RSA-AES256-GCM-SHA384',
28
+ 'ECDHE-ECDSA-CHACHA20-POLY1305',
29
+ 'ECDHE-RSA-CHACHA20-POLY1305',
30
+ 'ECDHE-RSA-AES128-SHA',
31
+ 'ECDHE-RSA-AES256-SHA',
32
+ 'AES128-GCM-SHA256',
33
+ 'AES256-GCM-SHA384',
34
+ 'AES128-SHA',
35
+ 'AES256-SHA',
36
+ ];
132
37
 
133
38
  /**
134
39
  * The types of WebSocket error codes:
@@ -193,14 +98,11 @@ exports.Endpoints = {
193
98
  },
194
99
  AvatarDecoration: (userId, hash, format = 'png', size) =>
195
100
  makeImageUrl(`${root}/avatar-decorations/${userId}/${hash}`, { format, size }),
101
+ ClanBadge: (guildId, hash) => `${root}/clan-badges/${guildId}/${hash}.png`,
196
102
  GuildMemberAvatar: (guildId, memberId, hash, format = 'webp', size, dynamic = false) => {
197
103
  if (dynamic && hash.startsWith('a_')) format = 'gif';
198
104
  return makeImageUrl(`${root}/guilds/${guildId}/users/${memberId}/avatars/${hash}`, { format, size });
199
105
  },
200
- GuildMemberBanner: (guildId, memberId, hash, format = 'webp', size, dynamic = false) => {
201
- if (dynamic && hash.startsWith('a_')) format = 'gif';
202
- return makeImageUrl(`${root}/guilds/${guildId}/users/${memberId}/banners/${hash}`, { format, size });
203
- },
204
106
  Banner: (id, hash, format, size, dynamic = false) => {
205
107
  if (dynamic && hash.startsWith('a_')) format = 'gif';
206
108
  return makeImageUrl(`${root}/banners/${id}/${hash}`, { format, size });
@@ -227,14 +129,11 @@ exports.Endpoints = {
227
129
  makeImageUrl(`${root}/role-icons/${roleId}/${hash}`, { size, format }),
228
130
  guildScheduledEventCover: (scheduledEventId, coverHash, format, size) =>
229
131
  makeImageUrl(`${root}/guild-events/${scheduledEventId}/${coverHash}`, { size, format }),
230
- // Test only
231
- BadgeIcon: hash => makeImageUrl(`${root}/badge-icons/${hash}`, { format: 'png' }),
232
132
  };
233
133
  },
234
134
  invite: (root, code, eventId) => (eventId ? `${root}/${code}?event=${eventId}` : `${root}/${code}`),
235
135
  scheduledEvent: (root, guildId, eventId) => `${root}/${guildId}/${eventId}`,
236
- botGateway: '/gateway/bot',
237
- userGateway: '/gateway',
136
+ botGateway: '/gateway',
238
137
  };
239
138
 
240
139
  /**
@@ -298,8 +197,10 @@ exports.Status = {
298
197
  * * REQUEST_SOUNDBOARD_SOUNDS: 31
299
198
  * * SPEED_TEST_CREATE: 32 => Create a voice speed test.
300
199
  * * SPEED_TEST_DELETE: 33 => Delete a voice speed test.
301
- * * REQUEST_LAST_MESSAGES: 34 => Request last messages for a guild's channels.
200
+ * * REQUEST_LAST_MESSAGES: 34 => Request last messages for a guild's channels.
302
201
  * * SEARCH_RECENT_MEMBERS: 35 => ~ Opcode 8 (Member Safety)
202
+ * * REQUEST_CHANNEL_STATUSES: 36 => Request Voice Channel status.
203
+ * * GUILD_SUBSCRIPTIONS_BULK: 37 => ~ Opcode 14
303
204
  * @typedef {Object<string, number>} Opcodes
304
205
  */
305
206
  exports.Opcodes = {
@@ -338,7 +239,9 @@ exports.Opcodes = {
338
239
  SPEED_TEST_DELETE: 33, // Payload: null
339
240
  REQUEST_LAST_MESSAGES: 34, // Payload: { guild_id: string, channel_ids: string[] }
340
241
  SEARCH_RECENT_MEMBERS: 35, // Payload: { guild_id: string, query: string, continuation_token?: Snowflake }
341
- // Update: 17/7/2023
242
+ REQUEST_CHANNEL_STATUSES: 36, // Payload: { guild_id: string } | Response: CHANNEL_STATUSES | { guild_id, channels: { status, id }[] }
243
+ GUILD_SUBSCRIPTIONS_BULK: 37, // Payload: { subscriptions: Object<guild_id, { Payload_op14 - guild_id }> } | Response: Opcode 14
244
+ // Updated: 23/1/2024
342
245
  };
343
246
 
344
247
  /**
@@ -348,7 +251,6 @@ exports.Opcodes = {
348
251
  * * API_RESPONSE: apiResponse
349
252
  * * API_REQUEST: apiRequest
350
253
  * * CLIENT_READY: ready
351
- * * APPLICATION_COMMAND_AUTOCOMPLETE_RESPONSE: applicationCommandAutocompleteResponse
352
254
  * * APPLICATION_COMMAND_CREATE: applicationCommandCreate (deprecated)
353
255
  * * APPLICATION_COMMAND_DELETE: applicationCommandDelete (deprecated)
354
256
  * * APPLICATION_COMMAND_UPDATE: applicationCommandUpdate (deprecated)
@@ -357,9 +259,7 @@ exports.Opcodes = {
357
259
  * * AUTO_MODERATION_RULE_CREATE: autoModerationRuleCreate
358
260
  * * AUTO_MODERATION_RULE_DELETE: autoModerationRuleDelete
359
261
  * * AUTO_MODERATION_RULE_UPDATE: autoModerationRuleUpdate
360
- * * CALL_CREATE: callCreate
361
- * * CALL_DELETE: callDelete
362
- * * CALL_UPDATE: callUpdate
262
+ * * GUILD_AVAILABLE: guildAvailable
363
263
  * * GUILD_CREATE: guildCreate
364
264
  * * GUILD_DELETE: guildDelete
365
265
  * * GUILD_UPDATE: guildUpdate
@@ -384,9 +284,6 @@ exports.Opcodes = {
384
284
  * * CHANNEL_DELETE: channelDelete
385
285
  * * CHANNEL_UPDATE: channelUpdate
386
286
  * * CHANNEL_PINS_UPDATE: channelPinsUpdate
387
- * * CHANNEL_RECIPIENT_REMOVE: channelRecipientRemove
388
- * * CHANNEL_RECIPIENT_ADD: channelRecipientAdd
389
- * * MESSAGE_ACK: messageAck
390
287
  * * MESSAGE_CREATE: messageCreate
391
288
  * * MESSAGE_DELETE: messageDelete
392
289
  * * MESSAGE_UPDATE: messageUpdate
@@ -407,7 +304,6 @@ exports.Opcodes = {
407
304
  * * VOICE_STATE_UPDATE: voiceStateUpdate
408
305
  * * TYPING_START: typingStart
409
306
  * * WEBHOOKS_UPDATE: webhookUpdate
410
- * * INTERACTION_CREATE: interactionCreate
411
307
  * * ERROR: error
412
308
  * * WARN: warn
413
309
  * * DEBUG: debug
@@ -431,6 +327,16 @@ exports.Opcodes = {
431
327
  * * GUILD_SCHEDULED_EVENT_USER_ADD: guildScheduledEventUserAdd
432
328
  * * GUILD_SCHEDULED_EVENT_USER_REMOVE: guildScheduledEventUserRemove
433
329
  * * GUILD_AUDIT_LOG_ENTRY_CREATE: guildAuditLogEntryCreate
330
+ * * UNHANDLED_PACKET: unhandledPacket
331
+ * * RELATIONSHIP_ADD: relationshipAdd
332
+ * * RELATIONSHIP_REMOVE: relationshipRemove
333
+ * * RELATIONSHIP_UPDATE: relationshipUpdate
334
+ * * CHANNEL_RECIPIENT_ADD: channelRecipientAdd
335
+ * * CHANNEL_RECIPIENT_REMOVE: channelRecipientRemove
336
+ * * INTERACTION_MODAL_CREATE: interactionModalCreate
337
+ * * CALL_CREATE: callCreate
338
+ * * CALL_UPDATE: callUpdate
339
+ * * CALL_DELETE: callDelete
434
340
  * @typedef {Object<string, string>} Events
435
341
  */
436
342
  exports.Events = {
@@ -439,7 +345,6 @@ exports.Events = {
439
345
  API_RESPONSE: 'apiResponse',
440
346
  API_REQUEST: 'apiRequest',
441
347
  CLIENT_READY: 'ready',
442
- APPLICATION_COMMAND_AUTOCOMPLETE_RESPONSE: 'applicationCommandAutocompleteResponse',
443
348
  APPLICATION_COMMAND_CREATE: 'applicationCommandCreate',
444
349
  APPLICATION_COMMAND_DELETE: 'applicationCommandDelete',
445
350
  APPLICATION_COMMAND_UPDATE: 'applicationCommandUpdate',
@@ -448,20 +353,16 @@ exports.Events = {
448
353
  AUTO_MODERATION_RULE_CREATE: 'autoModerationRuleCreate',
449
354
  AUTO_MODERATION_RULE_DELETE: 'autoModerationRuleDelete',
450
355
  AUTO_MODERATION_RULE_UPDATE: 'autoModerationRuleUpdate',
451
- CALL_CREATE: 'callCreate',
452
- CALL_DELETE: 'callDelete',
453
- CALL_UPDATE: 'callUpdate',
356
+ GUILD_AVAILABLE: 'guildAvailable',
454
357
  GUILD_CREATE: 'guildCreate',
455
358
  GUILD_DELETE: 'guildDelete',
456
359
  GUILD_UPDATE: 'guildUpdate',
457
- GUILD_APPLICATION_COMMANDS_UPDATE: 'guildApplicationCommandUpdate',
458
360
  GUILD_UNAVAILABLE: 'guildUnavailable',
459
361
  GUILD_MEMBER_ADD: 'guildMemberAdd',
460
362
  GUILD_MEMBER_REMOVE: 'guildMemberRemove',
461
363
  GUILD_MEMBER_UPDATE: 'guildMemberUpdate',
462
364
  GUILD_MEMBER_AVAILABLE: 'guildMemberAvailable',
463
365
  GUILD_MEMBERS_CHUNK: 'guildMembersChunk',
464
- GUILD_MEMBER_LIST_UPDATE: 'guildMemberListUpdate',
465
366
  GUILD_INTEGRATIONS_UPDATE: 'guildIntegrationsUpdate',
466
367
  GUILD_ROLE_CREATE: 'roleCreate',
467
368
  GUILD_ROLE_DELETE: 'roleDelete',
@@ -477,9 +378,6 @@ exports.Events = {
477
378
  CHANNEL_DELETE: 'channelDelete',
478
379
  CHANNEL_UPDATE: 'channelUpdate',
479
380
  CHANNEL_PINS_UPDATE: 'channelPinsUpdate',
480
- CHANNEL_RECIPIENT_REMOVE: 'channelRecipientRemove',
481
- CHANNEL_RECIPIENT_ADD: 'channelRecipientAdd',
482
- MESSAGE_ACK: 'messageAck',
483
381
  MESSAGE_CREATE: 'messageCreate',
484
382
  MESSAGE_DELETE: 'messageDelete',
485
383
  MESSAGE_UPDATE: 'messageUpdate',
@@ -495,17 +393,11 @@ exports.Events = {
495
393
  THREAD_MEMBER_UPDATE: 'threadMemberUpdate',
496
394
  THREAD_MEMBERS_UPDATE: 'threadMembersUpdate',
497
395
  USER_UPDATE: 'userUpdate',
498
- USER_SETTINGS_UPDATE: 'userSettingsUpdate',
499
- USER_GUILD_SETTINGS_UPDATE: 'userGuildSettingsUpdate',
500
396
  PRESENCE_UPDATE: 'presenceUpdate',
501
397
  VOICE_SERVER_UPDATE: 'voiceServerUpdate',
502
398
  VOICE_STATE_UPDATE: 'voiceStateUpdate',
503
399
  TYPING_START: 'typingStart',
504
400
  WEBHOOKS_UPDATE: 'webhookUpdate',
505
- INTERACTION_CREATE: 'interactionCreate',
506
- INTERACTION_SUCCESS: 'interactionSuccess',
507
- INTERACTION_FAILURE: 'interactionFailure',
508
- INTERACTION_MODAL_CREATE: 'interactionModalCreate',
509
401
  ERROR: 'error',
510
402
  WARN: 'warn',
511
403
  DEBUG: 'debug',
@@ -529,18 +421,18 @@ exports.Events = {
529
421
  GUILD_SCHEDULED_EVENT_USER_ADD: 'guildScheduledEventUserAdd',
530
422
  GUILD_SCHEDULED_EVENT_USER_REMOVE: 'guildScheduledEventUserRemove',
531
423
  GUILD_AUDIT_LOG_ENTRY_CREATE: 'guildAuditLogEntryCreate',
424
+ UNHANDLED_PACKET: 'unhandledPacket',
532
425
  RELATIONSHIP_ADD: 'relationshipAdd',
533
- RELATIONSHIP_REMOVE: 'relationshipRemove',
534
426
  RELATIONSHIP_UPDATE: 'relationshipUpdate',
535
- UNHANDLED_PACKET: 'unhandledPacket',
536
- CAPTCHA_REQUIRED: 'captchaRequired',
537
- // ! TODO: Add more events
538
- SOUNDBOARD_SOUNDS: 'soundboardSounds',
539
- VOICE_CHANNEL_EFFECT_SEND: 'voiceChannelEffectSend',
540
- GUILD_SOUNDBOARD_SOUND_CREATE: 'guildSoundboardSoundCreate',
541
- GUILD_SOUNDBOARD_SOUND_UPDATE: 'guildSoundboardSoundUpdate',
542
- GUILD_SOUNDBOARD_SOUNDS_UPDATE: 'guildSoundboardSoundsUpdate',
543
- GUILD_SOUNDBOARD_SOUND_DELETE: 'guildSoundboardSoundDelete',
427
+ RELATIONSHIP_REMOVE: 'relationshipRemove',
428
+ CHANNEL_RECIPIENT_ADD: 'channelRecipientAdd',
429
+ CHANNEL_RECIPIENT_REMOVE: 'channelRecipientRemove',
430
+ INTERACTION_MODAL_CREATE: 'interactionModalCreate',
431
+ CALL_CREATE: 'callCreate',
432
+ CALL_UPDATE: 'callUpdate',
433
+ CALL_DELETE: 'callDelete',
434
+ MESSAGE_POLL_VOTE_ADD: 'messagePollVoteAdd',
435
+ MESSAGE_POLL_VOTE_REMOVE: 'messagePollVoteRemove',
544
436
  };
545
437
 
546
438
  /**
@@ -580,11 +472,10 @@ exports.PartialTypes = keyMirror(['USER', 'CHANNEL', 'GUILD_MEMBER', 'MESSAGE',
580
472
  * The type of a WebSocket message event, e.g. `MESSAGE_CREATE`. Here are the available events:
581
473
  * * READY
582
474
  * * RESUMED
583
- * * APPLICATION_COMMAND_AUTOCOMPLETE_RESPONSE
584
475
  * * APPLICATION_COMMAND_CREATE (deprecated)
585
476
  * * APPLICATION_COMMAND_DELETE (deprecated)
586
- * * APPLICATION_COMMAND_UPDATE (deprecated)
587
477
  * * APPLICATION_COMMAND_PERMISSIONS_UPDATE
478
+ * * APPLICATION_COMMAND_UPDATE (deprecated)
588
479
  * * AUTO_MODERATION_ACTION_EXECUTION
589
480
  * * AUTO_MODERATION_RULE_CREATE
590
481
  * * AUTO_MODERATION_RULE_DELETE
@@ -629,7 +520,6 @@ exports.PartialTypes = keyMirror(['USER', 'CHANNEL', 'GUILD_MEMBER', 'MESSAGE',
629
520
  * * VOICE_STATE_UPDATE
630
521
  * * VOICE_SERVER_UPDATE
631
522
  * * WEBHOOKS_UPDATE
632
- * * INTERACTION_CREATE
633
523
  * * STAGE_INSTANCE_CREATE
634
524
  * * STAGE_INSTANCE_UPDATE
635
525
  * * STAGE_INSTANCE_DELETE
@@ -646,7 +536,6 @@ exports.PartialTypes = keyMirror(['USER', 'CHANNEL', 'GUILD_MEMBER', 'MESSAGE',
646
536
  exports.WSEvents = keyMirror([
647
537
  'READY',
648
538
  'RESUMED',
649
- 'APPLICATION_COMMAND_AUTOCOMPLETE_RESPONSE',
650
539
  'APPLICATION_COMMAND_CREATE',
651
540
  'APPLICATION_COMMAND_DELETE',
652
541
  'APPLICATION_COMMAND_UPDATE',
@@ -695,7 +584,6 @@ exports.WSEvents = keyMirror([
695
584
  'VOICE_STATE_UPDATE',
696
585
  'VOICE_SERVER_UPDATE',
697
586
  'WEBHOOKS_UPDATE',
698
- 'INTERACTION_CREATE',
699
587
  'STAGE_INSTANCE_CREATE',
700
588
  'STAGE_INSTANCE_UPDATE',
701
589
  'STAGE_INSTANCE_DELETE',
@@ -723,6 +611,7 @@ exports.WSEvents = keyMirror([
723
611
  * * `guilds.join`: allows the bot to join the user to any guild it is in using Guild#addMember
724
612
  * * `gdm.join`: allows joining the user to a group dm
725
613
  * * `webhook.incoming`: generates a webhook to a channel
614
+ * * `role_connections.write`: allows your app to update a user's connection and metadata for the app
726
615
  * @typedef {string} InviteScope
727
616
  * @see {@link https://discord.com/developers/docs/topics/oauth2#shared-resources-oauth2-scopes}
728
617
  */
@@ -739,6 +628,7 @@ exports.InviteScopes = [
739
628
  'guilds.join',
740
629
  'gdm.join',
741
630
  'webhook.incoming',
631
+ 'role_connections.write',
742
632
  ];
743
633
 
744
634
  // TODO: change Integration#expireBehavior to this and clean up Integration
@@ -868,10 +758,11 @@ exports.SystemMessageTypes = exports.MessageTypes.filter(
868
758
  * * WATCHING
869
759
  * * CUSTOM
870
760
  * * COMPETING
761
+ * * HANG
871
762
  * @typedef {string} ActivityType
872
763
  * @see {@link https://discord.com/developers/docs/game-sdk/activities#data-models-activitytype-enum}
873
764
  */
874
- exports.ActivityTypes = createEnum(['PLAYING', 'STREAMING', 'LISTENING', 'WATCHING', 'CUSTOM', 'COMPETING']);
765
+ exports.ActivityTypes = createEnum(['PLAYING', 'STREAMING', 'LISTENING', 'WATCHING', 'CUSTOM', 'COMPETING', 'HANG']);
875
766
 
876
767
  /**
877
768
  * All available channel types:
@@ -890,7 +781,7 @@ exports.ActivityTypes = createEnum(['PLAYING', 'STREAMING', 'LISTENING', 'WATCHI
890
781
  * * `GUILD_PRIVATE_THREAD` - a guild text channel's private thread channel
891
782
  * * `GUILD_STAGE_VOICE` - a guild stage voice channel
892
783
  * * `GUILD_DIRECTORY` - the channel in a hub containing guilds
893
- * * `GUILD_FORUM` - a guild channel that only contains threads
784
+ * * `GUILD_FORUM` - a channel that can only contain threads
894
785
  * * `UNKNOWN` - a generic channel of unknown type, could be Channel or GuildChannel
895
786
  * @typedef {string} ChannelType
896
787
  * @see {@link https://discord.com/developers/docs/resources/channel#channel-object-channel-types}
@@ -1129,7 +1020,6 @@ exports.VerificationLevels = createEnum(['NONE', 'LOW', 'MEDIUM', 'HIGH', 'VERY_
1129
1020
  * * MAXIMUM_PINS
1130
1021
  * * MAXIMUM_RECIPIENTS
1131
1022
  * * MAXIMUM_ROLES
1132
- * * MAXIMUM_USERNAMES
1133
1023
  * * MAXIMUM_WEBHOOKS
1134
1024
  * * MAXIMUM_EMOJIS
1135
1025
  * * MAXIMUM_REACTIONS
@@ -1186,7 +1076,6 @@ exports.VerificationLevels = createEnum(['NONE', 'LOW', 'MEDIUM', 'HIGH', 'VERY_
1186
1076
  * * INVALID_API_VERSION
1187
1077
  * * FILE_UPLOADED_EXCEEDS_MAXIMUM_SIZE
1188
1078
  * * INVALID_FILE_UPLOADED
1189
- * * GIFT_CODE_CLAIMED
1190
1079
  * * CANNOT_SELF_REDEEM_GIFT
1191
1080
  * * INVALID_GUILD
1192
1081
  * * INVALID_MESSAGE_TYPE
@@ -1201,7 +1090,6 @@ exports.VerificationLevels = createEnum(['NONE', 'LOW', 'MEDIUM', 'HIGH', 'VERY_
1201
1090
  * * INSUFFICIENT_BOOSTS
1202
1091
  * * INVALID_JSON
1203
1092
  * * TWO_FACTOR_REQUIRED
1204
- * * INVALID_TWO_FACTOR_CODE
1205
1093
  * * NO_USERS_WITH_DISCORDTAG_EXIST
1206
1094
  * * REACTION_BLOCKED
1207
1095
  * * RESOURCE_OVERLOADED
@@ -1267,27 +1155,20 @@ exports.APIErrors = {
1267
1155
  UNKNOWN_GUILD_SCHEDULED_EVENT_USER: 10071,
1268
1156
  BOT_PROHIBITED_ENDPOINT: 20001,
1269
1157
  BOT_ONLY_ENDPOINT: 20002,
1270
- RPC_PROXY_DISALLOWED: 20003,
1271
1158
  CANNOT_SEND_EXPLICIT_CONTENT: 20009,
1272
- ACCOUNT_SCHEDULED_FOR_DELETION: 20011,
1273
1159
  NOT_AUTHORIZED: 20012,
1274
- ACCOUNT_DISABLED: 20013,
1275
1160
  SLOWMODE_RATE_LIMIT: 20016,
1276
1161
  ACCOUNT_OWNER_ONLY: 20018,
1277
1162
  ANNOUNCEMENT_EDIT_LIMIT_EXCEEDED: 20022,
1278
- UNDER_MINIMUM_AGE: 20024,
1279
- QUARANTINED: 20026,
1280
1163
  CHANNEL_HIT_WRITE_RATELIMIT: 20028,
1281
1164
  SERVER_HIT_WRITE_RATELIMIT: 20029,
1282
1165
  CONTENT_NOT_ALLOWED: 20031,
1283
1166
  GUILD_PREMIUM_LEVEL_TOO_LOW: 20035,
1284
- VANITY_URL_REQUIRED_FOR_PUBLISHED_GUILDS: 20040,
1285
1167
  MAXIMUM_GUILDS: 30001,
1286
1168
  MAXIMUM_FRIENDS: 30002,
1287
1169
  MAXIMUM_PINS: 30003,
1288
1170
  MAXIMUM_RECIPIENTS: 30004,
1289
1171
  MAXIMUM_ROLES: 30005,
1290
- MAXIMUN_USERNAMES: 30006,
1291
1172
  MAXIMUM_WEBHOOKS: 30007,
1292
1173
  MAXIMUM_EMOJIS: 30008,
1293
1174
  MAXIMUM_REACTIONS: 30010,
@@ -1296,7 +1177,6 @@ exports.APIErrors = {
1296
1177
  MAXIMUM_INVITES: 30016,
1297
1178
  MAXIMUM_ANIMATED_EMOJIS: 30018,
1298
1179
  MAXIMUM_SERVER_MEMBERS: 30019,
1299
- NOT_ENOUGH_GUILD_MEMBERS: 30029,
1300
1180
  MAXIMUM_NUMBER_OF_SERVER_CATEGORIES: 30030,
1301
1181
  GUILD_ALREADY_HAS_TEMPLATE: 30031,
1302
1182
  MAXIMUM_THREAD_PARTICIPANTS: 30033,
@@ -1310,16 +1190,11 @@ exports.APIErrors = {
1310
1190
  UNAUTHORIZED: 40001,
1311
1191
  ACCOUNT_VERIFICATION_REQUIRED: 40002,
1312
1192
  DIRECT_MESSAGES_TOO_FAST: 40003,
1313
- SEND_MESSAGE_TEMPORARILY_DISABLED: 40004,
1314
1193
  REQUEST_ENTITY_TOO_LARGE: 40005,
1315
1194
  FEATURE_TEMPORARILY_DISABLED: 40006,
1316
1195
  USER_BANNED: 40007,
1317
- CONNECTION_REVOKED: 40012,
1318
- DELETE_ACCOUNT_TRANSFER_TEAM_OWNERSHIP: 40028,
1319
1196
  TARGET_USER_NOT_CONNECTED_TO_VOICE: 40032,
1320
1197
  ALREADY_CROSSPOSTED: 40033,
1321
- TAG_REQUIRED: 40067,
1322
- INVITES_DISABLED: 40069,
1323
1198
  MISSING_ACCESS: 50001,
1324
1199
  INVALID_ACCOUNT_TYPE: 50002,
1325
1200
  CANNOT_EXECUTE_ON_DM: 50003,
@@ -1336,13 +1211,9 @@ exports.APIErrors = {
1336
1211
  INVALID_AUTHENTICATION_TOKEN: 50014,
1337
1212
  NOTE_TOO_LONG: 50015,
1338
1213
  INVALID_BULK_DELETE_QUANTITY: 50016,
1339
- INVALID_MFA_LEVEL: 50017,
1340
- INVALID_PASSWORD: 50018,
1341
1214
  CANNOT_PIN_MESSAGE_IN_OTHER_CHANNEL: 50019,
1342
1215
  INVALID_OR_TAKEN_INVITE_CODE: 50020,
1343
1216
  CANNOT_EXECUTE_ON_SYSTEM_MESSAGE: 50021,
1344
- INVALID_PHONE_NUMBER: 50022,
1345
- INVALID_CLIENT_ID: 50023,
1346
1217
  CANNOT_EXECUTE_ON_CHANNEL_TYPE: 50024,
1347
1218
  INVALID_OAUTH_TOKEN: 50025,
1348
1219
  MISSING_OAUTH_SCOPE: 50026,
@@ -1355,8 +1226,6 @@ exports.APIErrors = {
1355
1226
  INVALID_API_VERSION: 50041,
1356
1227
  FILE_UPLOADED_EXCEEDS_MAXIMUM_SIZE: 50045,
1357
1228
  INVALID_FILE_UPLOADED: 50046,
1358
- GIFT_CODE_CLAIMED: 50050,
1359
- INVALID_GIFT_REDEMPTION_OWNED: 50051,
1360
1229
  CANNOT_SELF_REDEEM_GIFT: 50054,
1361
1230
  INVALID_GUILD: 50055,
1362
1231
  INVALID_MESSAGE_TYPE: 50068,
@@ -1367,15 +1236,9 @@ exports.APIErrors = {
1367
1236
  INVALID_THREAD_NOTIFICATION_SETTINGS: 50084,
1368
1237
  PARAMETER_EARLIER_THAN_CREATION: 50085,
1369
1238
  GUILD_NOT_AVAILABLE_IN_LOCATION: 50095,
1370
- INVALID_CANNOT_FRIEND_SELF: 50096,
1371
1239
  GUILD_MONETIZATION_REQUIRED: 50097,
1372
1240
  INSUFFICIENT_BOOSTS: 50101,
1373
- INVALID_USER_SETTINGS_DATA: 50105,
1374
- INVALID_ACTIVITY_LAUNCH_NO_ACCESS: 50106,
1375
- INVALID_ACTIVITY_LAUNCH_PREMIUM_TIER: 50107,
1376
- INVALID_ACTIVITY_LAUNCH_CONCURRENT_ACTIVITIES: 50108,
1377
1241
  INVALID_JSON: 50109,
1378
- INVALID_FILE_ASSET_SIZE_RESIZE_GIF: 50138,
1379
1242
  CANNOT_MIX_SUBSCRIPTION_AND_NON_SUBSCRIPTION_ROLES_FOR_EMOJI: 50144,
1380
1243
  CANNOT_CONVERT_PREMIUM_EMOJI_TO_NORMAL_EMOJI: 50145,
1381
1244
  VOICE_MESSAGES_DO_NOT_SUPPORT_ADDITIONAL_CONTENT: 50159,
@@ -1383,30 +1246,9 @@ exports.APIErrors = {
1383
1246
  VOICE_MESSAGES_MUST_HAVE_SUPPORTING_METADATA: 50161,
1384
1247
  VOICE_MESSAGES_CANNOT_BE_EDITED: 50162,
1385
1248
  YOU_CANNOT_SEND_VOICE_MESSAGES_IN_THIS_CHANNEL: 50173,
1386
- TWO_FACTOR_ENABLED: 60001,
1387
- TWO_FACTOR_DISABLED: 60002,
1388
1249
  TWO_FACTOR_REQUIRED: 60003,
1389
- TWO_FACTOR_UNVERIFIED: 60004,
1390
- TWO_FACTOR_INVALID_SECRET: 60005,
1391
- TWO_FACTOR_INVALID_TICKET: 60006,
1392
- INVALID_TWO_FACTOR_CODE: 60008,
1393
- TWO_FACTOR_INVALID_SESSION: 60009,
1394
- PHONE_NUMBER_UNABLE_TO_SEND: 70003,
1395
- PHONE_VERIFICATION_REQUIRED: 70007,
1396
- RELATIONSHIP_INCOMING_DISABLED: 80000,
1397
- RELATIONSHIP_INCOMING_BLOCKED: 80001,
1398
- RELATIONSHIP_INVALUD_USER_BOT: 80002,
1399
- RELATIONSHIP_INVALID_SELF: 80003,
1400
1250
  NO_USERS_WITH_DISCORDTAG_EXIST: 80004,
1401
- RELATIONSHIP_ALREADY_FRIENDS: 80007,
1402
1251
  REACTION_BLOCKED: 90001,
1403
- INVALID_GIFT_REDEMPTION_SUBSCRIPTION_MANAGED: 100021,
1404
- INVALID_GIFT_REDEMPTION_SUBSCRIPTION_INCOMPATIBLE: 100023,
1405
- INVALID_GIFT_REDEMPTION_INVOICE_OPEN: 100024,
1406
- BILLING_NON_REFUNDABLE_PAYMENT_SOURCE: 100060,
1407
- LISTING_ALREADY_JOINED: 120000,
1408
- LISTING_TOO_MANY_MEMBERS: 120001,
1409
- LISTING_JOIN_BLOCKED: 120002,
1410
1252
  RESOURCE_OVERLOADED: 130000,
1411
1253
  STAGE_ALREADY_OPEN: 150006,
1412
1254
  CANNOT_REPLY_WITHOUT_READ_MESSAGE_HISTORY_PERMISSION: 160002,
@@ -1421,12 +1263,8 @@ exports.APIErrors = {
1421
1263
  LOTTIE_ANIMATION_MAXIMUM_DIMENSIONS_EXCEEDED: 170005,
1422
1264
  STICKER_FRAME_RATE_IS_TOO_SMALL_OR_TOO_LARGE: 170006,
1423
1265
  STICKER_ANIMATION_DURATION_EXCEEDS_MAXIMUM_OF_5_SECONDS: 170007,
1424
- POGGERMODE_TEMPORARILY_DISABLED: 170008,
1425
1266
  CANNOT_UPDATE_A_FINISHED_EVENT: 180000,
1426
1267
  FAILED_TO_CREATE_STAGE_NEEDED_FOR_STAGE_EVENT: 180002,
1427
- AUTOMOD_MESSAGE_BLOCKED: 200000,
1428
- AUTOMOD_TITLE_BLOCKED: 200001,
1429
- HARMFUL_LINK_MESSAGE_BLOCKED: 240000,
1430
1268
  };
1431
1269
 
1432
1270
  /**
@@ -1552,7 +1390,7 @@ exports.ApplicationCommandPermissionTypes = createEnum([null, 'ROLE', 'USER']);
1552
1390
  * * BOOLEAN_EQUAL
1553
1391
  * * BOOLEAN_NOT_EQUAL
1554
1392
  * @typedef {string} ApplicationRoleConnectionMetadataType
1555
- * @see {@link https://discord.com/developers/docs/resources/application-role-connection-metadata#application-role-connection-metadata-object-application-role-connection-metadata-type}
1393
+ * @see{@link https://discord.com/developers/docs/resources/application-role-connection-metadata#application-role-connection-metadata-object-application-role-connection-metadata-type}
1556
1394
  */
1557
1395
  exports.ApplicationRoleConnectionMetadataTypes = createEnum([
1558
1396
  null,
@@ -1605,7 +1443,6 @@ exports.AutoModerationActionTypes = createEnum([null, 'BLOCK_MESSAGE', 'SEND_ALE
1605
1443
  */
1606
1444
 
1607
1445
  exports.AutoModerationRuleEventTypes = createEnum([null, 'MESSAGE_SEND']);
1608
-
1609
1446
  /**
1610
1447
  * The type of an {@link Interaction} object:
1611
1448
  * * PING
@@ -1654,37 +1491,29 @@ exports.InteractionResponseTypes = createEnum([
1654
1491
  * The type of a message component
1655
1492
  * * ACTION_ROW
1656
1493
  * * BUTTON
1657
- * * TEXT_INPUT
1658
1494
  * * STRING_SELECT
1495
+ * * TEXT_INPUT
1659
1496
  * * USER_SELECT
1660
1497
  * * ROLE_SELECT
1661
1498
  * * MENTIONABLE_SELECT
1662
1499
  * * CHANNEL_SELECT
1663
- * * SELECT_MENU (deprecated)
1664
1500
  * @typedef {string} MessageComponentType
1665
1501
  * @see {@link https://discord.com/developers/docs/interactions/message-components#component-object-component-types}
1666
1502
  */
1667
- exports.MessageComponentTypes = {
1668
- ...createEnum([
1669
- null,
1670
- 'ACTION_ROW',
1671
- 'BUTTON',
1672
- 'STRING_SELECT',
1673
- 'TEXT_INPUT',
1674
- 'USER_SELECT',
1675
- 'ROLE_SELECT',
1676
- 'MENTIONABLE_SELECT',
1677
- 'CHANNEL_SELECT',
1678
- ]),
1679
- /** @deprecated Use `STRING_SELECT` instead */
1680
- SELECT_MENU: 3,
1681
- /** @deprecated Use `STRING_SELECT` instead */
1682
- 3: 'SELECT_MENU',
1683
- };
1503
+ exports.MessageComponentTypes = createEnum([
1504
+ null,
1505
+ 'ACTION_ROW',
1506
+ 'BUTTON',
1507
+ 'STRING_SELECT',
1508
+ 'TEXT_INPUT',
1509
+ 'USER_SELECT',
1510
+ 'ROLE_SELECT',
1511
+ 'MENTIONABLE_SELECT',
1512
+ 'CHANNEL_SELECT',
1513
+ ]);
1684
1514
 
1685
1515
  /**
1686
1516
  * The types of components that are select menus. The available types are:
1687
- * * SELECT_MENU (deprecated)
1688
1517
  * * STRING_MENU
1689
1518
  * * USER_SELECT
1690
1519
  * * ROLE_SELECT
@@ -1693,19 +1522,15 @@ exports.MessageComponentTypes = {
1693
1522
  * @typedef {string} SelectMenuComponentType
1694
1523
  * @see {@link https://discord.com/developers/docs/interactions/message-components#component-object-component-types}
1695
1524
  */
1696
- exports.SelectMenuComponentTypes = {
1697
- ...createEnum([
1698
- ...new Array(3).fill(null),
1699
- 'STRING_MENU',
1700
- null,
1701
- 'USER_SELECT',
1702
- 'ROLE_SELECT',
1703
- 'MENTIONABLE_SELECT',
1704
- 'CHANNEL_SELECT',
1705
- ]),
1706
- /** @deprecated Use `STRING_SELECT` instead */
1707
- SELECT_MENU: 3,
1708
- };
1525
+ exports.SelectMenuComponentTypes = createEnum([
1526
+ ...new Array(3).fill(null),
1527
+ 'STRING_MENU',
1528
+ null,
1529
+ 'USER_SELECT',
1530
+ 'ROLE_SELECT',
1531
+ 'MENTIONABLE_SELECT',
1532
+ 'CHANNEL_SELECT',
1533
+ ]);
1709
1534
 
1710
1535
  /**
1711
1536
  * The style of a message button
@@ -1765,27 +1590,6 @@ exports.TextInputStyles = createEnum([null, 'SHORT', 'PARAGRAPH']);
1765
1590
  */
1766
1591
  exports.GuildScheduledEventPrivacyLevels = createEnum([null, null, 'GUILD_ONLY']);
1767
1592
 
1768
- /**
1769
- * Relationship Enums:
1770
- * * 0: NONE
1771
- * * 1: FRIEND
1772
- * * 2: BLOCKED
1773
- * * 3: PENDING_INCOMING
1774
- * * 4: PENDING_OUTGOING
1775
- * * 5: IMPLICIT
1776
- * @typedef {string} RelationshipTypes
1777
- * @see {@link https://luna.gitlab.io/discord-unofficial-docs/relationships.html}
1778
- */
1779
-
1780
- exports.RelationshipTypes = createEnum([
1781
- 'NONE',
1782
- 'FRIEND',
1783
- 'BLOCKED',
1784
- 'PENDING_INCOMING',
1785
- 'PENDING_OUTGOING',
1786
- 'IMPLICIT',
1787
- ]);
1788
-
1789
1593
  /**
1790
1594
  * The premium tier (Server Boost level) of a guild:
1791
1595
  * * NONE
@@ -1819,6 +1623,7 @@ exports.GuildScheduledEventStatuses = createEnum([null, 'SCHEDULED', 'ACTIVE', '
1819
1623
  */
1820
1624
  exports.GuildScheduledEventEntityTypes = createEnum([null, 'STAGE_INSTANCE', 'VOICE', 'EXTERNAL']);
1821
1625
  /* eslint-enable max-len */
1626
+
1822
1627
  /**
1823
1628
  * The camera video quality mode of a {@link VoiceChannel}:
1824
1629
  * * AUTO
@@ -1829,7 +1634,7 @@ exports.GuildScheduledEventEntityTypes = createEnum([null, 'STAGE_INSTANCE', 'VO
1829
1634
  exports.VideoQualityModes = createEnum([null, 'AUTO', 'FULL']);
1830
1635
 
1831
1636
  /**
1832
- * Sort {@link ForumChannel} posts by ?
1637
+ * Sort {@link ForumChannel} posts by creation time or activity
1833
1638
  * * LATEST_ACTIVITY
1834
1639
  * * CREATION_DATE
1835
1640
  * @typedef {string} SortOrderType
@@ -1847,10 +1652,40 @@ exports.SortOrderTypes = createEnum([null, 'LATEST_ACTIVITY', 'CREATION_DATE']);
1847
1652
  */
1848
1653
  exports.ForumLayoutTypes = createEnum(['NOT_SET', 'LIST_VIEW', 'GALLERY_VIEW']);
1849
1654
 
1655
+ /**
1656
+ * Different layouts for {@link MessagePoll} will come in the future. For now though, this value will always be `DEFAULT`.
1657
+ * * DEFAULT
1658
+ * * IMAGE_ONLY_ANSWERS
1659
+ * @typedef {string} MessagePollLayoutType
1660
+ * @see {@link https://docs.discord.sex/resources/message#poll-layout-type}
1661
+ */
1662
+ exports.MessagePollLayoutTypes = createEnum([null, 'DEFAULT', 'IMAGE_ONLY_ANSWERS']);
1663
+
1664
+ /**
1665
+ * Relationship Enums:
1666
+ * * 0: NONE
1667
+ * * 1: FRIEND
1668
+ * * 2: BLOCKED
1669
+ * * 3: PENDING_INCOMING
1670
+ * * 4: PENDING_OUTGOING
1671
+ * * 5: IMPLICIT
1672
+ * @typedef {string} RelationshipType
1673
+ * @see {@link https://luna.gitlab.io/discord-unofficial-docs/relationships.html}
1674
+ */
1675
+
1676
+ exports.RelationshipTypes = createEnum([
1677
+ 'NONE',
1678
+ 'FRIEND',
1679
+ 'BLOCKED',
1680
+ 'PENDING_INCOMING',
1681
+ 'PENDING_OUTGOING',
1682
+ 'IMPLICIT',
1683
+ ]);
1684
+
1850
1685
  exports._cleanupSymbol = Symbol('djsCleanup');
1851
1686
 
1852
1687
  function keyMirror(arr) {
1853
- const tmp = Object.create(null);
1688
+ let tmp = Object.create(null);
1854
1689
  for (const value of arr) tmp[value] = value;
1855
1690
  return tmp;
1856
1691
  }
@@ -1905,12 +1740,11 @@ function createEnum(keys) {
1905
1740
  * @property {Object<InteractionResponseType, number>} InteractionResponseTypes The type of an interaction response.
1906
1741
  * @property {Object<InteractionType, number>} InteractionTypes The type of an {@link Interaction} object.
1907
1742
  * @property {InviteScope[]} InviteScopes The scopes of an invite.
1908
- * @property {number} MaxBulkDeletableMessageAge Max bulk deletable message age (Unavailable to selfbots)
1743
+ * @property {Object<RelationshipType, number>} RelationshipTypes Relationship Enums
1909
1744
  * @property {Object<MembershipState, number>} MembershipStates The value set for a team members membership state.
1910
1745
  * @property {Object<MessageButtonStyle, number>} MessageButtonStyles The style of a message button.
1911
1746
  * @property {Object<MessageComponentType, number>} MessageComponentTypes The type of a message component.
1912
1747
  * @property {MessageType[]} MessageTypes The type of a {@link Message} object.
1913
- * @property {Object<SelectMenuComponentType, number>} SelectMenuComponentTypes The type of any select menu.
1914
1748
  * @property {Object<MFALevel, number>} MFALevels The required MFA level for a guild.
1915
1749
  * @property {Object<NSFWLevel, number>} NSFWLevels NSFW level of a guild.
1916
1750
  * @property {Opcodes} Opcodes The types of Opcodes sent to the Gateway.
@@ -1921,6 +1755,7 @@ function createEnum(keys) {
1921
1755
  * @property {Object<PrivacyLevel, number>} PrivacyLevels Privacy level of a {@link StageInstance} object.
1922
1756
  * @property {ShardEvents} ShardEvents The type of events emitted by a Shard.
1923
1757
  * @property {Status} Status The available statuses of the client.
1758
+ * @property {Object<SelectMenuComponentType, number>} SelectMenuComponentTypes The type of any select menu.
1924
1759
  * @property {Object<StickerFormatType, number>} StickerFormatTypes The value set for a stickers format type.
1925
1760
  * @property {Object<StickerType, number>} StickerTypes The value set for a stickers type.
1926
1761
  * @property {SweeperKey[]} SweeperKeys The name of an item to be swept in Sweepers.