From f75213628354f619cad19f7fb6c42f92447b7cbf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=89=8B=E7=93=9C=E4=B8=80=E5=8D=81=E9=9B=AA?= Date: Mon, 16 Dec 2024 21:06:51 +0800 Subject: [PATCH] fix: #631 --- src/onebot/network/active-http.ts | 5 +++++ src/onebot/network/active-websocket.ts | 6 +++--- src/onebot/network/passive-websocket.ts | 4 ++-- 3 files changed, 10 insertions(+), 5 deletions(-) diff --git a/src/onebot/network/active-http.ts b/src/onebot/network/active-http.ts index 42e34e02..57a7b799 100644 --- a/src/onebot/network/active-http.ts +++ b/src/onebot/network/active-http.ts @@ -45,6 +45,11 @@ export class OB11ActiveHttpAdapter implements IOB11NetworkAdapter { const data = await RequestUtil.HttpGetText(this.config.url, 'POST', msgStr, headers); const resJson: QuickAction = data ? JSON.parse(data) : {}; + + if (!this.obContext.apis.QuickActionApi.handleQuickOperation) { + throw new Error('apis.QuickActionApi.handleQuickOperation 异常'); + } + await this.obContext.apis.QuickActionApi.handleQuickOperation(event as QuickActionEvent, resJson); } diff --git a/src/onebot/network/active-websocket.ts b/src/onebot/network/active-websocket.ts index 47d75a6e..b73e95e5 100644 --- a/src/onebot/network/active-websocket.ts +++ b/src/onebot/network/active-websocket.ts @@ -2,7 +2,7 @@ import { IOB11NetworkAdapter, OB11EmitEventContent, OB11NetworkReloadType } from import { WebSocket } from 'ws'; import { OB11HeartbeatEvent } from '@/onebot/event/meta/OB11HeartbeatEvent'; import { NapCatCore } from '@/core'; -import { ActionName } from '@/onebot/action/router'; +import { ActionName } from '@/onebot/action/router'; import { OB11Response } from '@/onebot/action/OneBotAction'; import { LogWrapper } from '@/common/log'; import { ActionMap } from '@/onebot/action'; @@ -133,7 +133,7 @@ export class OB11ActiveWebSocketAdapter implements IOB11NetworkAdapter { } private async handleMessage(message: any) { - let receiveData: { action: ActionName, params?: any, echo?: any } = { action: ActionName.Unknown, params: {} }; + let receiveData: { action: typeof ActionName[keyof typeof ActionName], params?: any, echo?: any } = { action: ActionName.Unknown, params: {} }; let echo = undefined; try { @@ -145,7 +145,7 @@ export class OB11ActiveWebSocketAdapter implements IOB11NetworkAdapter { return; } receiveData.params = (receiveData?.params) ? receiveData.params : {};// 兼容类型验证 - const action = this.actions.get(receiveData.action); + const action = this.actions.get(receiveData.action as any); if (!action) { this.logger.logError('[OneBot] [WebSocket Client] 发生错误', '不支持的Api ' + receiveData.action); this.checkStateAndReply(OB11Response.error('不支持的Api ' + receiveData.action, 1404, echo)); diff --git a/src/onebot/network/passive-websocket.ts b/src/onebot/network/passive-websocket.ts index 85a73a94..a5b7cb1f 100644 --- a/src/onebot/network/passive-websocket.ts +++ b/src/onebot/network/passive-websocket.ts @@ -166,7 +166,7 @@ export class OB11PassiveWebSocketAdapter implements IOB11NetworkAdapter { } private async handleMessage(wsClient: WebSocket, message: any) { - let receiveData: { action: ActionName, params?: any, echo?: any } = { action: ActionName.Unknown, params: {} }; + let receiveData: { action: typeof ActionName[keyof typeof ActionName], params?: any, echo?: any } = { action: ActionName.Unknown, params: {} }; let echo = undefined; try { receiveData = JSON.parse(message.toString()); @@ -177,7 +177,7 @@ export class OB11PassiveWebSocketAdapter implements IOB11NetworkAdapter { return; } receiveData.params = (receiveData?.params) ? receiveData.params : {};//兼容类型验证 不然类型校验爆炸 - const action = this.actions.get(receiveData.action); + const action = this.actions.get(receiveData.action as any); if (!action) { this.logger.logError('[OneBot] [WebSocket Client] 发生错误', '不支持的API ' + receiveData.action); this.checkStateAndReply(OB11Response.error('不支持的API ' + receiveData.action, 1404, echo), wsClient);