From aeb8986aa1ed7384672b20211ebce6dab95623bd Mon Sep 17 00:00:00 2001 From: VAKiliner <119078586+vakiliner@users.noreply.github.com> Date: Fri, 28 Nov 2025 17:12:23 +0300 Subject: [PATCH] fix(Client): Move client initialization code (#11184) * Update index.js * Fix * Fix path to ClientUser * Update Client.js * Migrating back to READY.js * Move _checkReady() --------- Co-authored-by: Jiralite <33201955+Jiralite@users.noreply.github.com> Co-authored-by: Denis-Adrian Cristea --- packages/discord.js/src/client/Client.js | 13 +++---------- .../src/client/websocket/handlers/READY.js | 4 ++++ 2 files changed, 7 insertions(+), 10 deletions(-) diff --git a/packages/discord.js/src/client/Client.js b/packages/discord.js/src/client/Client.js index ad0a03c63..a3820c849 100644 --- a/packages/discord.js/src/client/Client.js +++ b/packages/discord.js/src/client/Client.js @@ -389,15 +389,6 @@ class Client extends AsyncEventEmitter { ); this.ws.on(WebSocketShardEvents.Dispatch, this._handlePacket.bind(this)); - this.ws.on(WebSocketShardEvents.Ready, async data => { - for (const guild of data.guilds) { - this.expectedGuilds.add(guild.id); - } - - this.status = Status.WaitingForGuilds; - await this._checkReady(); - }); - this.ws.on(WebSocketShardEvents.HeartbeatComplete, ({ heartbeatAt, latency }, shardId) => { this.emit(Events.Debug, `[WS => Shard ${shardId}] Heartbeat acknowledged, latency of ${latency}ms.`); this.lastPingTimestamps.set(shardId, heartbeatAt); @@ -427,7 +418,9 @@ class Client extends AsyncEventEmitter { PacketHandlers[packet.t](this, packet, shardId); } - if (this.status === Status.WaitingForGuilds && WaitingForGuildEvents.includes(packet.t)) { + if (packet.t === GatewayDispatchEvents.Ready) { + await this._checkReady(); + } else if (this.status === Status.WaitingForGuilds && WaitingForGuildEvents.includes(packet.t)) { this.expectedGuilds.delete(packet.d.id); await this._checkReady(); } diff --git a/packages/discord.js/src/client/websocket/handlers/READY.js b/packages/discord.js/src/client/websocket/handlers/READY.js index bf78a1368..393d832d4 100644 --- a/packages/discord.js/src/client/websocket/handlers/READY.js +++ b/packages/discord.js/src/client/websocket/handlers/READY.js @@ -1,6 +1,7 @@ 'use strict'; const { ClientApplication } = require('../../../structures/ClientApplication.js'); +const { Status } = require('../../../util/Status.js'); let ClientUser; @@ -14,6 +15,7 @@ module.exports = (client, { d: data }, shardId) => { } for (const guild of data.guilds) { + client.expectedGuilds.add(guild.id); guild.shardId = shardId; client.guilds._add(guild); } @@ -23,4 +25,6 @@ module.exports = (client, { d: data }, shardId) => { } else { client.application = new ClientApplication(client, data.application); } + + client.status = Status.WaitingForGuilds; };