From 372452fbee5e24e3bad01bc9dee5aacf0bbdd0ab 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: Sun, 17 Nov 2024 11:29:27 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E6=B6=88=E6=81=AF=E4=B8=8A=E6=8A=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/onebot/index.ts | 25 ++++++++++++------------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/src/onebot/index.ts b/src/onebot/index.ts index c10e903f2..8e5a9f5f6 100644 --- a/src/onebot/index.ts +++ b/src/onebot/index.ts @@ -543,20 +543,19 @@ export class NapCatOneBot11Adapter { } private async emitMsg(message: RawMessage) { - const network = Object.values(this.configLoader.configData.network) as Array; + const network = Object.values(this.configLoader.configData.network).flat() as Array; this.context.logger.logDebug('收到新消息 RawMessage', message); try { const ob11Msg = await this.apis.MsgApi.parseMessageV2(message); - if (!ob11Msg) return; - - const isSelfMsg = this.isSelfMessage(ob11Msg); - this.context.logger.logDebug('转化为 OB11Message', ob11Msg); - - const msgMap = this.createMsgMap(network, ob11Msg, isSelfMsg, message); - this.handleDebugNetwork(network, msgMap, message); - this.handleNotReportSelfNetwork(network, msgMap, isSelfMsg); + if (ob11Msg) { + const isSelfMsg = this.isSelfMessage(ob11Msg); + this.context.logger.logDebug('转化为 OB11Message', ob11Msg); + const msgMap = this.createMsgMap(network, ob11Msg, isSelfMsg, message); + this.handleDebugNetwork(network, msgMap, message); + this.handleNotReportSelfNetwork(network, msgMap, isSelfMsg); + this.networkManager.emitEventByNames(msgMap); + } - this.networkManager.emitEventByNames(msgMap); } catch (e) { this.context.logger.logError('constructMessage error: ', e); } @@ -575,7 +574,7 @@ export class NapCatOneBot11Adapter { private createMsgMap(network: Array, ob11Msg: any, isSelfMsg: boolean, message: RawMessage): Map { const msgMap: Map = new Map(); - network.flat().filter(e => e.enable).forEach(e => { + network.filter(e => e.enable).forEach(e => { if (e.messagePostFormat == 'string') { msgMap.set(e.name, structuredClone(ob11Msg.stringMsg)); } else { @@ -590,7 +589,7 @@ export class NapCatOneBot11Adapter { } private handleDebugNetwork(network: Array, msgMap: Map, message: RawMessage) { - const debugNetwork = network.flat().filter(e => e.enable && e.debug); + const debugNetwork = network.filter(e => e.enable && e.debug); if (debugNetwork.length > 0) { debugNetwork.forEach(adapter => { const msg = msgMap.get(adapter.name); @@ -605,7 +604,7 @@ export class NapCatOneBot11Adapter { private handleNotReportSelfNetwork(network: Array, msgMap: Map, isSelfMsg: boolean) { if (isSelfMsg) { - const notReportSelfNetwork = network.flat().filter(e => e.enable && (('reportSelfMessage' in e && !e.reportSelfMessage) || !('reportSelfMessage' in e))); + const notReportSelfNetwork = network.filter(e => e.enable && (('reportSelfMessage' in e && !e.reportSelfMessage) || !('reportSelfMessage' in e))); notReportSelfNetwork.forEach(adapter => { msgMap.delete(adapter.name); });