From 22f74be4cd33acb5d9d8acf401f18c71a3e63b15 Mon Sep 17 00:00:00 2001 From: linyuchen Date: Thu, 18 Apr 2024 18:23:20 +0800 Subject: [PATCH] try send markdown --- src/onebot11/action/msg/SendMsg.ts | 31 ++++++++++++++++-------------- src/onebot11/types.ts | 9 ++++++++- 2 files changed, 25 insertions(+), 15 deletions(-) diff --git a/src/onebot11/action/msg/SendMsg.ts b/src/onebot11/action/msg/SendMsg.ts index f55ae8c2..06f51402 100644 --- a/src/onebot11/action/msg/SendMsg.ts +++ b/src/onebot11/action/msg/SendMsg.ts @@ -152,13 +152,11 @@ export async function createSendElements(messageData: OB11MessageData[], group: if (cache) { if (fs.existsSync(cache.path)) { file = 'file://' + cache.path; - } - else if (cache.url) { + } else if (cache.url) { file = cache.url; - } - else{ + } else { const fileMsg = await dbUtil.getMsgByLongId(cache.msgId); - if (fileMsg){ + if (fileMsg) { const downloadPath = await NTQQFileApi.downloadMedia(fileMsg.msgId, fileMsg.chatType, fileMsg.peerUid, cache.elementId, '', ''); cache.path = downloadPath!; @@ -209,14 +207,20 @@ export async function createSendElements(messageData: OB11MessageData[], group: sendElements.push(SendMsgElementConstructor.ark(sendMsg.data.data)); } break; - case OB11MessageDataType.dice:{ + case OB11MessageDataType.dice: { const resultId = sendMsg.data?.result; sendElements.push(SendMsgElementConstructor.dice(resultId)); - }break; - case OB11MessageDataType.RPS:{ + } + break; + case OB11MessageDataType.RPS: { const resultId = sendMsg.data?.result; sendElements.push(SendMsgElementConstructor.rps(resultId)); - }break; + } + break; + case OB11MessageDataType.markdown: { + const content = sendMsg.data?.content; + sendElements.push(SendMsgElementConstructor.markdown(content)); + } } } @@ -332,11 +336,10 @@ export class SendMsg extends BaseAction { if (this.getSpecialMsgNum(payload, OB11MessageDataType.node)) { try { const returnMsg = await this.handleForwardNode(peer, messages as OB11MessageNode[], group); - if (returnMsg){ - const msgShortId =await dbUtil.addMsg(returnMsg!, false); + if (returnMsg) { + const msgShortId = await dbUtil.addMsg(returnMsg!, false); return { message_id: msgShortId }; - } - else{ + } else { throw Error('发送转发消息失败'); } } catch (e: any) { @@ -511,7 +514,7 @@ export class SendMsg extends BaseAction { // nodeIds.push(nodeMsg.msgId) // await sleep(500); // 开发转发 - if (nodeMsgIds.length === 0){ + if (nodeMsgIds.length === 0) { throw Error('转发消息失败,生成节点为空'); } try { diff --git a/src/onebot11/types.ts b/src/onebot11/types.ts index d4835650..e11d9512 100644 --- a/src/onebot11/types.ts +++ b/src/onebot11/types.ts @@ -229,13 +229,20 @@ export interface OB11MessageRPS{ } } +export interface OB11MessageMarkdown { + type: OB11MessageDataType.markdown + data: { + content: string + } +} + export type OB11MessageData = OB11MessageText | OB11MessageFace | OB11MessageMFace | OB11MessageAt | OB11MessageReply | OB11MessageImage | OB11MessageRecord | OB11MessageFile | OB11MessageVideo | OB11MessageNode | OB11MessageCustomMusic | OB11MessageJson | - OB11MessageDice | OB11MessageRPS + OB11MessageDice | OB11MessageRPS | OB11MessageMarkdown export interface OB11PostSendMsg { message_type?: 'private' | 'group'