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))) {