mirror of
https://github.com/discordeno/discordeno.git
synced 2026-06-16 19:28:17 +00:00
Update resume.ts
This commit is contained in:
+6
-7
@@ -1,13 +1,11 @@
|
|||||||
import { DiscordGatewayOpcodes } from "../types/codes/gateway_opcodes.ts";
|
import { DiscordGatewayOpcodes } from "../types/codes/gateway_opcodes.ts";
|
||||||
import { closeWS } from "./close_ws.ts";
|
import { closeWS } from "./close_ws.ts";
|
||||||
|
import { sendShardMessage } from "./send_shard_message.ts";
|
||||||
import { ws } from "./ws.ts";
|
import { ws } from "./ws.ts";
|
||||||
|
|
||||||
export async function resume(shardId: number) {
|
export async function resume(shardId: number) {
|
||||||
ws.log("RESUMING", { shardId });
|
ws.log("RESUMING", { shardId });
|
||||||
|
|
||||||
// CREATE A SHARD
|
|
||||||
const socket = await ws.createShard(shardId);
|
|
||||||
|
|
||||||
// NOW WE HANDLE RESUMING THIS SHARD
|
// NOW WE HANDLE RESUMING THIS SHARD
|
||||||
// Get the old data for this shard necessary for resuming
|
// Get the old data for this shard necessary for resuming
|
||||||
const oldShard = ws.shards.get(shardId);
|
const oldShard = ws.shards.get(shardId);
|
||||||
@@ -19,6 +17,9 @@ export async function resume(shardId: number) {
|
|||||||
clearInterval(oldShard.heartbeat.intervalId);
|
clearInterval(oldShard.heartbeat.intervalId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// CREATE A SHARD
|
||||||
|
const socket = await ws.createShard(shardId);
|
||||||
|
|
||||||
const sessionId = oldShard?.sessionId || "";
|
const sessionId = oldShard?.sessionId || "";
|
||||||
const previousSequenceNumber = oldShard?.previousSequenceNumber || 0;
|
const previousSequenceNumber = oldShard?.previousSequenceNumber || 0;
|
||||||
|
|
||||||
@@ -47,15 +48,13 @@ export async function resume(shardId: number) {
|
|||||||
|
|
||||||
// Resume on open
|
// Resume on open
|
||||||
socket.onopen = () => {
|
socket.onopen = () => {
|
||||||
ws.shards.get(shardId)?.queue.unshift({
|
sendShardMessage(shardId, {
|
||||||
op: DiscordGatewayOpcodes.Resume,
|
op: DiscordGatewayOpcodes.Resume,
|
||||||
d: {
|
d: {
|
||||||
token: ws.identifyPayload.token,
|
token: ws.identifyPayload.token,
|
||||||
session_id: sessionId,
|
session_id: sessionId,
|
||||||
seq: previousSequenceNumber,
|
seq: previousSequenceNumber,
|
||||||
},
|
},
|
||||||
});
|
}, true);
|
||||||
|
|
||||||
ws.processQueue(shardId);
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user