djs-selfbot-v13 3.1.7 → 3.1.8

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 (149) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +18 -45
  3. package/package.json +8 -37
  4. package/src/client/BaseClient.js +2 -3
  5. package/src/client/Client.js +187 -539
  6. package/src/client/actions/Action.js +18 -13
  7. package/src/client/actions/ActionsManager.js +7 -1
  8. package/src/client/actions/AutoModerationActionExecution.js +1 -0
  9. package/src/client/actions/AutoModerationRuleCreate.js +1 -0
  10. package/src/client/actions/AutoModerationRuleDelete.js +1 -0
  11. package/src/client/actions/AutoModerationRuleUpdate.js +1 -0
  12. package/src/client/actions/MessageCreate.js +0 -4
  13. package/src/client/actions/PresenceUpdate.js +17 -16
  14. package/src/client/websocket/WebSocketManager.js +11 -31
  15. package/src/client/websocket/WebSocketShard.js +39 -38
  16. package/src/client/websocket/handlers/CALL_CREATE.js +3 -3
  17. package/src/client/websocket/handlers/CALL_DELETE.js +2 -2
  18. package/src/client/websocket/handlers/CALL_UPDATE.js +2 -2
  19. package/src/client/websocket/handlers/CHANNEL_RECIPIENT_ADD.js +16 -13
  20. package/src/client/websocket/handlers/CHANNEL_RECIPIENT_REMOVE.js +11 -11
  21. package/src/client/websocket/handlers/GUILD_CREATE.js +7 -0
  22. package/src/client/websocket/handlers/INTERACTION_MODAL_CREATE.js +1 -0
  23. package/src/client/websocket/handlers/READY.js +47 -137
  24. package/src/client/websocket/handlers/RELATIONSHIP_ADD.js +7 -5
  25. package/src/client/websocket/handlers/RELATIONSHIP_REMOVE.js +6 -4
  26. package/src/client/websocket/handlers/RELATIONSHIP_UPDATE.js +32 -9
  27. package/src/client/websocket/handlers/USER_GUILD_SETTINGS_UPDATE.js +2 -8
  28. package/src/client/websocket/handlers/USER_NOTE_UPDATE.js +1 -1
  29. package/src/client/websocket/handlers/USER_REQUIRED_ACTION_UPDATE.js +78 -0
  30. package/src/client/websocket/handlers/USER_SETTINGS_UPDATE.js +1 -5
  31. package/src/client/websocket/handlers/VOICE_CHANNEL_STATUS_UPDATE.js +12 -0
  32. package/src/client/websocket/handlers/index.js +15 -20
  33. package/src/errors/Messages.js +24 -69
  34. package/src/index.js +12 -43
  35. package/src/managers/ApplicationCommandManager.js +9 -12
  36. package/src/managers/ApplicationCommandPermissionsManager.js +3 -11
  37. package/src/managers/ChannelManager.js +3 -4
  38. package/src/managers/ClientUserSettingManager.js +161 -279
  39. package/src/managers/GuildBanManager.js +1 -1
  40. package/src/managers/GuildChannelManager.js +2 -0
  41. package/src/managers/GuildForumThreadManager.js +22 -28
  42. package/src/managers/GuildMemberManager.js +40 -216
  43. package/src/managers/GuildSettingManager.js +22 -15
  44. package/src/managers/MessageManager.js +42 -44
  45. package/src/managers/PermissionOverwriteManager.js +1 -1
  46. package/src/managers/ReactionUserManager.js +5 -5
  47. package/src/managers/RelationshipManager.js +81 -74
  48. package/src/managers/ThreadManager.js +12 -45
  49. package/src/managers/ThreadMemberManager.js +1 -1
  50. package/src/managers/UserManager.js +6 -10
  51. package/src/managers/UserNoteManager.js +53 -0
  52. package/src/rest/APIRequest.js +42 -20
  53. package/src/rest/DiscordAPIError.js +17 -16
  54. package/src/rest/RESTManager.js +1 -21
  55. package/src/rest/RequestHandler.js +35 -21
  56. package/src/structures/ApplicationCommand.js +19 -456
  57. package/src/structures/ApplicationRoleConnectionMetadata.js +3 -0
  58. package/src/structures/AutoModerationRule.js +5 -5
  59. package/src/structures/AutocompleteInteraction.js +1 -0
  60. package/src/structures/BaseGuildTextChannel.js +10 -12
  61. package/src/structures/BaseGuildVoiceChannel.js +16 -18
  62. package/src/structures/{Call.js → CallState.js} +17 -12
  63. package/src/structures/CategoryChannel.js +2 -0
  64. package/src/structures/Channel.js +2 -3
  65. package/src/structures/ClientPresence.js +12 -8
  66. package/src/structures/ClientUser.js +117 -336
  67. package/src/structures/ContextMenuInteraction.js +1 -1
  68. package/src/structures/DMChannel.js +29 -92
  69. package/src/structures/ForumChannel.js +0 -10
  70. package/src/structures/GroupDMChannel.js +387 -0
  71. package/src/structures/Guild.js +135 -271
  72. package/src/structures/GuildAuditLogs.js +0 -5
  73. package/src/structures/GuildChannel.js +16 -2
  74. package/src/structures/GuildMember.js +27 -145
  75. package/src/structures/Interaction.js +1 -62
  76. package/src/structures/Invite.js +35 -52
  77. package/src/structures/Message.js +228 -202
  78. package/src/structures/MessageAttachment.js +11 -0
  79. package/src/structures/MessageButton.js +1 -67
  80. package/src/structures/MessageEmbed.js +1 -1
  81. package/src/structures/MessageMentions.js +3 -2
  82. package/src/structures/MessagePayload.js +4 -46
  83. package/src/structures/MessageReaction.js +1 -1
  84. package/src/structures/MessageSelectMenu.js +1 -252
  85. package/src/structures/Modal.js +75 -180
  86. package/src/structures/Presence.js +2 -2
  87. package/src/structures/RichPresence.js +14 -34
  88. package/src/structures/Role.js +18 -2
  89. package/src/structures/SelectMenuInteraction.js +2 -151
  90. package/src/structures/Team.js +0 -49
  91. package/src/structures/TextInputComponent.js +0 -70
  92. package/src/structures/ThreadChannel.js +0 -19
  93. package/src/structures/User.js +117 -345
  94. package/src/structures/UserContextMenuInteraction.js +2 -2
  95. package/src/structures/VoiceState.js +74 -39
  96. package/src/structures/WebEmbed.js +38 -52
  97. package/src/structures/Webhook.js +17 -11
  98. package/src/structures/interfaces/Application.js +146 -23
  99. package/src/structures/interfaces/TextBasedChannel.js +411 -256
  100. package/src/util/ApplicationFlags.js +1 -1
  101. package/src/util/AttachmentFlags.js +38 -0
  102. package/src/util/Constants.js +106 -284
  103. package/src/util/Formatters.js +16 -2
  104. package/src/util/InviteFlags.js +29 -0
  105. package/src/util/LimitedCollection.js +1 -1
  106. package/src/util/Options.js +48 -68
  107. package/src/util/Permissions.js +5 -0
  108. package/src/util/PurchasedFlags.js +2 -0
  109. package/src/util/RemoteAuth.js +221 -356
  110. package/src/util/RoleFlags.js +37 -0
  111. package/src/util/Sweepers.js +1 -1
  112. package/src/util/Util.js +76 -36
  113. package/typings/enums.d.ts +18 -73
  114. package/typings/index.d.ts +873 -1225
  115. package/typings/rawDataTypes.d.ts +68 -9
  116. package/src/client/actions/InteractionCreate.js +0 -115
  117. package/src/client/websocket/handlers/APPLICATION_COMMAND_AUTOCOMPLETE_RESPONSE.js +0 -23
  118. package/src/client/websocket/handlers/GUILD_APPLICATION_COMMANDS_UPDATE.js +0 -11
  119. package/src/client/websocket/handlers/GUILD_MEMBER_LIST_UPDATE.js +0 -55
  120. package/src/client/websocket/handlers/GUILD_SOUNDBOARD_SOUNDS_UPDATE.js +0 -0
  121. package/src/client/websocket/handlers/GUILD_SOUNDBOARD_SOUND_CREATE.js +0 -0
  122. package/src/client/websocket/handlers/GUILD_SOUNDBOARD_SOUND_DELETE.js +0 -0
  123. package/src/client/websocket/handlers/GUILD_SOUNDBOARD_SOUND_UPDATE.js +0 -0
  124. package/src/client/websocket/handlers/INTERACTION_CREATE.js +0 -16
  125. package/src/client/websocket/handlers/INTERACTION_FAILURE.js +0 -18
  126. package/src/client/websocket/handlers/INTERACTION_SUCCESS.js +0 -30
  127. package/src/client/websocket/handlers/MESSAGE_ACK.js +0 -16
  128. package/src/client/websocket/handlers/SOUNDBOARD_SOUNDS.js +0 -0
  129. package/src/client/websocket/handlers/VOICE_CHANNEL_EFFECT_SEND.js +0 -0
  130. package/src/managers/DeveloperPortalManager.js +0 -104
  131. package/src/managers/GuildApplicationCommandManager.js +0 -28
  132. package/src/managers/GuildFolderManager.js +0 -24
  133. package/src/managers/SessionManager.js +0 -57
  134. package/src/rest/CaptchaSolver.js +0 -132
  135. package/src/structures/ClientApplication.js +0 -204
  136. package/src/structures/DeveloperPortalApplication.js +0 -520
  137. package/src/structures/GuildFolder.js +0 -75
  138. package/src/structures/InteractionResponse.js +0 -114
  139. package/src/structures/PartialGroupDMChannel.js +0 -433
  140. package/src/structures/Session.js +0 -81
  141. package/src/util/Voice.js +0 -1456
  142. package/src/util/arRPC/index.js +0 -229
  143. package/src/util/arRPC/process/detectable.json +0 -1
  144. package/src/util/arRPC/process/index.js +0 -102
  145. package/src/util/arRPC/process/native/index.js +0 -5
  146. package/src/util/arRPC/process/native/linux.js +0 -37
  147. package/src/util/arRPC/process/native/win32.js +0 -25
  148. package/src/util/arRPC/transports/ipc.js +0 -281
  149. 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) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.5359.215 Electron/22.3.26 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:
@@ -197,10 +102,6 @@ exports.Endpoints = {
197
102
  if (dynamic && hash.startsWith('a_')) format = 'gif';
198
103
  return makeImageUrl(`${root}/guilds/${guildId}/users/${memberId}/avatars/${hash}`, { format, size });
199
104
  },
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
105
  Banner: (id, hash, format, size, dynamic = false) => {
205
106
  if (dynamic && hash.startsWith('a_')) format = 'gif';
206
107
  return makeImageUrl(`${root}/banners/${id}/${hash}`, { format, size });
@@ -227,14 +128,11 @@ exports.Endpoints = {
227
128
  makeImageUrl(`${root}/role-icons/${roleId}/${hash}`, { size, format }),
228
129
  guildScheduledEventCover: (scheduledEventId, coverHash, format, size) =>
229
130
  makeImageUrl(`${root}/guild-events/${scheduledEventId}/${coverHash}`, { size, format }),
230
- // Test only
231
- BadgeIcon: hash => makeImageUrl(`${root}/badge-icons/${hash}`, { format: 'png' }),
232
131
  };
233
132
  },
234
133
  invite: (root, code, eventId) => (eventId ? `${root}/${code}?event=${eventId}` : `${root}/${code}`),
235
134
  scheduledEvent: (root, guildId, eventId) => `${root}/${guildId}/${eventId}`,
236
- botGateway: '/gateway/bot',
237
- userGateway: '/gateway',
135
+ botGateway: '/gateway',
238
136
  };
239
137
 
240
138
  /**
@@ -298,8 +196,10 @@ exports.Status = {
298
196
  * * REQUEST_SOUNDBOARD_SOUNDS: 31
299
197
  * * SPEED_TEST_CREATE: 32 => Create a voice speed test.
300
198
  * * SPEED_TEST_DELETE: 33 => Delete a voice speed test.
301
- * * REQUEST_LAST_MESSAGES: 34 => Request last messages for a guild's channels.
199
+ * * REQUEST_LAST_MESSAGES: 34 => Request last messages for a guild's channels.
302
200
  * * SEARCH_RECENT_MEMBERS: 35 => ~ Opcode 8 (Member Safety)
201
+ * * REQUEST_CHANNEL_STATUSES: 36 => Request Voice Channel status.
202
+ * * GUILD_SUBSCRIPTIONS_BULK: 37 => ~ Opcode 14
303
203
  * @typedef {Object<string, number>} Opcodes
304
204
  */
305
205
  exports.Opcodes = {
@@ -338,7 +238,9 @@ exports.Opcodes = {
338
238
  SPEED_TEST_DELETE: 33, // Payload: null
339
239
  REQUEST_LAST_MESSAGES: 34, // Payload: { guild_id: string, channel_ids: string[] }
340
240
  SEARCH_RECENT_MEMBERS: 35, // Payload: { guild_id: string, query: string, continuation_token?: Snowflake }
341
- // Update: 17/7/2023
241
+ REQUEST_CHANNEL_STATUSES: 36, // Payload: { guild_id: string } | Response: CHANNEL_STATUSES | { guild_id, channels: { status, id }[] }
242
+ GUILD_SUBSCRIPTIONS_BULK: 37, // Payload: { subscriptions: Object<guild_id, { Payload_op14 - guild_id }> } | Response: Opcode 14
243
+ // Updated: 23/1/2024
342
244
  };
343
245
 
344
246
  /**
@@ -348,7 +250,6 @@ exports.Opcodes = {
348
250
  * * API_RESPONSE: apiResponse
349
251
  * * API_REQUEST: apiRequest
350
252
  * * CLIENT_READY: ready
351
- * * APPLICATION_COMMAND_AUTOCOMPLETE_RESPONSE: applicationCommandAutocompleteResponse
352
253
  * * APPLICATION_COMMAND_CREATE: applicationCommandCreate (deprecated)
353
254
  * * APPLICATION_COMMAND_DELETE: applicationCommandDelete (deprecated)
354
255
  * * APPLICATION_COMMAND_UPDATE: applicationCommandUpdate (deprecated)
@@ -357,9 +258,7 @@ exports.Opcodes = {
357
258
  * * AUTO_MODERATION_RULE_CREATE: autoModerationRuleCreate
358
259
  * * AUTO_MODERATION_RULE_DELETE: autoModerationRuleDelete
359
260
  * * AUTO_MODERATION_RULE_UPDATE: autoModerationRuleUpdate
360
- * * CALL_CREATE: callCreate
361
- * * CALL_DELETE: callDelete
362
- * * CALL_UPDATE: callUpdate
261
+ * * GUILD_AVAILABLE: guildAvailable
363
262
  * * GUILD_CREATE: guildCreate
364
263
  * * GUILD_DELETE: guildDelete
365
264
  * * GUILD_UPDATE: guildUpdate
@@ -384,9 +283,6 @@ exports.Opcodes = {
384
283
  * * CHANNEL_DELETE: channelDelete
385
284
  * * CHANNEL_UPDATE: channelUpdate
386
285
  * * CHANNEL_PINS_UPDATE: channelPinsUpdate
387
- * * CHANNEL_RECIPIENT_REMOVE: channelRecipientRemove
388
- * * CHANNEL_RECIPIENT_ADD: channelRecipientAdd
389
- * * MESSAGE_ACK: messageAck
390
286
  * * MESSAGE_CREATE: messageCreate
391
287
  * * MESSAGE_DELETE: messageDelete
392
288
  * * MESSAGE_UPDATE: messageUpdate
@@ -407,7 +303,6 @@ exports.Opcodes = {
407
303
  * * VOICE_STATE_UPDATE: voiceStateUpdate
408
304
  * * TYPING_START: typingStart
409
305
  * * WEBHOOKS_UPDATE: webhookUpdate
410
- * * INTERACTION_CREATE: interactionCreate
411
306
  * * ERROR: error
412
307
  * * WARN: warn
413
308
  * * DEBUG: debug
@@ -431,6 +326,16 @@ exports.Opcodes = {
431
326
  * * GUILD_SCHEDULED_EVENT_USER_ADD: guildScheduledEventUserAdd
432
327
  * * GUILD_SCHEDULED_EVENT_USER_REMOVE: guildScheduledEventUserRemove
433
328
  * * GUILD_AUDIT_LOG_ENTRY_CREATE: guildAuditLogEntryCreate
329
+ * * UNHANDLED_PACKET: unhandledPacket
330
+ * * RELATIONSHIP_ADD: relationshipAdd
331
+ * * RELATIONSHIP_REMOVE: relationshipRemove
332
+ * * RELATIONSHIP_UPDATE: relationshipUpdate
333
+ * * CHANNEL_RECIPIENT_ADD: channelRecipientAdd
334
+ * * CHANNEL_RECIPIENT_REMOVE: channelRecipientRemove
335
+ * * INTERACTION_MODAL_CREATE: interactionModalCreate
336
+ * * CALL_CREATE: callCreate
337
+ * * CALL_UPDATE: callUpdate
338
+ * * CALL_DELETE: callDelete
434
339
  * @typedef {Object<string, string>} Events
435
340
  */
436
341
  exports.Events = {
@@ -439,7 +344,6 @@ exports.Events = {
439
344
  API_RESPONSE: 'apiResponse',
440
345
  API_REQUEST: 'apiRequest',
441
346
  CLIENT_READY: 'ready',
442
- APPLICATION_COMMAND_AUTOCOMPLETE_RESPONSE: 'applicationCommandAutocompleteResponse',
443
347
  APPLICATION_COMMAND_CREATE: 'applicationCommandCreate',
444
348
  APPLICATION_COMMAND_DELETE: 'applicationCommandDelete',
445
349
  APPLICATION_COMMAND_UPDATE: 'applicationCommandUpdate',
@@ -448,20 +352,16 @@ exports.Events = {
448
352
  AUTO_MODERATION_RULE_CREATE: 'autoModerationRuleCreate',
449
353
  AUTO_MODERATION_RULE_DELETE: 'autoModerationRuleDelete',
450
354
  AUTO_MODERATION_RULE_UPDATE: 'autoModerationRuleUpdate',
451
- CALL_CREATE: 'callCreate',
452
- CALL_DELETE: 'callDelete',
453
- CALL_UPDATE: 'callUpdate',
355
+ GUILD_AVAILABLE: 'guildAvailable',
454
356
  GUILD_CREATE: 'guildCreate',
455
357
  GUILD_DELETE: 'guildDelete',
456
358
  GUILD_UPDATE: 'guildUpdate',
457
- GUILD_APPLICATION_COMMANDS_UPDATE: 'guildApplicationCommandUpdate',
458
359
  GUILD_UNAVAILABLE: 'guildUnavailable',
459
360
  GUILD_MEMBER_ADD: 'guildMemberAdd',
460
361
  GUILD_MEMBER_REMOVE: 'guildMemberRemove',
461
362
  GUILD_MEMBER_UPDATE: 'guildMemberUpdate',
462
363
  GUILD_MEMBER_AVAILABLE: 'guildMemberAvailable',
463
364
  GUILD_MEMBERS_CHUNK: 'guildMembersChunk',
464
- GUILD_MEMBER_LIST_UPDATE: 'guildMemberListUpdate',
465
365
  GUILD_INTEGRATIONS_UPDATE: 'guildIntegrationsUpdate',
466
366
  GUILD_ROLE_CREATE: 'roleCreate',
467
367
  GUILD_ROLE_DELETE: 'roleDelete',
@@ -477,9 +377,6 @@ exports.Events = {
477
377
  CHANNEL_DELETE: 'channelDelete',
478
378
  CHANNEL_UPDATE: 'channelUpdate',
479
379
  CHANNEL_PINS_UPDATE: 'channelPinsUpdate',
480
- CHANNEL_RECIPIENT_REMOVE: 'channelRecipientRemove',
481
- CHANNEL_RECIPIENT_ADD: 'channelRecipientAdd',
482
- MESSAGE_ACK: 'messageAck',
483
380
  MESSAGE_CREATE: 'messageCreate',
484
381
  MESSAGE_DELETE: 'messageDelete',
485
382
  MESSAGE_UPDATE: 'messageUpdate',
@@ -495,17 +392,11 @@ exports.Events = {
495
392
  THREAD_MEMBER_UPDATE: 'threadMemberUpdate',
496
393
  THREAD_MEMBERS_UPDATE: 'threadMembersUpdate',
497
394
  USER_UPDATE: 'userUpdate',
498
- USER_SETTINGS_UPDATE: 'userSettingsUpdate',
499
- USER_GUILD_SETTINGS_UPDATE: 'userGuildSettingsUpdate',
500
395
  PRESENCE_UPDATE: 'presenceUpdate',
501
396
  VOICE_SERVER_UPDATE: 'voiceServerUpdate',
502
397
  VOICE_STATE_UPDATE: 'voiceStateUpdate',
503
398
  TYPING_START: 'typingStart',
504
399
  WEBHOOKS_UPDATE: 'webhookUpdate',
505
- INTERACTION_CREATE: 'interactionCreate',
506
- INTERACTION_SUCCESS: 'interactionSuccess',
507
- INTERACTION_FAILURE: 'interactionFailure',
508
- INTERACTION_MODAL_CREATE: 'interactionModalCreate',
509
400
  ERROR: 'error',
510
401
  WARN: 'warn',
511
402
  DEBUG: 'debug',
@@ -529,18 +420,16 @@ exports.Events = {
529
420
  GUILD_SCHEDULED_EVENT_USER_ADD: 'guildScheduledEventUserAdd',
530
421
  GUILD_SCHEDULED_EVENT_USER_REMOVE: 'guildScheduledEventUserRemove',
531
422
  GUILD_AUDIT_LOG_ENTRY_CREATE: 'guildAuditLogEntryCreate',
423
+ UNHANDLED_PACKET: 'unhandledPacket',
532
424
  RELATIONSHIP_ADD: 'relationshipAdd',
533
- RELATIONSHIP_REMOVE: 'relationshipRemove',
534
425
  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',
426
+ RELATIONSHIP_REMOVE: 'relationshipRemove',
427
+ CHANNEL_RECIPIENT_ADD: 'channelRecipientAdd',
428
+ CHANNEL_RECIPIENT_REMOVE: 'channelRecipientRemove',
429
+ INTERACTION_MODAL_CREATE: 'interactionModalCreate',
430
+ CALL_CREATE: 'callCreate',
431
+ CALL_UPDATE: 'callUpdate',
432
+ CALL_DELETE: 'callDelete',
544
433
  };
545
434
 
546
435
  /**
@@ -580,11 +469,10 @@ exports.PartialTypes = keyMirror(['USER', 'CHANNEL', 'GUILD_MEMBER', 'MESSAGE',
580
469
  * The type of a WebSocket message event, e.g. `MESSAGE_CREATE`. Here are the available events:
581
470
  * * READY
582
471
  * * RESUMED
583
- * * APPLICATION_COMMAND_AUTOCOMPLETE_RESPONSE
584
472
  * * APPLICATION_COMMAND_CREATE (deprecated)
585
473
  * * APPLICATION_COMMAND_DELETE (deprecated)
586
- * * APPLICATION_COMMAND_UPDATE (deprecated)
587
474
  * * APPLICATION_COMMAND_PERMISSIONS_UPDATE
475
+ * * APPLICATION_COMMAND_UPDATE (deprecated)
588
476
  * * AUTO_MODERATION_ACTION_EXECUTION
589
477
  * * AUTO_MODERATION_RULE_CREATE
590
478
  * * AUTO_MODERATION_RULE_DELETE
@@ -629,7 +517,6 @@ exports.PartialTypes = keyMirror(['USER', 'CHANNEL', 'GUILD_MEMBER', 'MESSAGE',
629
517
  * * VOICE_STATE_UPDATE
630
518
  * * VOICE_SERVER_UPDATE
631
519
  * * WEBHOOKS_UPDATE
632
- * * INTERACTION_CREATE
633
520
  * * STAGE_INSTANCE_CREATE
634
521
  * * STAGE_INSTANCE_UPDATE
635
522
  * * STAGE_INSTANCE_DELETE
@@ -646,7 +533,6 @@ exports.PartialTypes = keyMirror(['USER', 'CHANNEL', 'GUILD_MEMBER', 'MESSAGE',
646
533
  exports.WSEvents = keyMirror([
647
534
  'READY',
648
535
  'RESUMED',
649
- 'APPLICATION_COMMAND_AUTOCOMPLETE_RESPONSE',
650
536
  'APPLICATION_COMMAND_CREATE',
651
537
  'APPLICATION_COMMAND_DELETE',
652
538
  'APPLICATION_COMMAND_UPDATE',
@@ -695,7 +581,6 @@ exports.WSEvents = keyMirror([
695
581
  'VOICE_STATE_UPDATE',
696
582
  'VOICE_SERVER_UPDATE',
697
583
  'WEBHOOKS_UPDATE',
698
- 'INTERACTION_CREATE',
699
584
  'STAGE_INSTANCE_CREATE',
700
585
  'STAGE_INSTANCE_UPDATE',
701
586
  'STAGE_INSTANCE_DELETE',
@@ -723,6 +608,7 @@ exports.WSEvents = keyMirror([
723
608
  * * `guilds.join`: allows the bot to join the user to any guild it is in using Guild#addMember
724
609
  * * `gdm.join`: allows joining the user to a group dm
725
610
  * * `webhook.incoming`: generates a webhook to a channel
611
+ * * `role_connections.write`: allows your app to update a user's connection and metadata for the app
726
612
  * @typedef {string} InviteScope
727
613
  * @see {@link https://discord.com/developers/docs/topics/oauth2#shared-resources-oauth2-scopes}
728
614
  */
@@ -739,6 +625,7 @@ exports.InviteScopes = [
739
625
  'guilds.join',
740
626
  'gdm.join',
741
627
  'webhook.incoming',
628
+ 'role_connections.write',
742
629
  ];
743
630
 
744
631
  // TODO: change Integration#expireBehavior to this and clean up Integration
@@ -890,7 +777,7 @@ exports.ActivityTypes = createEnum(['PLAYING', 'STREAMING', 'LISTENING', 'WATCHI
890
777
  * * `GUILD_PRIVATE_THREAD` - a guild text channel's private thread channel
891
778
  * * `GUILD_STAGE_VOICE` - a guild stage voice channel
892
779
  * * `GUILD_DIRECTORY` - the channel in a hub containing guilds
893
- * * `GUILD_FORUM` - a guild channel that only contains threads
780
+ * * `GUILD_FORUM` - a channel that can only contain threads
894
781
  * * `UNKNOWN` - a generic channel of unknown type, could be Channel or GuildChannel
895
782
  * @typedef {string} ChannelType
896
783
  * @see {@link https://discord.com/developers/docs/resources/channel#channel-object-channel-types}
@@ -1129,7 +1016,6 @@ exports.VerificationLevels = createEnum(['NONE', 'LOW', 'MEDIUM', 'HIGH', 'VERY_
1129
1016
  * * MAXIMUM_PINS
1130
1017
  * * MAXIMUM_RECIPIENTS
1131
1018
  * * MAXIMUM_ROLES
1132
- * * MAXIMUM_USERNAMES
1133
1019
  * * MAXIMUM_WEBHOOKS
1134
1020
  * * MAXIMUM_EMOJIS
1135
1021
  * * MAXIMUM_REACTIONS
@@ -1186,7 +1072,6 @@ exports.VerificationLevels = createEnum(['NONE', 'LOW', 'MEDIUM', 'HIGH', 'VERY_
1186
1072
  * * INVALID_API_VERSION
1187
1073
  * * FILE_UPLOADED_EXCEEDS_MAXIMUM_SIZE
1188
1074
  * * INVALID_FILE_UPLOADED
1189
- * * GIFT_CODE_CLAIMED
1190
1075
  * * CANNOT_SELF_REDEEM_GIFT
1191
1076
  * * INVALID_GUILD
1192
1077
  * * INVALID_MESSAGE_TYPE
@@ -1201,7 +1086,6 @@ exports.VerificationLevels = createEnum(['NONE', 'LOW', 'MEDIUM', 'HIGH', 'VERY_
1201
1086
  * * INSUFFICIENT_BOOSTS
1202
1087
  * * INVALID_JSON
1203
1088
  * * TWO_FACTOR_REQUIRED
1204
- * * INVALID_TWO_FACTOR_CODE
1205
1089
  * * NO_USERS_WITH_DISCORDTAG_EXIST
1206
1090
  * * REACTION_BLOCKED
1207
1091
  * * RESOURCE_OVERLOADED
@@ -1267,27 +1151,20 @@ exports.APIErrors = {
1267
1151
  UNKNOWN_GUILD_SCHEDULED_EVENT_USER: 10071,
1268
1152
  BOT_PROHIBITED_ENDPOINT: 20001,
1269
1153
  BOT_ONLY_ENDPOINT: 20002,
1270
- RPC_PROXY_DISALLOWED: 20003,
1271
1154
  CANNOT_SEND_EXPLICIT_CONTENT: 20009,
1272
- ACCOUNT_SCHEDULED_FOR_DELETION: 20011,
1273
1155
  NOT_AUTHORIZED: 20012,
1274
- ACCOUNT_DISABLED: 20013,
1275
1156
  SLOWMODE_RATE_LIMIT: 20016,
1276
1157
  ACCOUNT_OWNER_ONLY: 20018,
1277
1158
  ANNOUNCEMENT_EDIT_LIMIT_EXCEEDED: 20022,
1278
- UNDER_MINIMUM_AGE: 20024,
1279
- QUARANTINED: 20026,
1280
1159
  CHANNEL_HIT_WRITE_RATELIMIT: 20028,
1281
1160
  SERVER_HIT_WRITE_RATELIMIT: 20029,
1282
1161
  CONTENT_NOT_ALLOWED: 20031,
1283
1162
  GUILD_PREMIUM_LEVEL_TOO_LOW: 20035,
1284
- VANITY_URL_REQUIRED_FOR_PUBLISHED_GUILDS: 20040,
1285
1163
  MAXIMUM_GUILDS: 30001,
1286
1164
  MAXIMUM_FRIENDS: 30002,
1287
1165
  MAXIMUM_PINS: 30003,
1288
1166
  MAXIMUM_RECIPIENTS: 30004,
1289
1167
  MAXIMUM_ROLES: 30005,
1290
- MAXIMUN_USERNAMES: 30006,
1291
1168
  MAXIMUM_WEBHOOKS: 30007,
1292
1169
  MAXIMUM_EMOJIS: 30008,
1293
1170
  MAXIMUM_REACTIONS: 30010,
@@ -1296,7 +1173,6 @@ exports.APIErrors = {
1296
1173
  MAXIMUM_INVITES: 30016,
1297
1174
  MAXIMUM_ANIMATED_EMOJIS: 30018,
1298
1175
  MAXIMUM_SERVER_MEMBERS: 30019,
1299
- NOT_ENOUGH_GUILD_MEMBERS: 30029,
1300
1176
  MAXIMUM_NUMBER_OF_SERVER_CATEGORIES: 30030,
1301
1177
  GUILD_ALREADY_HAS_TEMPLATE: 30031,
1302
1178
  MAXIMUM_THREAD_PARTICIPANTS: 30033,
@@ -1310,16 +1186,11 @@ exports.APIErrors = {
1310
1186
  UNAUTHORIZED: 40001,
1311
1187
  ACCOUNT_VERIFICATION_REQUIRED: 40002,
1312
1188
  DIRECT_MESSAGES_TOO_FAST: 40003,
1313
- SEND_MESSAGE_TEMPORARILY_DISABLED: 40004,
1314
1189
  REQUEST_ENTITY_TOO_LARGE: 40005,
1315
1190
  FEATURE_TEMPORARILY_DISABLED: 40006,
1316
1191
  USER_BANNED: 40007,
1317
- CONNECTION_REVOKED: 40012,
1318
- DELETE_ACCOUNT_TRANSFER_TEAM_OWNERSHIP: 40028,
1319
1192
  TARGET_USER_NOT_CONNECTED_TO_VOICE: 40032,
1320
1193
  ALREADY_CROSSPOSTED: 40033,
1321
- TAG_REQUIRED: 40067,
1322
- INVITES_DISABLED: 40069,
1323
1194
  MISSING_ACCESS: 50001,
1324
1195
  INVALID_ACCOUNT_TYPE: 50002,
1325
1196
  CANNOT_EXECUTE_ON_DM: 50003,
@@ -1336,13 +1207,9 @@ exports.APIErrors = {
1336
1207
  INVALID_AUTHENTICATION_TOKEN: 50014,
1337
1208
  NOTE_TOO_LONG: 50015,
1338
1209
  INVALID_BULK_DELETE_QUANTITY: 50016,
1339
- INVALID_MFA_LEVEL: 50017,
1340
- INVALID_PASSWORD: 50018,
1341
1210
  CANNOT_PIN_MESSAGE_IN_OTHER_CHANNEL: 50019,
1342
1211
  INVALID_OR_TAKEN_INVITE_CODE: 50020,
1343
1212
  CANNOT_EXECUTE_ON_SYSTEM_MESSAGE: 50021,
1344
- INVALID_PHONE_NUMBER: 50022,
1345
- INVALID_CLIENT_ID: 50023,
1346
1213
  CANNOT_EXECUTE_ON_CHANNEL_TYPE: 50024,
1347
1214
  INVALID_OAUTH_TOKEN: 50025,
1348
1215
  MISSING_OAUTH_SCOPE: 50026,
@@ -1355,8 +1222,6 @@ exports.APIErrors = {
1355
1222
  INVALID_API_VERSION: 50041,
1356
1223
  FILE_UPLOADED_EXCEEDS_MAXIMUM_SIZE: 50045,
1357
1224
  INVALID_FILE_UPLOADED: 50046,
1358
- GIFT_CODE_CLAIMED: 50050,
1359
- INVALID_GIFT_REDEMPTION_OWNED: 50051,
1360
1225
  CANNOT_SELF_REDEEM_GIFT: 50054,
1361
1226
  INVALID_GUILD: 50055,
1362
1227
  INVALID_MESSAGE_TYPE: 50068,
@@ -1367,15 +1232,9 @@ exports.APIErrors = {
1367
1232
  INVALID_THREAD_NOTIFICATION_SETTINGS: 50084,
1368
1233
  PARAMETER_EARLIER_THAN_CREATION: 50085,
1369
1234
  GUILD_NOT_AVAILABLE_IN_LOCATION: 50095,
1370
- INVALID_CANNOT_FRIEND_SELF: 50096,
1371
1235
  GUILD_MONETIZATION_REQUIRED: 50097,
1372
1236
  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
1237
  INVALID_JSON: 50109,
1378
- INVALID_FILE_ASSET_SIZE_RESIZE_GIF: 50138,
1379
1238
  CANNOT_MIX_SUBSCRIPTION_AND_NON_SUBSCRIPTION_ROLES_FOR_EMOJI: 50144,
1380
1239
  CANNOT_CONVERT_PREMIUM_EMOJI_TO_NORMAL_EMOJI: 50145,
1381
1240
  VOICE_MESSAGES_DO_NOT_SUPPORT_ADDITIONAL_CONTENT: 50159,
@@ -1383,30 +1242,9 @@ exports.APIErrors = {
1383
1242
  VOICE_MESSAGES_MUST_HAVE_SUPPORTING_METADATA: 50161,
1384
1243
  VOICE_MESSAGES_CANNOT_BE_EDITED: 50162,
1385
1244
  YOU_CANNOT_SEND_VOICE_MESSAGES_IN_THIS_CHANNEL: 50173,
1386
- TWO_FACTOR_ENABLED: 60001,
1387
- TWO_FACTOR_DISABLED: 60002,
1388
1245
  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
1246
  NO_USERS_WITH_DISCORDTAG_EXIST: 80004,
1401
- RELATIONSHIP_ALREADY_FRIENDS: 80007,
1402
1247
  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
1248
  RESOURCE_OVERLOADED: 130000,
1411
1249
  STAGE_ALREADY_OPEN: 150006,
1412
1250
  CANNOT_REPLY_WITHOUT_READ_MESSAGE_HISTORY_PERMISSION: 160002,
@@ -1421,12 +1259,8 @@ exports.APIErrors = {
1421
1259
  LOTTIE_ANIMATION_MAXIMUM_DIMENSIONS_EXCEEDED: 170005,
1422
1260
  STICKER_FRAME_RATE_IS_TOO_SMALL_OR_TOO_LARGE: 170006,
1423
1261
  STICKER_ANIMATION_DURATION_EXCEEDS_MAXIMUM_OF_5_SECONDS: 170007,
1424
- POGGERMODE_TEMPORARILY_DISABLED: 170008,
1425
1262
  CANNOT_UPDATE_A_FINISHED_EVENT: 180000,
1426
1263
  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
1264
  };
1431
1265
 
1432
1266
  /**
@@ -1552,7 +1386,7 @@ exports.ApplicationCommandPermissionTypes = createEnum([null, 'ROLE', 'USER']);
1552
1386
  * * BOOLEAN_EQUAL
1553
1387
  * * BOOLEAN_NOT_EQUAL
1554
1388
  * @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}
1389
+ * @see{@link https://discord.com/developers/docs/resources/application-role-connection-metadata#application-role-connection-metadata-object-application-role-connection-metadata-type}
1556
1390
  */
1557
1391
  exports.ApplicationRoleConnectionMetadataTypes = createEnum([
1558
1392
  null,
@@ -1605,7 +1439,6 @@ exports.AutoModerationActionTypes = createEnum([null, 'BLOCK_MESSAGE', 'SEND_ALE
1605
1439
  */
1606
1440
 
1607
1441
  exports.AutoModerationRuleEventTypes = createEnum([null, 'MESSAGE_SEND']);
1608
-
1609
1442
  /**
1610
1443
  * The type of an {@link Interaction} object:
1611
1444
  * * PING
@@ -1654,37 +1487,29 @@ exports.InteractionResponseTypes = createEnum([
1654
1487
  * The type of a message component
1655
1488
  * * ACTION_ROW
1656
1489
  * * BUTTON
1657
- * * TEXT_INPUT
1658
1490
  * * STRING_SELECT
1491
+ * * TEXT_INPUT
1659
1492
  * * USER_SELECT
1660
1493
  * * ROLE_SELECT
1661
1494
  * * MENTIONABLE_SELECT
1662
1495
  * * CHANNEL_SELECT
1663
- * * SELECT_MENU (deprecated)
1664
1496
  * @typedef {string} MessageComponentType
1665
1497
  * @see {@link https://discord.com/developers/docs/interactions/message-components#component-object-component-types}
1666
1498
  */
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
- };
1499
+ exports.MessageComponentTypes = createEnum([
1500
+ null,
1501
+ 'ACTION_ROW',
1502
+ 'BUTTON',
1503
+ 'STRING_SELECT',
1504
+ 'TEXT_INPUT',
1505
+ 'USER_SELECT',
1506
+ 'ROLE_SELECT',
1507
+ 'MENTIONABLE_SELECT',
1508
+ 'CHANNEL_SELECT',
1509
+ ]);
1684
1510
 
1685
1511
  /**
1686
1512
  * The types of components that are select menus. The available types are:
1687
- * * SELECT_MENU (deprecated)
1688
1513
  * * STRING_MENU
1689
1514
  * * USER_SELECT
1690
1515
  * * ROLE_SELECT
@@ -1693,19 +1518,15 @@ exports.MessageComponentTypes = {
1693
1518
  * @typedef {string} SelectMenuComponentType
1694
1519
  * @see {@link https://discord.com/developers/docs/interactions/message-components#component-object-component-types}
1695
1520
  */
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
- };
1521
+ exports.SelectMenuComponentTypes = createEnum([
1522
+ ...new Array(3).fill(null),
1523
+ 'STRING_MENU',
1524
+ null,
1525
+ 'USER_SELECT',
1526
+ 'ROLE_SELECT',
1527
+ 'MENTIONABLE_SELECT',
1528
+ 'CHANNEL_SELECT',
1529
+ ]);
1709
1530
 
1710
1531
  /**
1711
1532
  * The style of a message button
@@ -1765,27 +1586,6 @@ exports.TextInputStyles = createEnum([null, 'SHORT', 'PARAGRAPH']);
1765
1586
  */
1766
1587
  exports.GuildScheduledEventPrivacyLevels = createEnum([null, null, 'GUILD_ONLY']);
1767
1588
 
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
1589
  /**
1790
1590
  * The premium tier (Server Boost level) of a guild:
1791
1591
  * * NONE
@@ -1819,6 +1619,7 @@ exports.GuildScheduledEventStatuses = createEnum([null, 'SCHEDULED', 'ACTIVE', '
1819
1619
  */
1820
1620
  exports.GuildScheduledEventEntityTypes = createEnum([null, 'STAGE_INSTANCE', 'VOICE', 'EXTERNAL']);
1821
1621
  /* eslint-enable max-len */
1622
+
1822
1623
  /**
1823
1624
  * The camera video quality mode of a {@link VoiceChannel}:
1824
1625
  * * AUTO
@@ -1829,7 +1630,7 @@ exports.GuildScheduledEventEntityTypes = createEnum([null, 'STAGE_INSTANCE', 'VO
1829
1630
  exports.VideoQualityModes = createEnum([null, 'AUTO', 'FULL']);
1830
1631
 
1831
1632
  /**
1832
- * Sort {@link ForumChannel} posts by ?
1633
+ * Sort {@link ForumChannel} posts by creation time or activity
1833
1634
  * * LATEST_ACTIVITY
1834
1635
  * * CREATION_DATE
1835
1636
  * @typedef {string} SortOrderType
@@ -1847,10 +1648,31 @@ exports.SortOrderTypes = createEnum([null, 'LATEST_ACTIVITY', 'CREATION_DATE']);
1847
1648
  */
1848
1649
  exports.ForumLayoutTypes = createEnum(['NOT_SET', 'LIST_VIEW', 'GALLERY_VIEW']);
1849
1650
 
1651
+ /**
1652
+ * Relationship Enums:
1653
+ * * 0: NONE
1654
+ * * 1: FRIEND
1655
+ * * 2: BLOCKED
1656
+ * * 3: PENDING_INCOMING
1657
+ * * 4: PENDING_OUTGOING
1658
+ * * 5: IMPLICIT
1659
+ * @typedef {string} RelationshipTypes
1660
+ * @see {@link https://luna.gitlab.io/discord-unofficial-docs/relationships.html}
1661
+ */
1662
+
1663
+ exports.RelationshipTypes = createEnum([
1664
+ 'NONE',
1665
+ 'FRIEND',
1666
+ 'BLOCKED',
1667
+ 'PENDING_INCOMING',
1668
+ 'PENDING_OUTGOING',
1669
+ 'IMPLICIT',
1670
+ ]);
1671
+
1850
1672
  exports._cleanupSymbol = Symbol('djsCleanup');
1851
1673
 
1852
1674
  function keyMirror(arr) {
1853
- const tmp = Object.create(null);
1675
+ let tmp = Object.create(null);
1854
1676
  for (const value of arr) tmp[value] = value;
1855
1677
  return tmp;
1856
1678
  }
@@ -1905,12 +1727,11 @@ function createEnum(keys) {
1905
1727
  * @property {Object<InteractionResponseType, number>} InteractionResponseTypes The type of an interaction response.
1906
1728
  * @property {Object<InteractionType, number>} InteractionTypes The type of an {@link Interaction} object.
1907
1729
  * @property {InviteScope[]} InviteScopes The scopes of an invite.
1908
- * @property {number} MaxBulkDeletableMessageAge Max bulk deletable message age (Unavailable to selfbots)
1730
+ * @property {Object<RelationshipTypes, number>} RelationshipTypes Relationship Enums
1909
1731
  * @property {Object<MembershipState, number>} MembershipStates The value set for a team members membership state.
1910
1732
  * @property {Object<MessageButtonStyle, number>} MessageButtonStyles The style of a message button.
1911
1733
  * @property {Object<MessageComponentType, number>} MessageComponentTypes The type of a message component.
1912
1734
  * @property {MessageType[]} MessageTypes The type of a {@link Message} object.
1913
- * @property {Object<SelectMenuComponentType, number>} SelectMenuComponentTypes The type of any select menu.
1914
1735
  * @property {Object<MFALevel, number>} MFALevels The required MFA level for a guild.
1915
1736
  * @property {Object<NSFWLevel, number>} NSFWLevels NSFW level of a guild.
1916
1737
  * @property {Opcodes} Opcodes The types of Opcodes sent to the Gateway.
@@ -1921,6 +1742,7 @@ function createEnum(keys) {
1921
1742
  * @property {Object<PrivacyLevel, number>} PrivacyLevels Privacy level of a {@link StageInstance} object.
1922
1743
  * @property {ShardEvents} ShardEvents The type of events emitted by a Shard.
1923
1744
  * @property {Status} Status The available statuses of the client.
1745
+ * @property {Object<SelectMenuComponentType, number>} SelectMenuComponentTypes The type of any select menu.
1924
1746
  * @property {Object<StickerFormatType, number>} StickerFormatTypes The value set for a stickers format type.
1925
1747
  * @property {Object<StickerType, number>} StickerTypes The value set for a stickers type.
1926
1748
  * @property {SweeperKey[]} SweeperKeys The name of an item to be swept in Sweepers.