disgroove 2.2.2-dev.23938d8 → 2.2.2-dev.90b732e

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 (83) hide show
  1. package/README.md +4 -2
  2. package/dist/lib/Client.d.ts +62 -56
  3. package/dist/lib/Client.js +186 -185
  4. package/dist/lib/constants.d.ts +83 -72
  5. package/dist/lib/constants.js +86 -73
  6. package/dist/lib/gateway/Shard.d.ts +1 -1
  7. package/dist/lib/gateway/Shard.js +198 -175
  8. package/dist/lib/index.d.ts +1 -1
  9. package/dist/lib/index.js +1 -1
  10. package/dist/lib/rest/Endpoints.d.ts +1 -1
  11. package/dist/lib/rest/Endpoints.js +3 -3
  12. package/dist/lib/rest/RequestManager.d.ts +1 -1
  13. package/dist/lib/rest/RequestManager.js +1 -1
  14. package/dist/lib/rest/index.d.ts +0 -1
  15. package/dist/lib/rest/index.js +1 -2
  16. package/dist/lib/transformers/Applications.d.ts +8 -0
  17. package/dist/lib/transformers/Applications.js +211 -0
  18. package/dist/lib/transformers/AuditLogs.d.ts +7 -0
  19. package/dist/lib/transformers/AuditLogs.js +97 -0
  20. package/dist/lib/transformers/AutoModeration.d.ts +5 -0
  21. package/dist/lib/transformers/AutoModeration.js +64 -0
  22. package/dist/lib/transformers/Channels.d.ts +16 -0
  23. package/dist/lib/transformers/Channels.js +676 -0
  24. package/dist/lib/transformers/Emojis.d.ts +5 -0
  25. package/dist/lib/transformers/Emojis.js +31 -0
  26. package/dist/lib/transformers/Entitlements.d.ts +7 -0
  27. package/dist/lib/transformers/Entitlements.js +58 -0
  28. package/dist/lib/transformers/GuildScheduledEvents.d.ts +5 -0
  29. package/dist/lib/transformers/GuildScheduledEvents.js +51 -0
  30. package/dist/lib/transformers/GuildTemplates.d.ts +5 -0
  31. package/dist/lib/transformers/GuildTemplates.js +38 -0
  32. package/dist/lib/transformers/Guilds.d.ts +12 -0
  33. package/dist/lib/transformers/Guilds.js +248 -0
  34. package/dist/lib/transformers/Interactions.d.ts +10 -0
  35. package/dist/lib/transformers/Interactions.js +273 -0
  36. package/dist/lib/transformers/Invites.d.ts +5 -0
  37. package/dist/lib/transformers/Invites.js +79 -0
  38. package/dist/lib/transformers/Polls.d.ts +5 -0
  39. package/dist/lib/transformers/Polls.js +50 -0
  40. package/dist/lib/transformers/Presences.d.ts +8 -0
  41. package/dist/lib/transformers/Presences.js +108 -0
  42. package/dist/lib/transformers/Roles.d.ts +5 -0
  43. package/dist/lib/transformers/Roles.js +56 -0
  44. package/dist/lib/transformers/SKUs.d.ts +5 -0
  45. package/dist/lib/transformers/SKUs.js +26 -0
  46. package/dist/lib/transformers/StageInstances.d.ts +5 -0
  47. package/dist/lib/transformers/StageInstances.js +28 -0
  48. package/dist/lib/transformers/Stickers.d.ts +5 -0
  49. package/dist/lib/transformers/Stickers.js +41 -0
  50. package/dist/lib/transformers/Teams.d.ts +5 -0
  51. package/dist/lib/transformers/Teams.js +35 -0
  52. package/dist/lib/transformers/Users.d.ts +5 -0
  53. package/dist/lib/transformers/Users.js +48 -0
  54. package/dist/lib/transformers/Voice.d.ts +5 -0
  55. package/dist/lib/transformers/Voice.js +45 -0
  56. package/dist/lib/transformers/Webhooks.d.ts +5 -0
  57. package/dist/lib/transformers/Webhooks.js +51 -0
  58. package/dist/lib/transformers/index.d.ts +21 -0
  59. package/dist/lib/transformers/index.js +37 -0
  60. package/dist/lib/types/entitlements.d.ts +0 -6
  61. package/dist/lib/types/gateway-events.d.ts +21 -8
  62. package/dist/lib/types/interaction.d.ts +1 -1
  63. package/dist/lib/types/sku.d.ts +0 -12
  64. package/dist/lib/utils/Util.d.ts +1 -91
  65. package/dist/lib/utils/Util.js +2 -2167
  66. package/dist/lib/utils/errors.d.ts +3 -3
  67. package/dist/lib/utils/errors.js +6 -8
  68. package/dist/lib/utils/formatters.d.ts +9 -0
  69. package/dist/lib/utils/formatters.js +38 -0
  70. package/dist/lib/utils/index.d.ts +2 -0
  71. package/dist/lib/utils/index.js +15 -0
  72. package/dist/package.json +1 -1
  73. package/package.json +1 -1
  74. package/dist/lib/types/voice-connections.d.ts +0 -64
  75. package/dist/lib/types/voice-connections.js +0 -2
  76. package/dist/lib/voice/VoiceConnection.d.ts +0 -57
  77. package/dist/lib/voice/VoiceConnection.js +0 -150
  78. package/dist/lib/voice/VoiceConnectionManager.d.ts +0 -19
  79. package/dist/lib/voice/VoiceConnectionManager.js +0 -66
  80. package/dist/lib/voice/index.d.ts +0 -2
  81. package/dist/lib/voice/index.js +0 -18
  82. /package/dist/lib/{rest → utils}/CDN.d.ts +0 -0
  83. /package/dist/lib/{rest → utils}/CDN.js +0 -0
@@ -31,6 +31,7 @@ const ws_1 = __importDefault(require("ws"));
31
31
  const constants_1 = require("../constants");
32
32
  const utils_1 = require("../utils");
33
33
  const pkg = __importStar(require("../../package.json"));
34
+ const transformers_1 = require("../transformers");
34
35
  class Shard {
35
36
  id;
36
37
  heartbeatInterval;
@@ -39,8 +40,10 @@ class Shard {
39
40
  sessionID;
40
41
  constructor(id, client) {
41
42
  this.id = id;
43
+ this.heartbeatInterval = null;
42
44
  this.client = client;
43
- this.ws = new ws_1.default("wss://gateway.discord.gg/?v=10&encoding=json");
45
+ this.ws = new ws_1.default("wss://gateway.discord.gg/?v=10&encoding=json", client.ws);
46
+ this.sessionID = null;
44
47
  }
45
48
  /** https://discord.com/developers/docs/topics/gateway#connections */
46
49
  connect() {
@@ -83,33 +86,33 @@ class Shard {
83
86
  }));
84
87
  }
85
88
  onDispatch(packet) {
86
- this.client.emit(constants_1.GatewayEvents.Dispatch, packet);
89
+ this.client.emit("dispatch", packet);
87
90
  switch (packet.t) {
88
- case "READY":
91
+ case constants_1.GatewayEvents.Ready:
89
92
  {
90
93
  this.sessionID = packet.d.session_id;
91
- this.client.user = this.client.util.userFromRaw(packet.d.user);
94
+ this.client.user = transformers_1.Users.userFromRaw(packet.d.user);
92
95
  this.client.application = packet.d.application;
93
- this.client.emit(constants_1.GatewayEvents.Ready);
96
+ this.client.emit("ready");
94
97
  }
95
98
  break;
96
- case "RESUMED":
97
- this.client.emit(constants_1.GatewayEvents.Resumed);
99
+ case constants_1.GatewayEvents.Resumed:
100
+ this.client.emit("resumed");
98
101
  break;
99
- case "APPLICATION_COMMAND_PERMISSIONS_UPDATE":
100
- this.client.emit(constants_1.GatewayEvents.ApplicationCommandPermissionsUpdate, this.client.util.guildApplicationCommandPermissionsFromRaw(packet.d));
102
+ case constants_1.GatewayEvents.ApplicationCommandPermissionsUpdate:
103
+ this.client.emit("applicationCommandPermissionsUpdate", transformers_1.Guilds.guildApplicationCommandPermissionsFromRaw(packet.d));
101
104
  break;
102
- case "AUTO_MODERATION_RULE_CREATE":
103
- this.client.emit(constants_1.GatewayEvents.AutoModerationRuleCreate, this.client.util.autoModerationRuleFromRaw(packet.d));
105
+ case constants_1.GatewayEvents.AutoModerationRuleCreate:
106
+ this.client.emit("autoModerationRuleCreate", transformers_1.AutoModeration.autoModerationRuleFromRaw(packet.d));
104
107
  break;
105
- case "AUTO_MODERATION_RULE_UPDATE":
106
- this.client.emit(constants_1.GatewayEvents.AutoModerationRuleUpdate, this.client.util.autoModerationRuleFromRaw(packet.d));
108
+ case constants_1.GatewayEvents.AutoModerationRuleUpdate:
109
+ this.client.emit("autoModerationRuleUpdate", transformers_1.AutoModeration.autoModerationRuleFromRaw(packet.d));
107
110
  break;
108
- case "AUTO_MODERATION_RULE_DELETE":
109
- this.client.emit(constants_1.GatewayEvents.AutoModerationRuleDelete, this.client.util.autoModerationRuleFromRaw(packet.d));
111
+ case constants_1.GatewayEvents.AutoModerationRuleDelete:
112
+ this.client.emit("autoModerationRuleDelete", transformers_1.AutoModeration.autoModerationRuleFromRaw(packet.d));
110
113
  break;
111
- case "AUTO_MODERATION_ACTION_EXECUTION":
112
- this.client.emit(constants_1.GatewayEvents.AutoModerationActionExecution, {
114
+ case constants_1.GatewayEvents.AutoModerationActionExecution:
115
+ this.client.emit("autoModerationActionExecution", {
113
116
  guildID: packet.d.guild_id,
114
117
  action: {
115
118
  type: packet.d.action.type,
@@ -130,136 +133,136 @@ class Shard {
130
133
  matchedContent: packet.d.matched_content,
131
134
  });
132
135
  break;
133
- case "CHANNEL_CREATE":
134
- this.client.emit(constants_1.GatewayEvents.ChannelCreate, this.client.util.channelFromRaw(packet.d));
136
+ case constants_1.GatewayEvents.ChannelCreate:
137
+ this.client.emit("channelCreate", transformers_1.Channels.channelFromRaw(packet.d));
135
138
  break;
136
- case "CHANNEL_UPDATE":
137
- this.client.emit(constants_1.GatewayEvents.ChannelUpdate, this.client.util.channelFromRaw(packet.d));
139
+ case constants_1.GatewayEvents.ChannelUpdate:
140
+ this.client.emit("channelUpdate", transformers_1.Channels.channelFromRaw(packet.d));
138
141
  break;
139
- case "CHANNEL_DELETE":
140
- this.client.emit(constants_1.GatewayEvents.ChannelDelete, this.client.util.channelFromRaw(packet.d));
142
+ case constants_1.GatewayEvents.ChannelDelete:
143
+ this.client.emit("channelDelete", transformers_1.Channels.channelFromRaw(packet.d));
141
144
  break;
142
- case "CHANNEL_PINS_UPDATE":
143
- this.client.emit(constants_1.GatewayEvents.ChannelPinsUpdate, {
145
+ case constants_1.GatewayEvents.ChannelPinsUpdate:
146
+ this.client.emit("channelPinsUpdate", {
144
147
  guildID: packet.d.guild_id,
145
148
  channelID: packet.d.channel_id,
146
149
  lastPinTimestamp: packet.d.last_pin_timestamp,
147
150
  });
148
151
  break;
149
- case "THREAD_CREATE":
150
- this.client.emit(constants_1.GatewayEvents.ThreadCreate, this.client.util.channelFromRaw(packet.d));
152
+ case constants_1.GatewayEvents.ThreadCreate:
153
+ this.client.emit("threadCreate", transformers_1.Channels.channelFromRaw(packet.d));
151
154
  break;
152
- case "THREAD_UPDATE":
153
- this.client.emit(constants_1.GatewayEvents.ThreadUpdate, this.client.util.channelFromRaw(packet.d));
155
+ case constants_1.GatewayEvents.ThreadUpdate:
156
+ this.client.emit("threadUpdate", transformers_1.Channels.channelFromRaw(packet.d));
154
157
  break;
155
- case "THREAD_DELETE":
156
- this.client.emit(constants_1.GatewayEvents.ThreadDelete, this.client.util.channelFromRaw(packet.d));
158
+ case constants_1.GatewayEvents.ThreadDelete:
159
+ this.client.emit("threadDelete", transformers_1.Channels.channelFromRaw(packet.d));
157
160
  break;
158
- case "THREAD_LIST_SYNC":
159
- this.client.emit(constants_1.GatewayEvents.ThreadListSync, {
161
+ case constants_1.GatewayEvents.ThreadListSync:
162
+ this.client.emit("threadListSync", {
160
163
  guildID: packet.d.guild_id,
161
164
  channelIDs: packet.d.channel_ids,
162
- threads: packet.d.threads.map((thread) => this.client.util.channelFromRaw(thread)),
163
- members: packet.d.members.map((threadMember) => this.client.util.threadMemberFromRaw(threadMember)),
165
+ threads: packet.d.threads.map((thread) => transformers_1.Channels.channelFromRaw(thread)),
166
+ members: packet.d.members.map((threadMember) => transformers_1.Channels.threadMemberFromRaw(threadMember)),
164
167
  });
165
168
  break;
166
- case "THREAD_MEMBER_UPDATE":
167
- this.client.emit(constants_1.GatewayEvents.ThreadMemberUpdate, {
169
+ case constants_1.GatewayEvents.ThreadMemberUpdate:
170
+ this.client.emit("threadMemberUpdate", {
168
171
  id: packet.d.id,
169
172
  userID: packet.d.user_id,
170
173
  joinTimestamp: packet.d.join_timestamp,
171
174
  flags: packet.d.flags,
172
175
  member: packet.d.member !== undefined
173
- ? this.client.util.guildMemberFromRaw(packet.d.member)
176
+ ? transformers_1.Guilds.guildMemberFromRaw(packet.d.member)
174
177
  : undefined,
175
178
  guildID: packet.d.guild_id,
176
179
  });
177
180
  break;
178
- case "THREAD_MEMBERS_UPDATE":
179
- this.client.emit(constants_1.GatewayEvents.ThreadMembersUpdate, {
181
+ case constants_1.GatewayEvents.ThreadMembersUpdate:
182
+ this.client.emit("threadMembersUpdate", {
180
183
  id: packet.d.id,
181
184
  guildID: packet.d.guild_id,
182
185
  memberCount: packet.d.member_count,
183
- addedMembers: packet.d.members.map((threadMember) => this.client.util.threadMemberFromRaw(threadMember)),
186
+ addedMembers: packet.d.members.map((threadMember) => transformers_1.Channels.threadMemberFromRaw(threadMember)),
184
187
  removedMemberIDs: packet.d.removed_member_ids,
185
188
  });
186
189
  break;
187
- case "ENTITLEMENT_CREATE":
188
- this.client.emit(constants_1.GatewayEvents.EntitlementCreate, this.client.util.entitlementFromRaw(packet.d));
190
+ case constants_1.GatewayEvents.EntitlementCreate:
191
+ this.client.emit("entitlementCreate", transformers_1.Entitlements.entitlementFromRaw(packet.d));
189
192
  break;
190
- case "ENTITLEMENT_UPDATE":
191
- this.client.emit(constants_1.GatewayEvents.EntitlementUpdate, this.client.util.entitlementFromRaw(packet.d));
193
+ case constants_1.GatewayEvents.EntitlementUpdate:
194
+ this.client.emit("entitlementUpdate", transformers_1.Entitlements.entitlementFromRaw(packet.d));
192
195
  break;
193
- case "ENTITLEMENT_DELETE":
194
- this.client.emit(constants_1.GatewayEvents.EntitlementDelete, this.client.util.entitlementFromRaw(packet.d));
196
+ case constants_1.GatewayEvents.EntitlementDelete:
197
+ this.client.emit("entitlementDelete", transformers_1.Entitlements.entitlementFromRaw(packet.d));
195
198
  break;
196
- case "GUILD_CREATE":
199
+ case constants_1.GatewayEvents.GuildCreate:
197
200
  {
198
201
  this.client.guildShardMap[packet.d.id] = this.id;
199
- this.client.guilds.set(packet.d.id, this.client.util.guildFromRaw(packet.d));
200
- this.client.emit(constants_1.GatewayEvents.GuildCreate, this.client.util.guildFromRaw(packet.d));
202
+ this.client.guilds.set(packet.d.id, transformers_1.Guilds.guildFromRaw(packet.d));
203
+ this.client.emit("guildCreate", transformers_1.Guilds.guildFromRaw(packet.d));
201
204
  }
202
205
  break;
203
- case "GUILD_UPDATE":
206
+ case constants_1.GatewayEvents.GuildUpdate:
204
207
  {
205
- this.client.guilds.set(packet.d.id, this.client.util.guildFromRaw(packet.d));
206
- this.client.emit(constants_1.GatewayEvents.GuildUpdate, this.client.util.guildFromRaw(packet.d));
208
+ this.client.guilds.set(packet.d.id, transformers_1.Guilds.guildFromRaw(packet.d));
209
+ this.client.emit("guildUpdate", transformers_1.Guilds.guildFromRaw(packet.d));
207
210
  }
208
211
  break;
209
- case "GUILD_DELETE":
212
+ case constants_1.GatewayEvents.GuildDelete:
210
213
  {
211
214
  delete this.client.guildShardMap[packet.d.id];
212
215
  this.client.guilds.delete(packet.d.id);
213
- this.client.emit(constants_1.GatewayEvents.GuildDelete, {
216
+ this.client.emit("guildDelete", {
214
217
  id: packet.d.id,
215
218
  unavailable: packet.d.unavailable,
216
219
  });
217
220
  }
218
221
  break;
219
- case "GUILD_AUDIT_LOG_ENTRY_CREATE":
220
- this.client.emit(constants_1.GatewayEvents.GuildAuditLogEntryCreate, {
221
- ...this.client.util.auditLogEntryFromRaw(packet.d),
222
+ case constants_1.GatewayEvents.GuildAuditLogEntryCreate:
223
+ this.client.emit("guildAuditLogEntryCreate", {
224
+ ...transformers_1.AuditLogs.auditLogEntryFromRaw(packet.d),
222
225
  guildID: packet.d.guild_id,
223
226
  });
224
227
  break;
225
- case "GUILD_BAN_ADD":
226
- this.client.emit(constants_1.GatewayEvents.GuildBanAdd, {
228
+ case constants_1.GatewayEvents.GuildBanAdd:
229
+ this.client.emit("guildBanAdd", {
227
230
  guildID: packet.d.guild_id,
228
- user: this.client.util.userFromRaw(packet.d.user),
231
+ user: transformers_1.Users.userFromRaw(packet.d.user),
229
232
  });
230
233
  break;
231
- case "GUILD_BAN_REMOVE":
232
- this.client.emit(constants_1.GatewayEvents.GuildBanRemove, {
234
+ case constants_1.GatewayEvents.GuildBanRemove:
235
+ this.client.emit("guildBanRemove", {
233
236
  guildID: packet.d.guild_id,
234
- user: this.client.util.userFromRaw(packet.d.user),
237
+ user: transformers_1.Users.userFromRaw(packet.d.user),
235
238
  });
236
239
  break;
237
- case "GUILD_EMOJIS_UPDATE":
238
- this.client.emit(constants_1.GatewayEvents.GuildEmojisUpdate, packet.d.emojis.map((emoji) => this.client.util.emojiFromRaw(emoji)), packet.d.guild_id);
240
+ case constants_1.GatewayEvents.GuildEmojisUpdate:
241
+ this.client.emit("guildEmojisUpdate", packet.d.emojis.map((emoji) => transformers_1.Emojis.emojiFromRaw(emoji)), packet.d.guild_id);
239
242
  break;
240
- case "GUILD_STICKERS_UPDATE":
241
- this.client.emit(constants_1.GatewayEvents.GuildStickersUpdate, packet.d.stickers.map((sticker) => this.client.util.stickerFromRaw(sticker)), packet.d.guild_id);
243
+ case constants_1.GatewayEvents.GuildStickersUpdate:
244
+ this.client.emit("guildStickersUpdate", packet.d.stickers.map((sticker) => transformers_1.Stickers.stickerFromRaw(sticker)), packet.d.guild_id);
242
245
  break;
243
- case "GUILD_INTEGRATIONS_UPDATE":
244
- this.client.emit(constants_1.GatewayEvents.GuildIntegrationsUpdate, packet.d.guild_id);
246
+ case constants_1.GatewayEvents.GuildIntegrationsUpdate:
247
+ this.client.emit("guildIntegrationsUpdate", packet.d.guild_id);
245
248
  break;
246
- case "GUILD_MEMBER_ADD":
247
- this.client.emit(constants_1.GatewayEvents.GuildMemberAdd, {
248
- ...this.client.util.guildMemberFromRaw(packet.d),
249
+ case constants_1.GatewayEvents.GuildMemberAdd:
250
+ this.client.emit("guildMemberAdd", {
251
+ ...transformers_1.Guilds.guildMemberFromRaw(packet.d),
249
252
  guildID: packet.d.guild_id,
250
253
  });
251
254
  break;
252
- case "GUILD_MEMBER_REMOVE":
253
- this.client.emit(constants_1.GatewayEvents.GuildMemberRemove, {
255
+ case constants_1.GatewayEvents.GuildMemberRemove:
256
+ this.client.emit("guildMemberRemove", {
254
257
  guildID: packet.d.guild_id,
255
- user: this.client.util.userFromRaw(packet.d.user),
258
+ user: transformers_1.Users.userFromRaw(packet.d.user),
256
259
  });
257
260
  break;
258
- case "GUILD_MEMBER_UPDATE":
259
- this.client.emit(constants_1.GatewayEvents.GuildMemberUpdate, {
261
+ case constants_1.GatewayEvents.GuildMemberUpdate:
262
+ this.client.emit("guildMemberUpdate", {
260
263
  guildID: packet.d.guild_id,
261
264
  roles: packet.d.roles,
262
- user: this.client.util.userFromRaw(packet.d.user),
265
+ user: transformers_1.Users.userFromRaw(packet.d.user),
263
266
  nick: packet.d.nick,
264
267
  avatar: packet.d.avatar,
265
268
  joinedAt: packet.d.joined_at,
@@ -277,210 +280,204 @@ class Shard {
277
280
  : undefined,
278
281
  });
279
282
  break;
280
- case "GUILD_MEMBERS_CHUNK":
281
- this.client.emit(constants_1.GatewayEvents.GuildMembersChunk, {
283
+ case constants_1.GatewayEvents.GuildMembersChunk:
284
+ this.client.emit("guildMembersChunk", {
282
285
  guildID: packet.d.guild_id,
283
- members: packet.d.members.map((guildMember) => this.client.util.guildMemberFromRaw(guildMember)),
286
+ members: packet.d.members.map((guildMember) => transformers_1.Guilds.guildMemberFromRaw(guildMember)),
284
287
  chunkIndex: packet.d.chunk_index,
285
288
  chunkCount: packet.d.chunk_count,
286
289
  notFound: packet.d.not_found,
287
- presences: packet.d.presences?.map((presence) => this.client.util.presenceFromRaw(presence)),
290
+ presences: packet.d.presences?.map((presence) => transformers_1.Presences.presenceFromRaw(presence)),
288
291
  nonce: packet.d.nonce,
289
292
  });
290
293
  break;
291
- case "GUILD_ROLE_CREATE":
292
- this.client.emit(constants_1.GatewayEvents.GuildRoleCreate, this.client.util.roleFromRaw(packet.d.role), packet.d.guild_id);
294
+ case constants_1.GatewayEvents.GuildRoleCreate:
295
+ this.client.emit("guildRoleCreate", transformers_1.Roles.roleFromRaw(packet.d.role), packet.d.guild_id);
293
296
  break;
294
- case "GUILD_ROLE_UPDATE":
295
- this.client.emit(constants_1.GatewayEvents.GuildRoleUpdate, this.client.util.roleFromRaw(packet.d.role), packet.d.guild_id);
297
+ case constants_1.GatewayEvents.GuildRoleUpdate:
298
+ this.client.emit("guildRoleUpdate", transformers_1.Roles.roleFromRaw(packet.d.role), packet.d.guild_id);
296
299
  break;
297
- case "GUILD_ROLE_DELETE":
298
- this.client.emit(constants_1.GatewayEvents.GuildRoleDelete, packet.d.role_id, packet.d.guild_id);
300
+ case constants_1.GatewayEvents.GuildRoleDelete:
301
+ this.client.emit("guildRoleDelete", packet.d.role_id, packet.d.guild_id);
299
302
  break;
300
- case "GUILD_SCHEDULED_EVENT_CREATE":
301
- this.client.emit(constants_1.GatewayEvents.GuildScheduledEventCreate, this.client.util.guildScheduledEventFromRaw(packet.d));
303
+ case constants_1.GatewayEvents.GuildScheduledEventCreate:
304
+ this.client.emit("guildScheduledEventCreate", transformers_1.GuildScheduledEvents.guildScheduledEventFromRaw(packet.d));
302
305
  break;
303
- case "GUILD_SCHEDULED_EVENT_UPDATE":
304
- this.client.emit(constants_1.GatewayEvents.GuildScheduledEventUpdate, this.client.util.guildScheduledEventFromRaw(packet.d));
306
+ case constants_1.GatewayEvents.GuildScheduledEventUpdate:
307
+ this.client.emit("guildScheduledEventUpdate", transformers_1.GuildScheduledEvents.guildScheduledEventFromRaw(packet.d));
305
308
  break;
306
- case "GUILD_SCHEDULED_EVENT_DELETE":
307
- this.client.emit(constants_1.GatewayEvents.GuildScheduledEventDelete, this.client.util.guildScheduledEventFromRaw(packet.d));
309
+ case constants_1.GatewayEvents.GuildScheduledEventDelete:
310
+ this.client.emit("guildScheduledEventDelete", transformers_1.GuildScheduledEvents.guildScheduledEventFromRaw(packet.d));
308
311
  break;
309
- case "GUILD_SCHEDULED_EVENT_USER_ADD":
310
- this.client.emit(constants_1.GatewayEvents.GuildScheduledEventUserAdd, packet.d.user_id, packet.d.guild_scheduled_event_id, packet.d.guild_id);
312
+ case constants_1.GatewayEvents.GuildScheduledEventUserAdd:
313
+ this.client.emit("guildScheduledEventUserAdd", packet.d.user_id, packet.d.guild_scheduled_event_id, packet.d.guild_id);
311
314
  break;
312
- case "GUILD_SCHEDULED_EVENT_USER_REMOVE":
313
- this.client.emit(constants_1.GatewayEvents.GuildScheduledEventUserRemove, packet.d.user_id, packet.d.guild_scheduled_event_id, packet.d.guild_id);
315
+ case constants_1.GatewayEvents.GuildScheduledEventUserRemove:
316
+ this.client.emit("guildScheduledEventUserRemove", packet.d.user_id, packet.d.guild_scheduled_event_id, packet.d.guild_id);
314
317
  break;
315
- case "INTEGRATION_CREATE":
316
- this.client.emit(constants_1.GatewayEvents.IntegrationCreate, {
317
- ...this.client.util.integrationFromRaw(packet.d),
318
+ case constants_1.GatewayEvents.IntegrationCreate:
319
+ this.client.emit("integrationCreate", {
320
+ ...transformers_1.Guilds.integrationFromRaw(packet.d),
318
321
  guildID: packet.d.guild_id,
319
322
  });
320
323
  break;
321
- case "INTEGRATION_UPDATE":
322
- this.client.emit(constants_1.GatewayEvents.IntegrationUpdate, {
323
- ...this.client.util.integrationFromRaw(packet.d),
324
+ case constants_1.GatewayEvents.IntegrationUpdate:
325
+ this.client.emit("integrationUpdate", {
326
+ ...transformers_1.Guilds.integrationFromRaw(packet.d),
324
327
  guildID: packet.d.guild_id,
325
328
  });
326
329
  break;
327
- case "INTEGRATION_DELETE":
328
- this.client.emit(constants_1.GatewayEvents.IntegrationDelete, {
330
+ case constants_1.GatewayEvents.IntegrationDelete:
331
+ this.client.emit("integrationDelete", {
329
332
  id: packet.d.id,
330
333
  guildID: packet.d.guild_id,
331
334
  applicationID: packet.d.application_id,
332
335
  });
333
336
  break;
334
- case "INTERACTION_CREATE":
335
- this.client.emit(constants_1.GatewayEvents.InteractionCreate, this.client.util.interactionFromRaw(packet.d));
337
+ case constants_1.GatewayEvents.InteractionCreate:
338
+ this.client.emit("interactionCreate", transformers_1.Interactions.interactionFromRaw(packet.d));
336
339
  break;
337
- case "INVITE_CREATE":
338
- this.client.emit(constants_1.GatewayEvents.InviteCreate, {
340
+ case constants_1.GatewayEvents.InviteCreate:
341
+ this.client.emit("inviteCreate", {
339
342
  channelID: packet.d.channel_id,
340
343
  code: packet.d.code,
341
344
  createdAt: packet.d.created_at,
342
345
  guildID: packet.d.guild_id,
343
346
  inviter: packet.d.inviter !== undefined
344
- ? this.client.util.userFromRaw(packet.d.inviter)
347
+ ? transformers_1.Users.userFromRaw(packet.d.inviter)
345
348
  : undefined,
346
349
  maxAge: packet.d.max_age,
347
350
  maxUses: packet.d.max_uses,
348
351
  targetType: packet.d.target_type,
349
352
  targetUser: packet.d.target_user !== undefined
350
- ? this.client.util.userFromRaw(packet.d.target_user)
353
+ ? transformers_1.Users.userFromRaw(packet.d.target_user)
351
354
  : undefined,
352
355
  targetApplication: packet.d.target_application !== undefined
353
- ? this.client.util.applicationFromRaw(packet.d.target_application)
356
+ ? transformers_1.Applications.applicationFromRaw(packet.d.target_application)
354
357
  : undefined,
355
358
  temporary: packet.d.temporary,
356
359
  uses: packet.d.uses,
357
360
  });
358
361
  break;
359
- case "INVITE_DELETE":
360
- this.client.emit(constants_1.GatewayEvents.InviteDelete, {
362
+ case constants_1.GatewayEvents.InviteDelete:
363
+ this.client.emit("inviteDelete", {
361
364
  channelID: packet.d.channel_id,
362
365
  guildID: packet.d.guild_id,
363
366
  code: packet.d.code,
364
367
  });
365
368
  break;
366
- case "MESSAGE_CREATE":
367
- this.client.emit(constants_1.GatewayEvents.MessageCreate, {
368
- ...this.client.util.messageFromRaw(packet.d),
369
+ case constants_1.GatewayEvents.MessageCreate:
370
+ this.client.emit("messageCreate", {
371
+ ...transformers_1.Channels.messageFromRaw(packet.d),
369
372
  guildID: packet.d.guild_id,
370
373
  member: packet.d.member !== undefined
371
- ? this.client.util.guildMemberFromRaw(packet.d.member)
374
+ ? transformers_1.Guilds.guildMemberFromRaw(packet.d.member)
372
375
  : undefined,
373
- mentions: packet.d.mentions.map((mention) => this.client.util.userFromRaw(mention)),
376
+ mentions: packet.d.mentions.map((mention) => transformers_1.Users.userFromRaw(mention)),
374
377
  });
375
378
  break;
376
- case "MESSAGE_UPDATE":
377
- this.client.emit(constants_1.GatewayEvents.MessageUpdate, this.client.util.messageFromRaw(packet.d));
379
+ case constants_1.GatewayEvents.MessageUpdate:
380
+ this.client.emit("messageUpdate", transformers_1.Channels.messageFromRaw(packet.d));
378
381
  break;
379
- case "MESSAGE_DELETE":
380
- this.client.emit(constants_1.GatewayEvents.MessageDelete, {
382
+ case constants_1.GatewayEvents.MessageDelete:
383
+ this.client.emit("messageDelete", {
381
384
  id: packet.d.id,
382
385
  channelID: packet.d.channel_id,
383
386
  guildID: packet.d.guild_id,
384
387
  });
385
388
  break;
386
- case "MESSAGE_DELETE_BULK":
387
- this.client.emit(constants_1.GatewayEvents.MessageDeleteBulk, {
389
+ case constants_1.GatewayEvents.MessageDeleteBulk:
390
+ this.client.emit("messageDeleteBulk", {
388
391
  ids: packet.d.ids,
389
392
  channelID: packet.d.channel_id,
390
393
  guildID: packet.d.guild_id,
391
394
  });
392
395
  break;
393
- case "MESSAGE_REACTION_ADD":
394
- this.client.emit(constants_1.GatewayEvents.MessageReactionAdd, {
396
+ case constants_1.GatewayEvents.MessageReactionAdd:
397
+ this.client.emit("messageReactionAdd", {
395
398
  userID: packet.d.user_id,
396
399
  channelID: packet.d.user_id,
397
400
  messageID: packet.d.user_id,
398
401
  guildID: packet.d.user_id,
399
402
  member: packet.d.member !== undefined
400
- ? this.client.util.guildMemberFromRaw(packet.d.member)
403
+ ? transformers_1.Guilds.guildMemberFromRaw(packet.d.member)
401
404
  : undefined,
402
- emoji: this.client.util.emojiFromRaw(packet.d.emoji),
405
+ emoji: transformers_1.Emojis.emojiFromRaw(packet.d.emoji),
403
406
  messageAuthorID: packet.d.message_author_id,
404
407
  burst: packet.d.burst,
405
408
  burstColors: packet.d.burst_colors,
406
409
  type: packet.d.type,
407
410
  });
408
411
  break;
409
- case "MESSAGE_REACTION_REMOVE":
410
- this.client.emit(constants_1.GatewayEvents.MessageReactionRemove, {
412
+ case constants_1.GatewayEvents.MessageReactionRemove:
413
+ this.client.emit("messageReactionRemove", {
411
414
  userID: packet.d.user_id,
412
415
  channelID: packet.d.user_id,
413
416
  messageID: packet.d.user_id,
414
417
  guildID: packet.d.user_id,
415
- emoji: this.client.util.emojiFromRaw(packet.d.emoji),
418
+ emoji: transformers_1.Emojis.emojiFromRaw(packet.d.emoji),
416
419
  burst: packet.d.burst,
417
420
  type: packet.d.type,
418
421
  });
419
422
  break;
420
- case "MESSAGE_REACTION_REMOVE_ALL":
421
- this.client.emit(constants_1.GatewayEvents.MessageReactionRemoveAll, {
423
+ case constants_1.GatewayEvents.MessageReactionRemoveAll:
424
+ this.client.emit("messageReactionRemoveAll", {
422
425
  channelID: packet.d.channel_id,
423
426
  messageID: packet.d.message_id,
424
427
  guildID: packet.d.guild_id,
425
428
  });
426
429
  break;
427
- case "MESSAGE_REACTION_REMOVE_EMOJI":
428
- this.client.emit(constants_1.GatewayEvents.MessageReactionRemoveEmoji, {
430
+ case constants_1.GatewayEvents.MessageReactionRemoveEmoji:
431
+ this.client.emit("messageReactionRemoveEmoji", {
429
432
  channelID: packet.d.channel_id,
430
433
  guildID: packet.d.guild_id,
431
434
  messageID: packet.d.message_id,
432
- emoji: this.client.util.emojiFromRaw(packet.d.emoji),
435
+ emoji: transformers_1.Emojis.emojiFromRaw(packet.d.emoji),
433
436
  });
434
437
  break;
435
- case "PRESENCE_UPDATE":
436
- this.client.emit(constants_1.GatewayEvents.PresenceUpdate, this.client.util.presenceFromRaw(packet.d));
438
+ case constants_1.GatewayEvents.PresenceUpdate:
439
+ this.client.emit("presenceUpdate", transformers_1.Presences.presenceFromRaw(packet.d));
437
440
  break;
438
- case "STAGE_INSTANCE_CREATE":
439
- this.client.emit(constants_1.GatewayEvents.StageInstanceCreate, this.client.util.stageInstanceFromRaw(packet.d));
441
+ case constants_1.GatewayEvents.StageInstanceCreate:
442
+ this.client.emit("stageInstanceCreate", transformers_1.StageInstances.stageInstanceFromRaw(packet.d));
440
443
  break;
441
- case "STAGE_INSTANCE_UPDATE":
442
- this.client.emit(constants_1.GatewayEvents.StageInstanceUpdate, this.client.util.stageInstanceFromRaw(packet.d));
444
+ case constants_1.GatewayEvents.StageInstanceUpdate:
445
+ this.client.emit("stageInstanceUpdate", transformers_1.StageInstances.stageInstanceFromRaw(packet.d));
443
446
  break;
444
- case "STAGE_INSTANCE_DELETE":
445
- this.client.emit(constants_1.GatewayEvents.StageInstanceDelete, this.client.util.stageInstanceFromRaw(packet.d));
447
+ case constants_1.GatewayEvents.StageInstanceDelete:
448
+ this.client.emit("stageInstanceDelete", transformers_1.StageInstances.stageInstanceFromRaw(packet.d));
446
449
  break;
447
- case "TYPING_START":
448
- this.client.emit(constants_1.GatewayEvents.TypingStart, {
450
+ case constants_1.GatewayEvents.TypingStart:
451
+ this.client.emit("typingStart", {
449
452
  channelID: packet.d.channel_id,
450
453
  guildID: packet.d.guild_id,
451
454
  userID: packet.d.user_id,
452
455
  timestamp: packet.d.timestamp,
453
456
  member: packet.d.member !== undefined
454
- ? this.client.util.guildMemberFromRaw(packet.d.member)
457
+ ? transformers_1.Guilds.guildMemberFromRaw(packet.d.member)
455
458
  : undefined,
456
459
  });
457
460
  break;
458
- case "USER_UPDATE":
459
- this.client.emit(constants_1.GatewayEvents.UserUpdate, this.client.util.userFromRaw(packet.d));
461
+ case constants_1.GatewayEvents.UserUpdate:
462
+ this.client.emit("userUpdate", transformers_1.Users.userFromRaw(packet.d));
460
463
  break;
461
- case "VOICE_STATE_UPDATE":
462
- this.client.emit(constants_1.GatewayEvents.VoiceStateUpdate, this.client.util.voiceStateFromRaw(packet.d));
464
+ case constants_1.GatewayEvents.VoiceStateUpdate:
465
+ this.client.emit("voiceStateUpdate", transformers_1.Voice.voiceStateFromRaw(packet.d));
463
466
  break;
464
- case "VOICE_SERVER_UPDATE":
467
+ case constants_1.GatewayEvents.VoiceServerUpdate:
465
468
  {
466
- this.client.voiceConnections.connect(packet.d.endpoint, {
467
- serverID: packet.d.guild_id,
468
- userID: this.client.user.id,
469
- sessionID: this.sessionID,
470
- token: packet.d.token,
471
- });
472
- this.client.emit(constants_1.GatewayEvents.VoiceServerUpdate, {
469
+ this.client.emit("voiceServerUpdate", {
473
470
  token: packet.d.token,
474
471
  guildID: packet.d.guild_id,
475
472
  endpoint: packet.d.endpoint,
476
473
  });
477
474
  }
478
475
  break;
479
- case "WEBHOOKS_UPDATE":
480
- this.client.emit(constants_1.GatewayEvents.WebhooksUpdate, packet.d.channel_id, packet.d.guild_id);
476
+ case constants_1.GatewayEvents.WebhooksUpdate:
477
+ this.client.emit("webhooksUpdate", packet.d.channel_id, packet.d.guild_id);
481
478
  break;
482
- case "MESSAGE_POLL_VOTE_ADD":
483
- this.client.emit(constants_1.GatewayEvents.MessagePollVoteAdd, {
479
+ case constants_1.GatewayEvents.MessagePollVoteAdd:
480
+ this.client.emit("messagePollVoteAdd", {
484
481
  userID: packet.d.user_id,
485
482
  channelID: packet.d.channel_id,
486
483
  messageID: packet.d.message_id,
@@ -488,8 +485,8 @@ class Shard {
488
485
  answerID: packet.d.answer_id,
489
486
  });
490
487
  break;
491
- case "MESSAGE_POLL_VOTE_REMOVE":
492
- this.client.emit(constants_1.GatewayEvents.MessagePollVoteRemove, {
488
+ case constants_1.GatewayEvents.MessagePollVoteRemove:
489
+ this.client.emit("messagePollVoteRemove", {
493
490
  userID: packet.d.user_id,
494
491
  channelID: packet.d.channel_id,
495
492
  messageID: packet.d.message_id,
@@ -502,13 +499,32 @@ class Shard {
502
499
  onWebSocketOpen() {
503
500
  this.identify({
504
501
  token: this.client.token,
505
- shard: [this.id, this.client.shardsCount],
506
- intents: this.client.intents,
507
502
  properties: {
508
503
  os: process.platform,
509
504
  browser: pkg.name,
510
505
  device: pkg.name,
511
506
  },
507
+ compress: this.client.compress,
508
+ largeThreshold: this.client.largeThreshold,
509
+ shard: [this.id, this.client.shardsCount],
510
+ presence: this.client.presence !== undefined
511
+ ? {
512
+ since: this.client.presence.status === constants_1.StatusTypes.Idle
513
+ ? Date.now()
514
+ : null,
515
+ activities: this.client.presence.activities?.map((activity) => ({
516
+ name: activity.type === constants_1.ActivityType.Custom
517
+ ? "Custom Status"
518
+ : activity.name,
519
+ type: activity.type,
520
+ url: activity.url,
521
+ state: activity.state,
522
+ })),
523
+ status: this.client.presence.status ?? constants_1.StatusTypes.Online,
524
+ afk: !!this.client.presence.afk,
525
+ }
526
+ : undefined,
527
+ intents: this.client.intents,
512
528
  });
513
529
  }
514
530
  onWebSocketMessage(data) {
@@ -518,15 +534,15 @@ class Shard {
518
534
  this.onDispatch(packet);
519
535
  break;
520
536
  case constants_1.GatewayOPCodes.Reconnect:
521
- this.client.emit(constants_1.GatewayEvents.Reconnect);
537
+ this.client.emit("reconnect");
522
538
  break;
523
539
  case constants_1.GatewayOPCodes.InvalidSession:
524
- this.client.emit(constants_1.GatewayEvents.InvalidSession);
540
+ this.client.emit("invalidSession");
525
541
  break;
526
542
  case constants_1.GatewayOPCodes.Hello:
527
543
  {
528
544
  this.heartbeatInterval = setInterval(() => this.heartbeat(null), packet.d.heartbeat_interval);
529
- this.client.emit(constants_1.GatewayEvents.Hello);
545
+ this.client.emit("hello");
530
546
  }
531
547
  break;
532
548
  }
@@ -537,7 +553,7 @@ class Shard {
537
553
  onWebSocketClose(code, reason) {
538
554
  if (code === 1000)
539
555
  return;
540
- throw new utils_1.GatewayError(`[${code}] ${reason}`);
556
+ throw new utils_1.GatewayError(code, reason.toString());
541
557
  }
542
558
  /** https://discord.com/developers/docs/topics/gateway-events#request-guild-members */
543
559
  requestGuildMembers(options) {
@@ -570,7 +586,14 @@ class Shard {
570
586
  op: constants_1.GatewayOPCodes.PresenceUpdate,
571
587
  d: {
572
588
  since: options.status === constants_1.StatusTypes.Idle ? Date.now() : null,
573
- activities: options.activities,
589
+ activities: options.activities?.map((activity) => ({
590
+ name: activity.type === constants_1.ActivityType.Custom
591
+ ? "Custom Status"
592
+ : activity.name,
593
+ type: activity.type,
594
+ url: activity.url,
595
+ state: activity.state,
596
+ })),
574
597
  status: options.status ?? constants_1.StatusTypes.Online,
575
598
  afk: !!options.afk,
576
599
  },