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