diff --git a/packages/api/src/classes/Client.ts b/packages/api/src/classes/Client.ts index b0ccb43..1560e60 100755 --- a/packages/api/src/classes/Client.ts +++ b/packages/api/src/classes/Client.ts @@ -163,13 +163,17 @@ export default class Client { /** * Disconnects the client from the API */ - disconnect() { - this.ws.disconnect() + disconnect(force?: boolean) { + this.ws.disconnect(force) } #throwIfNotReady() { if (!this.isReady()) throw new Error('Client is not ready') } + + get disconnected() { + return this.ws.disconnected + } } export class ClientWebSocketPacketAwaiter { diff --git a/packages/api/src/classes/ClientWebSocket.ts b/packages/api/src/classes/ClientWebSocket.ts index 2df482d..bcb9a5f 100755 --- a/packages/api/src/classes/ClientWebSocket.ts +++ b/packages/api/src/classes/ClientWebSocket.ts @@ -137,8 +137,8 @@ export class ClientWebSocketManager { /** * Disconnects from the WebSocket API */ - disconnect() { - this.#throwIfDisconnected('Cannot disconnect when already disconnected from the server') + disconnect(force?: boolean) { + if (!force) this.#throwIfDisconnected('Cannot disconnect when already disconnected from the server') this._handleDisconnect(DisconnectReason.PlannedDisconnect) }