From 889a8c609306a4c3e494b9db6c6323a42c517e4b Mon Sep 17 00:00:00 2001 From: Seijo Cecilia Date: Sun, 25 Aug 2024 19:43:01 +0800 Subject: [PATCH] fix: sync fixes in handling forwarded nodes --- src/onebot/action/msg/SendMsg/index.ts | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/src/onebot/action/msg/SendMsg/index.ts b/src/onebot/action/msg/SendMsg/index.ts index 4ed5ad49..320476fa 100644 --- a/src/onebot/action/msg/SendMsg/index.ts +++ b/src/onebot/action/msg/SendMsg/index.ts @@ -273,18 +273,21 @@ export class SendMsg extends BaseAction { nodeMsgIds = nodeMsgArray.map(msg => msg.msgId); let retMsgIds: string[] = []; if (needSendSelf) { - for (const msg of nodeMsgArray) { - if (msg.peerUid === this.CoreContext.selfInfo.uid) continue; + for (const [, msg] of nodeMsgArray.entries()) { + if (msg.peerUid === this.CoreContext.selfInfo.uid){ + retMsgIds.push(msg.msgId); + continue; + } const ClonedMsg = await this.cloneMsg(msg); if (ClonedMsg) retMsgIds.push(ClonedMsg.msgId); } } else { retMsgIds = nodeMsgIds; } - if (nodeMsgIds.length === 0) throw Error('转发消息失败,生成节点为空'); + if (retMsgIds.length === 0) throw Error('转发消息失败,生成节点为空'); try { - logger.logDebug('开发转发', srcPeer, destPeer, nodeMsgIds); - return await NTQQMsgApi.multiForwardMsg(srcPeer!, destPeer, nodeMsgIds); + logger.logDebug('开发转发', srcPeer, destPeer, retMsgIds); + return await NTQQMsgApi.multiForwardMsg(srcPeer!, destPeer, retMsgIds); } catch (e) { logger.logError('forward failed', e); return null;