disgroove 2.2.7-dev.fca4921 → 3.0.0-dev.a714eda
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.
- package/dist/lib/Client.d.ts +291 -254
- package/dist/lib/Client.js +554 -460
- package/dist/lib/constants.d.ts +29 -21
- package/dist/lib/constants.js +33 -24
- package/dist/lib/gateway/Shard.d.ts +5 -3
- package/dist/lib/gateway/Shard.js +183 -120
- package/dist/lib/index.d.ts +5 -1
- package/dist/lib/index.js +5 -1
- package/dist/lib/rest/Endpoints.d.ts +95 -91
- package/dist/lib/rest/Endpoints.js +111 -102
- package/dist/lib/rest/RequestManager.d.ts +1 -3
- package/dist/lib/transformers/ApplicationCommands.js +4 -4
- package/dist/lib/transformers/Applications.js +14 -6
- package/dist/lib/transformers/AuditLogs.js +10 -10
- package/dist/lib/transformers/AutoModeration.js +6 -6
- package/dist/lib/transformers/Channels.js +16 -16
- package/dist/lib/transformers/Components.d.ts +13 -3
- package/dist/lib/transformers/Components.js +283 -156
- package/dist/lib/transformers/Entitlements.d.ts +2 -2
- package/dist/lib/transformers/Entitlements.js +16 -16
- package/dist/lib/transformers/GuildScheduledEvents.js +8 -8
- package/dist/lib/transformers/GuildTemplates.js +4 -4
- package/dist/lib/transformers/Guilds.js +28 -28
- package/dist/lib/transformers/Interactions.js +300 -55
- package/dist/lib/transformers/Lobbies.d.ts +7 -0
- package/dist/lib/transformers/Lobbies.js +38 -0
- package/dist/lib/transformers/Messages.d.ts +4 -3
- package/dist/lib/transformers/Messages.js +36 -50
- package/dist/lib/transformers/Polls.js +2 -2
- package/dist/lib/transformers/Presences.js +6 -6
- package/dist/lib/transformers/Roles.js +8 -8
- package/dist/lib/transformers/SKUs.js +2 -2
- package/dist/lib/transformers/Soundboards.js +6 -6
- package/dist/lib/transformers/StageInstances.js +6 -6
- package/dist/lib/transformers/Stickers.js +3 -3
- package/dist/lib/transformers/Subscriptions.js +8 -8
- package/dist/lib/transformers/Teams.js +4 -4
- package/dist/lib/transformers/Users.js +6 -6
- package/dist/lib/transformers/Voice.js +8 -8
- package/dist/lib/transformers/Webhooks.js +6 -6
- package/dist/lib/transformers/index.d.ts +2 -1
- package/dist/lib/transformers/index.js +2 -1
- package/dist/lib/types/application-command.d.ts +9 -4
- package/dist/lib/types/application-role-connection-metadata.d.ts +1 -0
- package/dist/lib/types/application.d.ts +14 -9
- package/dist/lib/types/audit-log.d.ts +9 -5
- package/dist/lib/types/auto-moderation.d.ts +7 -3
- package/dist/lib/types/channel.d.ts +17 -23
- package/dist/lib/types/common.d.ts +2 -0
- package/dist/lib/types/components.d.ts +478 -0
- package/dist/lib/types/components.js +2 -0
- package/dist/lib/types/emoji.d.ts +1 -0
- package/dist/lib/types/entitlements.d.ts +5 -4
- package/dist/lib/types/gateway-events.d.ts +203 -130
- package/dist/lib/types/guild-scheduled-event.d.ts +10 -5
- package/dist/lib/types/guild-template.d.ts +3 -2
- package/dist/lib/types/guild.d.ts +40 -22
- package/dist/lib/types/interaction.d.ts +35 -18
- package/dist/lib/types/invite.d.ts +5 -2
- package/dist/lib/types/lobby.d.ts +31 -0
- package/dist/lib/types/lobby.js +2 -0
- package/dist/lib/types/message-components.d.ts +334 -118
- package/dist/lib/types/message.d.ts +30 -18
- package/dist/lib/types/poll.d.ts +7 -1
- package/dist/lib/types/role.d.ts +8 -5
- package/dist/lib/types/sku.d.ts +2 -1
- package/dist/lib/types/soundboard.d.ts +4 -3
- package/dist/lib/types/stage-instance.d.ts +4 -3
- package/dist/lib/types/sticker.d.ts +8 -5
- package/dist/lib/types/subscription.d.ts +6 -5
- package/dist/lib/types/team.d.ts +4 -2
- package/dist/lib/types/user.d.ts +10 -3
- package/dist/lib/types/voice.d.ts +6 -4
- package/dist/lib/types/webhook.d.ts +4 -3
- package/dist/lib/utils/CDN.d.ts +22 -22
- package/dist/lib/utils/CDN.js +22 -22
- package/dist/lib/utils/formatters.d.ts +7 -7
- package/dist/lib/utils/formatters.js +19 -19
- package/dist/package.json +4 -4
- package/package.json +4 -4
|
@@ -37,29 +37,41 @@ class Shard {
|
|
|
37
37
|
heartbeatInterval;
|
|
38
38
|
client;
|
|
39
39
|
ws;
|
|
40
|
-
|
|
40
|
+
sessionId;
|
|
41
41
|
resumeGatewayURL;
|
|
42
|
+
sequence;
|
|
42
43
|
constructor(id, client) {
|
|
43
44
|
this.id = id;
|
|
44
45
|
this.heartbeatInterval = null;
|
|
45
46
|
this.client = client;
|
|
46
47
|
this.ws = new ws_1.default("wss://gateway.discord.gg/?v=10&encoding=json", client.ws);
|
|
47
|
-
this.
|
|
48
|
+
this.sessionId = null;
|
|
48
49
|
this.resumeGatewayURL = null;
|
|
50
|
+
this.sequence = null;
|
|
49
51
|
}
|
|
50
52
|
/** https://discord.com/developers/docs/topics/gateway#connections */
|
|
51
|
-
connect() {
|
|
52
|
-
this.ws.on("open", () => this.onWebSocketOpen());
|
|
53
|
+
connect(reconnect) {
|
|
54
|
+
this.ws.on("open", () => this.onWebSocketOpen(reconnect));
|
|
53
55
|
this.ws.on("message", (data) => this.onWebSocketMessage(data));
|
|
54
56
|
this.ws.on("error", (err) => this.onWebSocketError(err));
|
|
55
57
|
this.ws.on("close", (code, reason) => this.onWebSocketClose(code, reason));
|
|
56
58
|
}
|
|
57
|
-
/** https://discord.com/developers/docs/
|
|
59
|
+
/** https://discord.com/developers/docs/events/gateway#initiating-a-disconnect */
|
|
58
60
|
disconnect() {
|
|
59
61
|
if (this.heartbeatInterval) {
|
|
60
62
|
clearInterval(this.heartbeatInterval);
|
|
61
63
|
this.heartbeatInterval = null;
|
|
62
64
|
}
|
|
65
|
+
this.ws.close(1000, "Session Invalidated - Disconnect");
|
|
66
|
+
}
|
|
67
|
+
reconnect() {
|
|
68
|
+
if (this.resumeGatewayURL !== null &&
|
|
69
|
+
this.sessionId !== null &&
|
|
70
|
+
this.sequence !== null) {
|
|
71
|
+
this.ws.close(1000, "Resume Attempt - Reconnect");
|
|
72
|
+
this.ws = new ws_1.default(this.resumeGatewayURL, this.client.ws);
|
|
73
|
+
this.connect(true);
|
|
74
|
+
}
|
|
63
75
|
}
|
|
64
76
|
/** https://discord.com/developers/docs/topics/gateway-events#heartbeat */
|
|
65
77
|
heartbeat(lastSequence) {
|
|
@@ -88,12 +100,13 @@ class Shard {
|
|
|
88
100
|
}));
|
|
89
101
|
}
|
|
90
102
|
onDispatch(packet) {
|
|
103
|
+
this.sequence = packet.s;
|
|
91
104
|
this.client.emit("dispatch", packet, this.id);
|
|
92
105
|
switch (packet.t) {
|
|
93
106
|
case constants_1.GatewayEvents.Ready:
|
|
94
107
|
{
|
|
95
|
-
this.
|
|
96
|
-
this.resumeGatewayURL = packet.d.resume_gateway_url
|
|
108
|
+
this.sessionId = packet.d.session_id;
|
|
109
|
+
this.resumeGatewayURL = `${packet.d.resume_gateway_url}?v=10&encoding=json`;
|
|
97
110
|
this.client.user = transformers_1.Users.userFromRaw(packet.d.user);
|
|
98
111
|
this.client.application = packet.d.application;
|
|
99
112
|
this.client.emit("ready");
|
|
@@ -102,6 +115,20 @@ class Shard {
|
|
|
102
115
|
case constants_1.GatewayEvents.Resumed:
|
|
103
116
|
this.client.emit("resumed");
|
|
104
117
|
break;
|
|
118
|
+
case constants_1.GatewayEvents.RateLimited:
|
|
119
|
+
switch (packet.d.opcode) {
|
|
120
|
+
case constants_1.GatewayOPCodes.RequestGuildMembers: {
|
|
121
|
+
this.client.emit("rateLimited", {
|
|
122
|
+
opcode: constants_1.GatewayOPCodes.RequestGuildMembers,
|
|
123
|
+
retryAfter: packet.d.retry_after,
|
|
124
|
+
meta: {
|
|
125
|
+
guildId: packet.d.meta.guild_id,
|
|
126
|
+
nonce: packet.d.nonce,
|
|
127
|
+
},
|
|
128
|
+
});
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
break;
|
|
105
132
|
case constants_1.GatewayEvents.ApplicationCommandPermissionsUpdate:
|
|
106
133
|
this.client.emit("applicationCommandPermissionsUpdate", transformers_1.Guilds.guildApplicationCommandPermissionsFromRaw(packet.d));
|
|
107
134
|
break;
|
|
@@ -116,21 +143,21 @@ class Shard {
|
|
|
116
143
|
break;
|
|
117
144
|
case constants_1.GatewayEvents.AutoModerationActionExecution:
|
|
118
145
|
this.client.emit("autoModerationActionExecution", {
|
|
119
|
-
|
|
146
|
+
guildId: packet.d.guild_id,
|
|
120
147
|
action: {
|
|
121
148
|
type: packet.d.action.type,
|
|
122
149
|
metadata: {
|
|
123
|
-
|
|
150
|
+
channelId: packet.d.action.metadata.channel_id,
|
|
124
151
|
durationSeconds: packet.d.action.metadata.duration_seconds,
|
|
125
152
|
customMessage: packet.d.action.metadata.custom_message,
|
|
126
153
|
},
|
|
127
154
|
},
|
|
128
|
-
|
|
155
|
+
ruleId: packet.d.rule_id,
|
|
129
156
|
ruleTriggerType: packet.d.rule_trigger_type,
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
157
|
+
userId: packet.d.user_id,
|
|
158
|
+
channelId: packet.d.channel_id,
|
|
159
|
+
messageId: packet.d.message_id,
|
|
160
|
+
alertSystemMessageId: packet.d.alert_system_message_id,
|
|
134
161
|
content: packet.d.content,
|
|
135
162
|
matchedKeyword: packet.d.matched_keyword,
|
|
136
163
|
matchedContent: packet.d.matched_content,
|
|
@@ -147,8 +174,8 @@ class Shard {
|
|
|
147
174
|
break;
|
|
148
175
|
case constants_1.GatewayEvents.ChannelPinsUpdate:
|
|
149
176
|
this.client.emit("channelPinsUpdate", {
|
|
150
|
-
|
|
151
|
-
|
|
177
|
+
guildId: packet.d.guild_id,
|
|
178
|
+
channelId: packet.d.channel_id,
|
|
152
179
|
lastPinTimestamp: packet.d.last_pin_timestamp,
|
|
153
180
|
});
|
|
154
181
|
break;
|
|
@@ -163,8 +190,8 @@ class Shard {
|
|
|
163
190
|
break;
|
|
164
191
|
case constants_1.GatewayEvents.ThreadListSync:
|
|
165
192
|
this.client.emit("threadListSync", {
|
|
166
|
-
|
|
167
|
-
|
|
193
|
+
guildId: packet.d.guild_id,
|
|
194
|
+
channelIds: packet.d.channel_ids,
|
|
168
195
|
threads: packet.d.threads.map((thread) => transformers_1.Channels.channelFromRaw(thread)),
|
|
169
196
|
members: packet.d.members.map((threadMember) => transformers_1.Channels.threadMemberFromRaw(threadMember)),
|
|
170
197
|
});
|
|
@@ -172,22 +199,22 @@ class Shard {
|
|
|
172
199
|
case constants_1.GatewayEvents.ThreadMemberUpdate:
|
|
173
200
|
this.client.emit("threadMemberUpdate", {
|
|
174
201
|
id: packet.d.id,
|
|
175
|
-
|
|
202
|
+
userId: packet.d.user_id,
|
|
176
203
|
joinTimestamp: packet.d.join_timestamp,
|
|
177
204
|
flags: packet.d.flags,
|
|
178
205
|
member: packet.d.member !== undefined
|
|
179
206
|
? transformers_1.Guilds.guildMemberFromRaw(packet.d.member)
|
|
180
207
|
: undefined,
|
|
181
|
-
|
|
208
|
+
guildId: packet.d.guild_id,
|
|
182
209
|
});
|
|
183
210
|
break;
|
|
184
211
|
case constants_1.GatewayEvents.ThreadMembersUpdate:
|
|
185
212
|
this.client.emit("threadMembersUpdate", {
|
|
186
213
|
id: packet.d.id,
|
|
187
|
-
|
|
214
|
+
guildId: packet.d.guild_id,
|
|
188
215
|
memberCount: packet.d.member_count,
|
|
189
216
|
addedMembers: packet.d.members.map((threadMember) => transformers_1.Channels.threadMemberFromRaw(threadMember)),
|
|
190
|
-
|
|
217
|
+
removedMemberIds: packet.d.removed_member_ids,
|
|
191
218
|
});
|
|
192
219
|
break;
|
|
193
220
|
case constants_1.GatewayEvents.EntitlementCreate:
|
|
@@ -225,18 +252,18 @@ class Shard {
|
|
|
225
252
|
case constants_1.GatewayEvents.GuildAuditLogEntryCreate:
|
|
226
253
|
this.client.emit("guildAuditLogEntryCreate", {
|
|
227
254
|
...transformers_1.AuditLogs.auditLogEntryFromRaw(packet.d),
|
|
228
|
-
|
|
255
|
+
guildId: packet.d.guild_id,
|
|
229
256
|
});
|
|
230
257
|
break;
|
|
231
258
|
case constants_1.GatewayEvents.GuildBanAdd:
|
|
232
259
|
this.client.emit("guildBanAdd", {
|
|
233
|
-
|
|
260
|
+
guildId: packet.d.guild_id,
|
|
234
261
|
user: transformers_1.Users.userFromRaw(packet.d.user),
|
|
235
262
|
});
|
|
236
263
|
break;
|
|
237
264
|
case constants_1.GatewayEvents.GuildBanRemove:
|
|
238
265
|
this.client.emit("guildBanRemove", {
|
|
239
|
-
|
|
266
|
+
guildId: packet.d.guild_id,
|
|
240
267
|
user: transformers_1.Users.userFromRaw(packet.d.user),
|
|
241
268
|
});
|
|
242
269
|
break;
|
|
@@ -252,18 +279,18 @@ class Shard {
|
|
|
252
279
|
case constants_1.GatewayEvents.GuildMemberAdd:
|
|
253
280
|
this.client.emit("guildMemberAdd", {
|
|
254
281
|
...transformers_1.Guilds.guildMemberFromRaw(packet.d),
|
|
255
|
-
|
|
282
|
+
guildId: packet.d.guild_id,
|
|
256
283
|
});
|
|
257
284
|
break;
|
|
258
285
|
case constants_1.GatewayEvents.GuildMemberRemove:
|
|
259
286
|
this.client.emit("guildMemberRemove", {
|
|
260
|
-
|
|
287
|
+
guildId: packet.d.guild_id,
|
|
261
288
|
user: transformers_1.Users.userFromRaw(packet.d.user),
|
|
262
289
|
});
|
|
263
290
|
break;
|
|
264
291
|
case constants_1.GatewayEvents.GuildMemberUpdate:
|
|
265
292
|
this.client.emit("guildMemberUpdate", {
|
|
266
|
-
|
|
293
|
+
guildId: packet.d.guild_id,
|
|
267
294
|
roles: packet.d.roles,
|
|
268
295
|
user: transformers_1.Users.userFromRaw(packet.d.user),
|
|
269
296
|
nick: packet.d.nick,
|
|
@@ -279,14 +306,14 @@ class Shard {
|
|
|
279
306
|
avatarDecorationData: packet.d.avatar_decoration_data !== undefined
|
|
280
307
|
? {
|
|
281
308
|
asset: packet.d.asset,
|
|
282
|
-
|
|
309
|
+
skuId: packet.d.sku_id,
|
|
283
310
|
}
|
|
284
311
|
: undefined,
|
|
285
312
|
});
|
|
286
313
|
break;
|
|
287
314
|
case constants_1.GatewayEvents.GuildMembersChunk:
|
|
288
315
|
this.client.emit("guildMembersChunk", {
|
|
289
|
-
|
|
316
|
+
guildId: packet.d.guild_id,
|
|
290
317
|
members: packet.d.members.map((guildMember) => transformers_1.Guilds.guildMemberFromRaw(guildMember)),
|
|
291
318
|
chunkIndex: packet.d.chunk_index,
|
|
292
319
|
chunkCount: packet.d.chunk_count,
|
|
@@ -327,8 +354,8 @@ class Shard {
|
|
|
327
354
|
break;
|
|
328
355
|
case constants_1.GatewayEvents.GuildSoundboardSoundDelete:
|
|
329
356
|
this.client.emit("guildSoundboardSoundDelete", {
|
|
330
|
-
|
|
331
|
-
|
|
357
|
+
soundId: packet.d.sound_id,
|
|
358
|
+
guildId: packet.d.guild_id,
|
|
332
359
|
});
|
|
333
360
|
break;
|
|
334
361
|
case constants_1.GatewayEvents.GuildSoundboardSoundsUpdate:
|
|
@@ -340,20 +367,20 @@ class Shard {
|
|
|
340
367
|
case constants_1.GatewayEvents.IntegrationCreate:
|
|
341
368
|
this.client.emit("integrationCreate", {
|
|
342
369
|
...transformers_1.Guilds.integrationFromRaw(packet.d),
|
|
343
|
-
|
|
370
|
+
guildId: packet.d.guild_id,
|
|
344
371
|
});
|
|
345
372
|
break;
|
|
346
373
|
case constants_1.GatewayEvents.IntegrationUpdate:
|
|
347
374
|
this.client.emit("integrationUpdate", {
|
|
348
375
|
...transformers_1.Guilds.integrationFromRaw(packet.d),
|
|
349
|
-
|
|
376
|
+
guildId: packet.d.guild_id,
|
|
350
377
|
});
|
|
351
378
|
break;
|
|
352
379
|
case constants_1.GatewayEvents.IntegrationDelete:
|
|
353
380
|
this.client.emit("integrationDelete", {
|
|
354
381
|
id: packet.d.id,
|
|
355
|
-
|
|
356
|
-
|
|
382
|
+
guildId: packet.d.guild_id,
|
|
383
|
+
applicationId: packet.d.application_id,
|
|
357
384
|
});
|
|
358
385
|
break;
|
|
359
386
|
case constants_1.GatewayEvents.InteractionCreate:
|
|
@@ -361,10 +388,10 @@ class Shard {
|
|
|
361
388
|
break;
|
|
362
389
|
case constants_1.GatewayEvents.InviteCreate:
|
|
363
390
|
this.client.emit("inviteCreate", {
|
|
364
|
-
|
|
391
|
+
channelId: packet.d.channel_id,
|
|
365
392
|
code: packet.d.code,
|
|
366
393
|
createdAt: packet.d.created_at,
|
|
367
|
-
|
|
394
|
+
guildId: packet.d.guild_id,
|
|
368
395
|
inviter: packet.d.inviter !== undefined
|
|
369
396
|
? transformers_1.Users.userFromRaw(packet.d.inviter)
|
|
370
397
|
: undefined,
|
|
@@ -379,19 +406,20 @@ class Shard {
|
|
|
379
406
|
: undefined,
|
|
380
407
|
temporary: packet.d.temporary,
|
|
381
408
|
uses: packet.d.uses,
|
|
409
|
+
expiresAt: packet.d.expires_at,
|
|
382
410
|
});
|
|
383
411
|
break;
|
|
384
412
|
case constants_1.GatewayEvents.InviteDelete:
|
|
385
413
|
this.client.emit("inviteDelete", {
|
|
386
|
-
|
|
387
|
-
|
|
414
|
+
channelId: packet.d.channel_id,
|
|
415
|
+
guildId: packet.d.guild_id,
|
|
388
416
|
code: packet.d.code,
|
|
389
417
|
});
|
|
390
418
|
break;
|
|
391
419
|
case constants_1.GatewayEvents.MessageCreate:
|
|
392
420
|
this.client.emit("messageCreate", {
|
|
393
421
|
...transformers_1.Messages.messageFromRaw(packet.d),
|
|
394
|
-
|
|
422
|
+
guildId: packet.d.guild_id,
|
|
395
423
|
member: packet.d.member !== undefined
|
|
396
424
|
? transformers_1.Guilds.guildMemberFromRaw(packet.d.member)
|
|
397
425
|
: undefined,
|
|
@@ -404,28 +432,28 @@ class Shard {
|
|
|
404
432
|
case constants_1.GatewayEvents.MessageDelete:
|
|
405
433
|
this.client.emit("messageDelete", {
|
|
406
434
|
id: packet.d.id,
|
|
407
|
-
|
|
408
|
-
|
|
435
|
+
channelId: packet.d.channel_id,
|
|
436
|
+
guildId: packet.d.guild_id,
|
|
409
437
|
});
|
|
410
438
|
break;
|
|
411
439
|
case constants_1.GatewayEvents.MessageDeleteBulk:
|
|
412
440
|
this.client.emit("messageDeleteBulk", {
|
|
413
441
|
ids: packet.d.ids,
|
|
414
|
-
|
|
415
|
-
|
|
442
|
+
channelId: packet.d.channel_id,
|
|
443
|
+
guildId: packet.d.guild_id,
|
|
416
444
|
});
|
|
417
445
|
break;
|
|
418
446
|
case constants_1.GatewayEvents.MessageReactionAdd:
|
|
419
447
|
this.client.emit("messageReactionAdd", {
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
448
|
+
userId: packet.d.user_id,
|
|
449
|
+
channelId: packet.d.user_id,
|
|
450
|
+
messageId: packet.d.user_id,
|
|
451
|
+
guildId: packet.d.user_id,
|
|
424
452
|
member: packet.d.member !== undefined
|
|
425
453
|
? transformers_1.Guilds.guildMemberFromRaw(packet.d.member)
|
|
426
454
|
: undefined,
|
|
427
455
|
emoji: transformers_1.Emojis.emojiFromRaw(packet.d.emoji),
|
|
428
|
-
|
|
456
|
+
messageAuthorId: packet.d.message_author_id,
|
|
429
457
|
burst: packet.d.burst,
|
|
430
458
|
burstColors: packet.d.burst_colors,
|
|
431
459
|
type: packet.d.type,
|
|
@@ -433,10 +461,10 @@ class Shard {
|
|
|
433
461
|
break;
|
|
434
462
|
case constants_1.GatewayEvents.MessageReactionRemove:
|
|
435
463
|
this.client.emit("messageReactionRemove", {
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
464
|
+
userId: packet.d.user_id,
|
|
465
|
+
channelId: packet.d.user_id,
|
|
466
|
+
messageId: packet.d.user_id,
|
|
467
|
+
guildId: packet.d.user_id,
|
|
440
468
|
emoji: transformers_1.Emojis.emojiFromRaw(packet.d.emoji),
|
|
441
469
|
burst: packet.d.burst,
|
|
442
470
|
type: packet.d.type,
|
|
@@ -444,16 +472,16 @@ class Shard {
|
|
|
444
472
|
break;
|
|
445
473
|
case constants_1.GatewayEvents.MessageReactionRemoveAll:
|
|
446
474
|
this.client.emit("messageReactionRemoveAll", {
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
475
|
+
channelId: packet.d.channel_id,
|
|
476
|
+
messageId: packet.d.message_id,
|
|
477
|
+
guildId: packet.d.guild_id,
|
|
450
478
|
});
|
|
451
479
|
break;
|
|
452
480
|
case constants_1.GatewayEvents.MessageReactionRemoveEmoji:
|
|
453
481
|
this.client.emit("messageReactionRemoveEmoji", {
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
482
|
+
channelId: packet.d.channel_id,
|
|
483
|
+
guildId: packet.d.guild_id,
|
|
484
|
+
messageId: packet.d.message_id,
|
|
457
485
|
emoji: transformers_1.Emojis.emojiFromRaw(packet.d.emoji),
|
|
458
486
|
});
|
|
459
487
|
break;
|
|
@@ -471,9 +499,9 @@ class Shard {
|
|
|
471
499
|
break;
|
|
472
500
|
case constants_1.GatewayEvents.TypingStart:
|
|
473
501
|
this.client.emit("typingStart", {
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
502
|
+
channelId: packet.d.channel_id,
|
|
503
|
+
guildId: packet.d.guild_id,
|
|
504
|
+
userId: packet.d.user_id,
|
|
477
505
|
timestamp: packet.d.timestamp,
|
|
478
506
|
member: packet.d.member !== undefined
|
|
479
507
|
? transformers_1.Guilds.guildMemberFromRaw(packet.d.member)
|
|
@@ -485,15 +513,15 @@ class Shard {
|
|
|
485
513
|
break;
|
|
486
514
|
case constants_1.GatewayEvents.VoiceChannelEffectSend:
|
|
487
515
|
this.client.emit("voiceChannelEffectSend", {
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
516
|
+
channelId: packet.d.channel_id,
|
|
517
|
+
guildId: packet.d.guild_id,
|
|
518
|
+
userId: packet.d.user_id,
|
|
491
519
|
emoji: packet.d.emoji !== null
|
|
492
520
|
? transformers_1.Emojis.emojiFromRaw(packet.d.emoji)
|
|
493
521
|
: null,
|
|
494
522
|
animationType: packet.d.animation_type,
|
|
495
|
-
|
|
496
|
-
|
|
523
|
+
animationId: packet.d.animation_id,
|
|
524
|
+
soundId: packet.d.sound_id,
|
|
497
525
|
soundVolume: packet.d.sound_volume,
|
|
498
526
|
});
|
|
499
527
|
break;
|
|
@@ -504,7 +532,7 @@ class Shard {
|
|
|
504
532
|
{
|
|
505
533
|
this.client.emit("voiceServerUpdate", {
|
|
506
534
|
token: packet.d.token,
|
|
507
|
-
|
|
535
|
+
guildId: packet.d.guild_id,
|
|
508
536
|
endpoint: packet.d.endpoint,
|
|
509
537
|
});
|
|
510
538
|
}
|
|
@@ -523,54 +551,63 @@ class Shard {
|
|
|
523
551
|
break;
|
|
524
552
|
case constants_1.GatewayEvents.MessagePollVoteAdd:
|
|
525
553
|
this.client.emit("messagePollVoteAdd", {
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
554
|
+
userId: packet.d.user_id,
|
|
555
|
+
channelId: packet.d.channel_id,
|
|
556
|
+
messageId: packet.d.message_id,
|
|
557
|
+
guildId: packet.d.guild_id,
|
|
558
|
+
answerId: packet.d.answer_id,
|
|
531
559
|
});
|
|
532
560
|
break;
|
|
533
561
|
case constants_1.GatewayEvents.MessagePollVoteRemove:
|
|
534
562
|
this.client.emit("messagePollVoteRemove", {
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
563
|
+
userId: packet.d.user_id,
|
|
564
|
+
channelId: packet.d.channel_id,
|
|
565
|
+
messageId: packet.d.message_id,
|
|
566
|
+
guildId: packet.d.guild_id,
|
|
567
|
+
answerId: packet.d.answer_id,
|
|
540
568
|
});
|
|
541
569
|
break;
|
|
542
570
|
}
|
|
543
571
|
}
|
|
544
|
-
onWebSocketOpen() {
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
572
|
+
onWebSocketOpen(reconnect) {
|
|
573
|
+
if (reconnect) {
|
|
574
|
+
this.resume({
|
|
575
|
+
token: this.client.token,
|
|
576
|
+
sessionId: this.sessionId,
|
|
577
|
+
seq: this.sequence,
|
|
578
|
+
});
|
|
579
|
+
}
|
|
580
|
+
else {
|
|
581
|
+
this.identify({
|
|
582
|
+
token: this.client.token,
|
|
583
|
+
properties: {
|
|
584
|
+
os: this.client.properties?.os ?? process.platform,
|
|
585
|
+
browser: this.client.properties?.browser ?? pkg.name,
|
|
586
|
+
device: this.client.properties?.device ?? pkg.name,
|
|
587
|
+
},
|
|
588
|
+
compress: this.client.compress,
|
|
589
|
+
largeThreshold: this.client.largeThreshold,
|
|
590
|
+
shard: [this.id, this.client.shardsCount],
|
|
591
|
+
presence: this.client.presence !== undefined
|
|
592
|
+
? {
|
|
593
|
+
since: this.client.presence.status === constants_1.StatusTypes.Idle
|
|
594
|
+
? Date.now()
|
|
595
|
+
: null,
|
|
596
|
+
activities: this.client.presence.activities?.map((activity) => ({
|
|
597
|
+
name: activity.type === constants_1.ActivityType.Custom
|
|
598
|
+
? "Custom Status"
|
|
599
|
+
: activity.name,
|
|
600
|
+
type: activity.type,
|
|
601
|
+
url: activity.url,
|
|
602
|
+
state: activity.state,
|
|
603
|
+
})),
|
|
604
|
+
status: this.client.presence.status ?? constants_1.StatusTypes.Online,
|
|
605
|
+
afk: !!this.client.presence.afk,
|
|
606
|
+
}
|
|
607
|
+
: undefined,
|
|
608
|
+
intents: this.client.intents,
|
|
609
|
+
});
|
|
610
|
+
}
|
|
574
611
|
}
|
|
575
612
|
onWebSocketMessage(data) {
|
|
576
613
|
const packet = JSON.parse(data.toString());
|
|
@@ -579,10 +616,23 @@ class Shard {
|
|
|
579
616
|
this.onDispatch(packet);
|
|
580
617
|
break;
|
|
581
618
|
case constants_1.GatewayOPCodes.Reconnect:
|
|
582
|
-
|
|
619
|
+
{
|
|
620
|
+
this.client.emit("reconnect");
|
|
621
|
+
this.reconnect();
|
|
622
|
+
}
|
|
583
623
|
break;
|
|
584
624
|
case constants_1.GatewayOPCodes.InvalidSession:
|
|
585
|
-
|
|
625
|
+
{
|
|
626
|
+
this.client.emit("invalidSession");
|
|
627
|
+
if (packet.d) {
|
|
628
|
+
this.reconnect();
|
|
629
|
+
}
|
|
630
|
+
else {
|
|
631
|
+
this.ws.close(1000, "Invalid Session - Identify required");
|
|
632
|
+
this.ws = new ws_1.default("wss://gateway.discord.gg/?v=10&encoding=json", this.client.ws);
|
|
633
|
+
this.connect(false);
|
|
634
|
+
}
|
|
635
|
+
}
|
|
586
636
|
break;
|
|
587
637
|
case constants_1.GatewayOPCodes.Hello:
|
|
588
638
|
{
|
|
@@ -599,20 +649,33 @@ class Shard {
|
|
|
599
649
|
throw err;
|
|
600
650
|
}
|
|
601
651
|
onWebSocketClose(code, reason) {
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
652
|
+
switch (code) {
|
|
653
|
+
case 1000:
|
|
654
|
+
break;
|
|
655
|
+
case constants_1.GatewayCloseEventCodes.UnknownError:
|
|
656
|
+
case constants_1.GatewayCloseEventCodes.UnknownOPCode:
|
|
657
|
+
case constants_1.GatewayCloseEventCodes.DecodeError:
|
|
658
|
+
case constants_1.GatewayCloseEventCodes.NotAuthenticated:
|
|
659
|
+
case constants_1.GatewayCloseEventCodes.AlreadyAuthenticated:
|
|
660
|
+
case constants_1.GatewayCloseEventCodes.InvalidSequence:
|
|
661
|
+
case constants_1.GatewayCloseEventCodes.RateLimited:
|
|
662
|
+
case constants_1.GatewayCloseEventCodes.SessionTimedOut:
|
|
663
|
+
this.reconnect();
|
|
664
|
+
break;
|
|
665
|
+
default:
|
|
666
|
+
throw new utils_1.GatewayError(code, reason.toString());
|
|
667
|
+
}
|
|
605
668
|
}
|
|
606
669
|
/** https://discord.com/developers/docs/topics/gateway-events#request-guild-members */
|
|
607
670
|
requestGuildMembers(options) {
|
|
608
671
|
this.ws.send(JSON.stringify({
|
|
609
672
|
op: constants_1.GatewayOPCodes.RequestGuildMembers,
|
|
610
673
|
d: {
|
|
611
|
-
guild_id: options.
|
|
674
|
+
guild_id: options.guildId,
|
|
612
675
|
query: options.query,
|
|
613
676
|
limit: options.limit,
|
|
614
677
|
presences: options.presences,
|
|
615
|
-
user_ids: options.
|
|
678
|
+
user_ids: options.userIds,
|
|
616
679
|
nonce: options.nonce,
|
|
617
680
|
},
|
|
618
681
|
}));
|
|
@@ -622,7 +685,7 @@ class Shard {
|
|
|
622
685
|
this.ws.send(JSON.stringify({
|
|
623
686
|
op: constants_1.GatewayOPCodes.RequestSoundboardSounds,
|
|
624
687
|
d: {
|
|
625
|
-
guild_ids: options.
|
|
688
|
+
guild_ids: options.guildIds,
|
|
626
689
|
},
|
|
627
690
|
}));
|
|
628
691
|
}
|
|
@@ -632,7 +695,7 @@ class Shard {
|
|
|
632
695
|
op: constants_1.GatewayOPCodes.Resume,
|
|
633
696
|
d: {
|
|
634
697
|
token: options.token,
|
|
635
|
-
session_id: options.
|
|
698
|
+
session_id: options.sessionId,
|
|
636
699
|
seq: options.seq,
|
|
637
700
|
},
|
|
638
701
|
}));
|
|
@@ -661,8 +724,8 @@ class Shard {
|
|
|
661
724
|
this.ws.send(JSON.stringify({
|
|
662
725
|
op: constants_1.GatewayOPCodes.VoiceStateUpdate,
|
|
663
726
|
d: {
|
|
664
|
-
guild_id: options.
|
|
665
|
-
channel_id: options.
|
|
727
|
+
guild_id: options.guildId,
|
|
728
|
+
channel_id: options.channelId,
|
|
666
729
|
self_mute: options.selfMute,
|
|
667
730
|
self_deaf: options.selfDeaf,
|
|
668
731
|
},
|
package/dist/lib/index.d.ts
CHANGED
|
@@ -8,6 +8,7 @@ export * from "./types/audit-log";
|
|
|
8
8
|
export * from "./types/auto-moderation";
|
|
9
9
|
export * from "./types/channel";
|
|
10
10
|
export * from "./types/common";
|
|
11
|
+
export * from "./types/components";
|
|
11
12
|
export * from "./types/emoji";
|
|
12
13
|
export * from "./types/entitlements";
|
|
13
14
|
export * from "./types/gateway-events";
|
|
@@ -16,12 +17,15 @@ export * from "./types/guild-template";
|
|
|
16
17
|
export * from "./types/guild";
|
|
17
18
|
export * from "./types/interaction";
|
|
18
19
|
export * from "./types/invite";
|
|
19
|
-
export * from "./types/
|
|
20
|
+
export * from "./types/lobby";
|
|
21
|
+
export * from "./types/message";
|
|
20
22
|
export * from "./types/poll";
|
|
21
23
|
export * from "./types/role";
|
|
22
24
|
export * from "./types/sku";
|
|
25
|
+
export * from "./types/soundboard";
|
|
23
26
|
export * from "./types/stage-instance";
|
|
24
27
|
export * from "./types/sticker";
|
|
28
|
+
export * from "./types/subscription";
|
|
25
29
|
export * from "./types/team";
|
|
26
30
|
export * from "./types/user";
|
|
27
31
|
export * from "./types/voice";
|
package/dist/lib/index.js
CHANGED
|
@@ -24,6 +24,7 @@ __exportStar(require("./types/audit-log"), exports);
|
|
|
24
24
|
__exportStar(require("./types/auto-moderation"), exports);
|
|
25
25
|
__exportStar(require("./types/channel"), exports);
|
|
26
26
|
__exportStar(require("./types/common"), exports);
|
|
27
|
+
__exportStar(require("./types/components"), exports);
|
|
27
28
|
__exportStar(require("./types/emoji"), exports);
|
|
28
29
|
__exportStar(require("./types/entitlements"), exports);
|
|
29
30
|
__exportStar(require("./types/gateway-events"), exports);
|
|
@@ -32,12 +33,15 @@ __exportStar(require("./types/guild-template"), exports);
|
|
|
32
33
|
__exportStar(require("./types/guild"), exports);
|
|
33
34
|
__exportStar(require("./types/interaction"), exports);
|
|
34
35
|
__exportStar(require("./types/invite"), exports);
|
|
35
|
-
__exportStar(require("./types/
|
|
36
|
+
__exportStar(require("./types/lobby"), exports);
|
|
37
|
+
__exportStar(require("./types/message"), exports);
|
|
36
38
|
__exportStar(require("./types/poll"), exports);
|
|
37
39
|
__exportStar(require("./types/role"), exports);
|
|
38
40
|
__exportStar(require("./types/sku"), exports);
|
|
41
|
+
__exportStar(require("./types/soundboard"), exports);
|
|
39
42
|
__exportStar(require("./types/stage-instance"), exports);
|
|
40
43
|
__exportStar(require("./types/sticker"), exports);
|
|
44
|
+
__exportStar(require("./types/subscription"), exports);
|
|
41
45
|
__exportStar(require("./types/team"), exports);
|
|
42
46
|
__exportStar(require("./types/user"), exports);
|
|
43
47
|
__exportStar(require("./types/voice"), exports);
|