From d8d6ff6b473db2d8d02267021ca7095d1c7d0c51 Mon Sep 17 00:00:00 2001 From: MARCROCK22 Date: Thu, 19 Dec 2024 14:16:56 -0400 Subject: [PATCH] feat: getRC in workerManager --- src/websocket/discord/shared.ts | 3 +++ src/websocket/discord/workermanager.ts | 8 +++++--- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/src/websocket/discord/shared.ts b/src/websocket/discord/shared.ts index c90ae4c..0a9345e 100644 --- a/src/websocket/discord/shared.ts +++ b/src/websocket/discord/shared.ts @@ -1,3 +1,4 @@ +import type { InternalRuntimeConfig, InternalRuntimeConfigHTTP } from '../../client/base'; import type { Awaitable, DeepPartial, Logger } from '../../common'; import type { APIGatewayBotInfo, @@ -73,6 +74,8 @@ export interface WorkerManagerOptions extends Omit>; + + getRC?(): Awaitable; } export interface ShardData { diff --git a/src/websocket/discord/workermanager.ts b/src/websocket/discord/workermanager.ts index 3a27c26..d2577fd 100644 --- a/src/websocket/discord/workermanager.ts +++ b/src/websocket/discord/workermanager.ts @@ -46,7 +46,7 @@ export class WorkerManager extends Map< return chunks; } - options: PickPartial, 'adapter' | 'handleWorkerMessage' | 'handlePayload'>; + options: PickPartial, 'adapter' | 'handleWorkerMessage' | 'handlePayload' | 'getRC'>; debugger?: Logger; connectQueue!: ConnectQueue; workerQueue: (() => void)[] = []; @@ -553,9 +553,11 @@ export class WorkerManager extends Map< } async start() { - const rc = await BaseClient.prototype.getRC(); + const rc = + ((await this.options.getRC?.()) as InternalRuntimeConfig | undefined) ?? + (await BaseClient.prototype.getRC()); - this.options.debug ||= rc.debug; + this.options.debug ||= rc.debug ?? false; this.options.intents ||= rc.intents ?? 0; this.options.token ??= rc.token; this.rest ??= new ApiHandler({