UNPKG

koishi-plugin-adapter-iirose

Version:
61 lines (60 loc) 1.28 kB
import { Context } from 'koishi'; import { IIROSE_Bot } from '../../bot/bot'; import { LoginObj } from './types'; export declare class WsClient { private event; private ctx; private bot; private isStarting; private isStarted; private disposed; live: (() => void) | null; private reconnectTimer; private retryCount; loginObj: LoginObj; firstLogin: boolean; loginSuccess: boolean; isReconnecting: boolean; constructor(ctx: Context, bot: IIROSE_Bot); setDisposing(disposing: boolean): void; /** * 准备ws通信 */ prepare(): Promise<WebSocket>; /** * 接受ws通信 */ accept(): void; /** * 开始ws通信 */ start(): Promise<void>; /** * 清理连接和定时器 */ private cleanup; /** * 设置WebSocket事件监听器 */ private setupEventListeners; /** * 启动心跳保活机制 */ private startHeartbeat; /** * 处理连接丢失,执行重连逻辑 */ private handleConnectionLoss; /** * 计算重试延迟 */ private calculateRetryDelay; /** * 关闭ws通信 */ stop(): Promise<void>; /** * 切换房间 */ switchRoom(): Promise<void>; }