diff --git a/src/onebot11/action/msg/SendMsg/index.ts b/src/onebot11/action/msg/SendMsg/index.ts index ed8ae849..85ca39aa 100644 --- a/src/onebot11/action/msg/SendMsg/index.ts +++ b/src/onebot11/action/msg/SendMsg/index.ts @@ -24,11 +24,21 @@ export interface ReturnDataType { // Normalizes a mixed type (CQCode/a single segment/segment array) into a segment array. export function normalize(message: OB11MessageMixType, autoEscape = false): OB11MessageData[] { - return typeof message === 'string' ? ( - autoEscape ? - [{ type: OB11MessageDataType.text, data: { text: message } }] : - decodeCQCode(message) - ) : Array.isArray(message) ? message : [message]; + if (typeof message === 'string') { + if (autoEscape) { + return [{ type: OB11MessageDataType.text, data: { text: message } }]; + } else { + try { + return decodeCQCode(message); + } catch { + return [{ type: OB11MessageDataType.text, data: { text: message } }]; + } + } + } else if (Array.isArray(message)) { + return message; + } else { + return [message]; + } } export { createSendElements };