From df8b6e9934af5b21aa2701ce54244c38a5f133e0 Mon Sep 17 00:00:00 2001 From: Qjuh <76154676+Qjuh@users.noreply.github.com> Date: Mon, 29 May 2023 20:45:17 +0200 Subject: [PATCH] fix(WebSocketManager): always cache result of fetchGatewayInformation (#9611) * fix(WebSocketManager): always cache result of fetchGatewayInformation * fix: add comment --- packages/ws/src/ws/WebSocketManager.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/ws/src/ws/WebSocketManager.ts b/packages/ws/src/ws/WebSocketManager.ts index 7624ce2a2..19996c396 100644 --- a/packages/ws/src/ws/WebSocketManager.ts +++ b/packages/ws/src/ws/WebSocketManager.ts @@ -234,7 +234,8 @@ export class WebSocketManager extends AsyncEventEmitter { const data = (await this.options.rest.get(Routes.gatewayBot())) as RESTGetAPIGatewayBotResult; - this.gatewayInformation = { data, expiresAt: Date.now() + data.session_start_limit.reset_after }; + // For single sharded bots session_start_limit.reset_after will be 0, use 5 seconds as a minimum expiration time + this.gatewayInformation = { data, expiresAt: Date.now() + (data.session_start_limit.reset_after || 5_000) }; return this.gatewayInformation.data; }