From 430221c2de9bf6520c748a9e0ad092feaecc583f 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: Thu, 16 May 2024 20:23:36 +0800 Subject: [PATCH] fix: check msgElement --- src/onebot11/action/msg/SendMsg/index.ts | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/onebot11/action/msg/SendMsg/index.ts b/src/onebot11/action/msg/SendMsg/index.ts index 1f51ee7d..465d0857 100644 --- a/src/onebot11/action/msg/SendMsg/index.ts +++ b/src/onebot11/action/msg/SendMsg/index.ts @@ -9,7 +9,7 @@ import { import { ActionName, BaseCheckResult } from '@/onebot11/action/types'; import { getFriend, getGroup, getUidByUin } from '@/core/data'; import { dbUtil } from '@/core/utils/db'; -import { ChatType, Group, NTQQMsgApi, Peer, SendMessageElement, } from '@/core'; +import { ChatType, Group, NTQQMsgApi, Peer, SendMessageElement, } from '@/core'; import fs from 'node:fs'; import { logDebug } from '@/common/utils/log'; import { decodeCQCode } from '@/onebot11/cqcode'; @@ -101,7 +101,8 @@ export class SendMsg extends BaseAction { protected async check(payload: OB11PostSendMsg): Promise { const messages = normalize(payload.message); - if (getSpecialMsgNum(payload, OB11MessageDataType.node) != messages.length) { + const nodeElementLength = getSpecialMsgNum(payload, OB11MessageDataType.node); + if (nodeElementLength > 0 && nodeElementLength != messages.length) { return { valid: false, message: '转发消息不能和普通消息混在一起发送,转发需要保证message只有type为node的元素' }; } if (payload.message_type !== 'private' && payload.group_id && !(await getGroup(payload.group_id))) {