fix: cq code auto escape

fix: get groups no cache
This commit is contained in:
linyuchen
2024-04-16 20:28:05 +08:00
parent 9b8d7e969a
commit 6221823f12
53 changed files with 120 additions and 69 deletions

View File

@@ -73,15 +73,15 @@ export interface ReturnDataType {
export function convertMessage2List(message: OB11MessageMixType, autoEscape = false) {
if (typeof message === 'string') {
if (!autoEscape) {
message = decodeCQCode(message.toString());
} else {
if (autoEscape === true) {
message = [{
type: OB11MessageDataType.text,
data: {
text: message
}
}];
} else {
message = decodeCQCode(message.toString());
}
} else if (!Array.isArray(message)) {
message = [message];
@@ -210,6 +210,14 @@ export async function createSendElements(messageData: OB11MessageData[], group:
sendElements.push(SendMsgElementConstructor.ark(sendMsg.data.data));
}
break;
case OB11MessageDataType.dice:{
const resultId = sendMsg.data?.result;
sendElements.push(SendMsgElementConstructor.dice(resultId));
}break;
case OB11MessageDataType.RPS:{
const resultId = sendMsg.data?.result;
sendElements.push(SendMsgElementConstructor.rps(resultId));
}break;
}
}
@@ -321,7 +329,7 @@ export class SendMsg extends BaseAction<OB11PostSendMsg, ReturnDataType> {
} else {
throw ('发送消息参数错误, 请指定group_id或user_id');
}
const messages = convertMessage2List(payload.message);
const messages = convertMessage2List(payload.message, payload.auto_escape);
if (this.getSpecialMsgNum(payload, OB11MessageDataType.node)) {
try {
const returnMsg = await this.handleForwardNode(peer, messages as OB11MessageNode[], group);