disgroove 2.2.2-dev.4aafdf4 → 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.
- package/README.md +4 -2
- package/dist/lib/Client.d.ts +62 -54
- package/dist/lib/Client.js +186 -181
- package/dist/lib/constants.d.ts +83 -72
- package/dist/lib/constants.js +86 -73
- package/dist/lib/gateway/Shard.d.ts +1 -1
- package/dist/lib/gateway/Shard.js +198 -169
- package/dist/lib/index.d.ts +1 -0
- package/dist/lib/index.js +1 -0
- package/dist/lib/rest/Endpoints.d.ts +1 -1
- package/dist/lib/rest/Endpoints.js +3 -3
- 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/Applications.d.ts +8 -0
- package/dist/lib/transformers/Applications.js +211 -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 +5 -0
- package/dist/lib/transformers/AutoModeration.js +64 -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 +248 -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 +8 -0
- package/dist/lib/transformers/Presences.js +108 -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 +48 -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 +21 -0
- package/dist/lib/transformers/index.js +37 -0
- package/dist/lib/types/entitlements.d.ts +0 -6
- package/dist/lib/types/gateway-events.d.ts +21 -8
- package/dist/lib/types/interaction.d.ts +1 -1
- package/dist/lib/types/sku.d.ts +0 -12
- package/dist/lib/utils/Util.d.ts +1 -91
- package/dist/lib/utils/Util.js +2 -2167
- package/dist/lib/utils/errors.d.ts +3 -3
- package/dist/lib/utils/errors.js +6 -8
- package/dist/lib/utils/formatters.d.ts +9 -0
- package/dist/lib/utils/formatters.js +38 -0
- package/dist/lib/utils/index.d.ts +2 -0
- package/dist/lib/utils/index.js +15 -0
- package/dist/package.json +1 -1
- package/package.json +1 -1
- package/dist/lib/types/voice-connections.d.ts +0 -64
- package/dist/lib/types/voice-connections.js +0 -2
- 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
- /package/dist/lib/{rest → utils}/CDN.d.ts +0 -0
- /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(
|
89
|
+
this.client.emit("dispatch", packet);
|
87
90
|
switch (packet.t) {
|
88
|
-
case
|
91
|
+
case constants_1.GatewayEvents.Ready:
|
89
92
|
{
|
90
93
|
this.sessionID = packet.d.session_id;
|
91
|
-
this.client.user =
|
94
|
+
this.client.user = transformers_1.Users.userFromRaw(packet.d.user);
|
92
95
|
this.client.application = packet.d.application;
|
93
|
-
this.client.emit(
|
96
|
+
this.client.emit("ready");
|
94
97
|
}
|
95
98
|
break;
|
96
|
-
case
|
97
|
-
this.client.emit(
|
99
|
+
case constants_1.GatewayEvents.Resumed:
|
100
|
+
this.client.emit("resumed");
|
98
101
|
break;
|
99
|
-
case
|
100
|
-
this.client.emit(
|
102
|
+
case constants_1.GatewayEvents.ApplicationCommandPermissionsUpdate:
|
103
|
+
this.client.emit("applicationCommandPermissionsUpdate", transformers_1.Guilds.guildApplicationCommandPermissionsFromRaw(packet.d));
|
101
104
|
break;
|
102
|
-
case
|
103
|
-
this.client.emit(
|
105
|
+
case constants_1.GatewayEvents.AutoModerationRuleCreate:
|
106
|
+
this.client.emit("autoModerationRuleCreate", transformers_1.AutoModeration.autoModerationRuleFromRaw(packet.d));
|
104
107
|
break;
|
105
|
-
case
|
106
|
-
this.client.emit(
|
108
|
+
case constants_1.GatewayEvents.AutoModerationRuleUpdate:
|
109
|
+
this.client.emit("autoModerationRuleUpdate", transformers_1.AutoModeration.autoModerationRuleFromRaw(packet.d));
|
107
110
|
break;
|
108
|
-
case
|
109
|
-
this.client.emit(
|
111
|
+
case constants_1.GatewayEvents.AutoModerationRuleDelete:
|
112
|
+
this.client.emit("autoModerationRuleDelete", transformers_1.AutoModeration.autoModerationRuleFromRaw(packet.d));
|
110
113
|
break;
|
111
|
-
case
|
112
|
-
this.client.emit(
|
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
|
134
|
-
this.client.emit(
|
136
|
+
case constants_1.GatewayEvents.ChannelCreate:
|
137
|
+
this.client.emit("channelCreate", transformers_1.Channels.channelFromRaw(packet.d));
|
135
138
|
break;
|
136
|
-
case
|
137
|
-
this.client.emit(
|
139
|
+
case constants_1.GatewayEvents.ChannelUpdate:
|
140
|
+
this.client.emit("channelUpdate", transformers_1.Channels.channelFromRaw(packet.d));
|
138
141
|
break;
|
139
|
-
case
|
140
|
-
this.client.emit(
|
142
|
+
case constants_1.GatewayEvents.ChannelDelete:
|
143
|
+
this.client.emit("channelDelete", transformers_1.Channels.channelFromRaw(packet.d));
|
141
144
|
break;
|
142
|
-
case
|
143
|
-
this.client.emit(
|
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
|
150
|
-
this.client.emit(
|
152
|
+
case constants_1.GatewayEvents.ThreadCreate:
|
153
|
+
this.client.emit("threadCreate", transformers_1.Channels.channelFromRaw(packet.d));
|
151
154
|
break;
|
152
|
-
case
|
153
|
-
this.client.emit(
|
155
|
+
case constants_1.GatewayEvents.ThreadUpdate:
|
156
|
+
this.client.emit("threadUpdate", transformers_1.Channels.channelFromRaw(packet.d));
|
154
157
|
break;
|
155
|
-
case
|
156
|
-
this.client.emit(
|
158
|
+
case constants_1.GatewayEvents.ThreadDelete:
|
159
|
+
this.client.emit("threadDelete", transformers_1.Channels.channelFromRaw(packet.d));
|
157
160
|
break;
|
158
|
-
case
|
159
|
-
this.client.emit(
|
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) =>
|
163
|
-
members: packet.d.members.map((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
|
167
|
-
this.client.emit(
|
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
|
-
?
|
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
|
179
|
-
this.client.emit(
|
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) =>
|
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
|
188
|
-
this.client.emit(
|
190
|
+
case constants_1.GatewayEvents.EntitlementCreate:
|
191
|
+
this.client.emit("entitlementCreate", transformers_1.Entitlements.entitlementFromRaw(packet.d));
|
189
192
|
break;
|
190
|
-
case
|
191
|
-
this.client.emit(
|
193
|
+
case constants_1.GatewayEvents.EntitlementUpdate:
|
194
|
+
this.client.emit("entitlementUpdate", transformers_1.Entitlements.entitlementFromRaw(packet.d));
|
192
195
|
break;
|
193
|
-
case
|
194
|
-
this.client.emit(
|
196
|
+
case constants_1.GatewayEvents.EntitlementDelete:
|
197
|
+
this.client.emit("entitlementDelete", transformers_1.Entitlements.entitlementFromRaw(packet.d));
|
195
198
|
break;
|
196
|
-
case
|
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,
|
200
|
-
this.client.emit(
|
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
|
206
|
+
case constants_1.GatewayEvents.GuildUpdate:
|
204
207
|
{
|
205
|
-
this.client.guilds.set(packet.d.id,
|
206
|
-
this.client.emit(
|
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
|
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(
|
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
|
220
|
-
this.client.emit(
|
221
|
-
...
|
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
|
226
|
-
this.client.emit(
|
228
|
+
case constants_1.GatewayEvents.GuildBanAdd:
|
229
|
+
this.client.emit("guildBanAdd", {
|
227
230
|
guildID: packet.d.guild_id,
|
228
|
-
user:
|
231
|
+
user: transformers_1.Users.userFromRaw(packet.d.user),
|
229
232
|
});
|
230
233
|
break;
|
231
|
-
case
|
232
|
-
this.client.emit(
|
234
|
+
case constants_1.GatewayEvents.GuildBanRemove:
|
235
|
+
this.client.emit("guildBanRemove", {
|
233
236
|
guildID: packet.d.guild_id,
|
234
|
-
user:
|
237
|
+
user: transformers_1.Users.userFromRaw(packet.d.user),
|
235
238
|
});
|
236
239
|
break;
|
237
|
-
case
|
238
|
-
this.client.emit(
|
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
|
241
|
-
this.client.emit(
|
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
|
244
|
-
this.client.emit(
|
246
|
+
case constants_1.GatewayEvents.GuildIntegrationsUpdate:
|
247
|
+
this.client.emit("guildIntegrationsUpdate", packet.d.guild_id);
|
245
248
|
break;
|
246
|
-
case
|
247
|
-
this.client.emit(
|
248
|
-
...
|
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
|
253
|
-
this.client.emit(
|
255
|
+
case constants_1.GatewayEvents.GuildMemberRemove:
|
256
|
+
this.client.emit("guildMemberRemove", {
|
254
257
|
guildID: packet.d.guild_id,
|
255
|
-
user:
|
258
|
+
user: transformers_1.Users.userFromRaw(packet.d.user),
|
256
259
|
});
|
257
260
|
break;
|
258
|
-
case
|
259
|
-
this.client.emit(
|
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:
|
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,204 +280,204 @@ class Shard {
|
|
277
280
|
: undefined,
|
278
281
|
});
|
279
282
|
break;
|
280
|
-
case
|
281
|
-
this.client.emit(
|
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) =>
|
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) =>
|
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
|
292
|
-
this.client.emit(
|
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
|
295
|
-
this.client.emit(
|
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
|
298
|
-
this.client.emit(
|
300
|
+
case constants_1.GatewayEvents.GuildRoleDelete:
|
301
|
+
this.client.emit("guildRoleDelete", packet.d.role_id, packet.d.guild_id);
|
299
302
|
break;
|
300
|
-
case
|
301
|
-
this.client.emit(
|
303
|
+
case constants_1.GatewayEvents.GuildScheduledEventCreate:
|
304
|
+
this.client.emit("guildScheduledEventCreate", transformers_1.GuildScheduledEvents.guildScheduledEventFromRaw(packet.d));
|
302
305
|
break;
|
303
|
-
case
|
304
|
-
this.client.emit(
|
306
|
+
case constants_1.GatewayEvents.GuildScheduledEventUpdate:
|
307
|
+
this.client.emit("guildScheduledEventUpdate", transformers_1.GuildScheduledEvents.guildScheduledEventFromRaw(packet.d));
|
305
308
|
break;
|
306
|
-
case
|
307
|
-
this.client.emit(
|
309
|
+
case constants_1.GatewayEvents.GuildScheduledEventDelete:
|
310
|
+
this.client.emit("guildScheduledEventDelete", transformers_1.GuildScheduledEvents.guildScheduledEventFromRaw(packet.d));
|
308
311
|
break;
|
309
|
-
case
|
310
|
-
this.client.emit(
|
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
|
313
|
-
this.client.emit(
|
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
|
316
|
-
this.client.emit(
|
317
|
-
...
|
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
|
322
|
-
this.client.emit(
|
323
|
-
...
|
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
|
328
|
-
this.client.emit(
|
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
|
335
|
-
this.client.emit(
|
337
|
+
case constants_1.GatewayEvents.InteractionCreate:
|
338
|
+
this.client.emit("interactionCreate", transformers_1.Interactions.interactionFromRaw(packet.d));
|
336
339
|
break;
|
337
|
-
case
|
338
|
-
this.client.emit(
|
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
|
-
?
|
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
|
-
?
|
353
|
+
? transformers_1.Users.userFromRaw(packet.d.target_user)
|
351
354
|
: undefined,
|
352
355
|
targetApplication: packet.d.target_application !== undefined
|
353
|
-
?
|
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
|
360
|
-
this.client.emit(
|
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
|
367
|
-
this.client.emit(
|
368
|
-
...
|
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
|
-
?
|
374
|
+
? transformers_1.Guilds.guildMemberFromRaw(packet.d.member)
|
372
375
|
: undefined,
|
373
|
-
mentions: packet.d.mentions.map((mention) =>
|
376
|
+
mentions: packet.d.mentions.map((mention) => transformers_1.Users.userFromRaw(mention)),
|
374
377
|
});
|
375
378
|
break;
|
376
|
-
case
|
377
|
-
this.client.emit(
|
379
|
+
case constants_1.GatewayEvents.MessageUpdate:
|
380
|
+
this.client.emit("messageUpdate", transformers_1.Channels.messageFromRaw(packet.d));
|
378
381
|
break;
|
379
|
-
case
|
380
|
-
this.client.emit(
|
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
|
387
|
-
this.client.emit(
|
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
|
394
|
-
this.client.emit(
|
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
|
-
?
|
403
|
+
? transformers_1.Guilds.guildMemberFromRaw(packet.d.member)
|
401
404
|
: undefined,
|
402
|
-
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
|
410
|
-
this.client.emit(
|
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:
|
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
|
421
|
-
this.client.emit(
|
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
|
428
|
-
this.client.emit(
|
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:
|
435
|
+
emoji: transformers_1.Emojis.emojiFromRaw(packet.d.emoji),
|
433
436
|
});
|
434
437
|
break;
|
435
|
-
case
|
436
|
-
this.client.emit(
|
438
|
+
case constants_1.GatewayEvents.PresenceUpdate:
|
439
|
+
this.client.emit("presenceUpdate", transformers_1.Presences.presenceFromRaw(packet.d));
|
437
440
|
break;
|
438
|
-
case
|
439
|
-
this.client.emit(
|
441
|
+
case constants_1.GatewayEvents.StageInstanceCreate:
|
442
|
+
this.client.emit("stageInstanceCreate", transformers_1.StageInstances.stageInstanceFromRaw(packet.d));
|
440
443
|
break;
|
441
|
-
case
|
442
|
-
this.client.emit(
|
444
|
+
case constants_1.GatewayEvents.StageInstanceUpdate:
|
445
|
+
this.client.emit("stageInstanceUpdate", transformers_1.StageInstances.stageInstanceFromRaw(packet.d));
|
443
446
|
break;
|
444
|
-
case
|
445
|
-
this.client.emit(
|
447
|
+
case constants_1.GatewayEvents.StageInstanceDelete:
|
448
|
+
this.client.emit("stageInstanceDelete", transformers_1.StageInstances.stageInstanceFromRaw(packet.d));
|
446
449
|
break;
|
447
|
-
case
|
448
|
-
this.client.emit(
|
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
|
-
?
|
457
|
+
? transformers_1.Guilds.guildMemberFromRaw(packet.d.member)
|
455
458
|
: undefined,
|
456
459
|
});
|
457
460
|
break;
|
458
|
-
case
|
459
|
-
this.client.emit(
|
461
|
+
case constants_1.GatewayEvents.UserUpdate:
|
462
|
+
this.client.emit("userUpdate", transformers_1.Users.userFromRaw(packet.d));
|
460
463
|
break;
|
461
|
-
case
|
462
|
-
this.client.emit(
|
464
|
+
case constants_1.GatewayEvents.VoiceStateUpdate:
|
465
|
+
this.client.emit("voiceStateUpdate", transformers_1.Voice.voiceStateFromRaw(packet.d));
|
463
466
|
break;
|
464
|
-
case
|
467
|
+
case constants_1.GatewayEvents.VoiceServerUpdate:
|
465
468
|
{
|
466
|
-
this.client.emit(
|
469
|
+
this.client.emit("voiceServerUpdate", {
|
467
470
|
token: packet.d.token,
|
468
471
|
guildID: packet.d.guild_id,
|
469
472
|
endpoint: packet.d.endpoint,
|
470
473
|
});
|
471
474
|
}
|
472
475
|
break;
|
473
|
-
case
|
474
|
-
this.client.emit(
|
476
|
+
case constants_1.GatewayEvents.WebhooksUpdate:
|
477
|
+
this.client.emit("webhooksUpdate", packet.d.channel_id, packet.d.guild_id);
|
475
478
|
break;
|
476
|
-
case
|
477
|
-
this.client.emit(
|
479
|
+
case constants_1.GatewayEvents.MessagePollVoteAdd:
|
480
|
+
this.client.emit("messagePollVoteAdd", {
|
478
481
|
userID: packet.d.user_id,
|
479
482
|
channelID: packet.d.channel_id,
|
480
483
|
messageID: packet.d.message_id,
|
@@ -482,8 +485,8 @@ class Shard {
|
|
482
485
|
answerID: packet.d.answer_id,
|
483
486
|
});
|
484
487
|
break;
|
485
|
-
case
|
486
|
-
this.client.emit(
|
488
|
+
case constants_1.GatewayEvents.MessagePollVoteRemove:
|
489
|
+
this.client.emit("messagePollVoteRemove", {
|
487
490
|
userID: packet.d.user_id,
|
488
491
|
channelID: packet.d.channel_id,
|
489
492
|
messageID: packet.d.message_id,
|
@@ -496,13 +499,32 @@ class Shard {
|
|
496
499
|
onWebSocketOpen() {
|
497
500
|
this.identify({
|
498
501
|
token: this.client.token,
|
499
|
-
shard: [this.id, this.client.shardsCount],
|
500
|
-
intents: this.client.intents,
|
501
502
|
properties: {
|
502
503
|
os: process.platform,
|
503
504
|
browser: pkg.name,
|
504
505
|
device: pkg.name,
|
505
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,
|
506
528
|
});
|
507
529
|
}
|
508
530
|
onWebSocketMessage(data) {
|
@@ -512,15 +534,15 @@ class Shard {
|
|
512
534
|
this.onDispatch(packet);
|
513
535
|
break;
|
514
536
|
case constants_1.GatewayOPCodes.Reconnect:
|
515
|
-
this.client.emit(
|
537
|
+
this.client.emit("reconnect");
|
516
538
|
break;
|
517
539
|
case constants_1.GatewayOPCodes.InvalidSession:
|
518
|
-
this.client.emit(
|
540
|
+
this.client.emit("invalidSession");
|
519
541
|
break;
|
520
542
|
case constants_1.GatewayOPCodes.Hello:
|
521
543
|
{
|
522
544
|
this.heartbeatInterval = setInterval(() => this.heartbeat(null), packet.d.heartbeat_interval);
|
523
|
-
this.client.emit(
|
545
|
+
this.client.emit("hello");
|
524
546
|
}
|
525
547
|
break;
|
526
548
|
}
|
@@ -531,7 +553,7 @@ class Shard {
|
|
531
553
|
onWebSocketClose(code, reason) {
|
532
554
|
if (code === 1000)
|
533
555
|
return;
|
534
|
-
throw new utils_1.GatewayError(
|
556
|
+
throw new utils_1.GatewayError(code, reason.toString());
|
535
557
|
}
|
536
558
|
/** https://discord.com/developers/docs/topics/gateway-events#request-guild-members */
|
537
559
|
requestGuildMembers(options) {
|
@@ -564,7 +586,14 @@ class Shard {
|
|
564
586
|
op: constants_1.GatewayOPCodes.PresenceUpdate,
|
565
587
|
d: {
|
566
588
|
since: options.status === constants_1.StatusTypes.Idle ? Date.now() : null,
|
567
|
-
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
|
+
})),
|
568
597
|
status: options.status ?? constants_1.StatusTypes.Online,
|
569
598
|
afk: !!options.afk,
|
570
599
|
},
|