From f5e7288fe5c426af8ab86296826f896226be7abf Mon Sep 17 00:00:00 2001 From: "Wesley F. Young" Date: Fri, 30 Aug 2024 20:47:48 +0800 Subject: [PATCH] fix: report encoded msgId+elemId in upload event --- src/common/helper.ts | 13 +++++++++---- src/onebot/action/file/GetGroupFileList.ts | 5 ++++- src/onebot/api/group.ts | 10 +++++++--- 3 files changed, 20 insertions(+), 8 deletions(-) diff --git a/src/common/helper.ts b/src/common/helper.ts index bc80626d..2c7a5fcd 100644 --- a/src/common/helper.ts +++ b/src/common/helper.ts @@ -23,29 +23,33 @@ export async function solveAsyncProblem Promise { return new Promise((resolve) => setTimeout(resolve, ms)); } diff --git a/src/onebot/action/file/GetGroupFileList.ts b/src/onebot/action/file/GetGroupFileList.ts index 3a8755e8..fc8f4ba1 100644 --- a/src/onebot/action/file/GetGroupFileList.ts +++ b/src/onebot/action/file/GetGroupFileList.ts @@ -41,7 +41,10 @@ export class GetGroupFileList extends BaseAction ret.forEach((e) => { const fileModelId = e?.fileInfo?.fileModelId; if (fileModelId) - e.fileInfo!.fileId = FileNapCatOneBotUUID.encodeModelId({ chatType: 2, peerUid: payload.group_id.toString() }, fileModelId); + e.fileInfo!.fileId = FileNapCatOneBotUUID.encodeModelId({ + chatType: 2, + peerUid: payload.group_id.toString() + }, fileModelId); }); return { FileList: ret }; } diff --git a/src/onebot/api/group.ts b/src/onebot/api/group.ts index c435316a..70814272 100644 --- a/src/onebot/api/group.ts +++ b/src/onebot/api/group.ts @@ -18,6 +18,7 @@ import { OB11GroupUploadNoticeEvent } from '@/onebot/event/notice/OB11GroupUploa import { OB11GroupPokeEvent } from '@/onebot/event/notice/OB11PokeEvent'; import { OB11GroupEssenceEvent } from '@/onebot/event/notice/OB11GroupEssenceEvent'; import { OB11GroupTitleEvent } from '@/onebot/event/notice/OB11GroupTitleEvent'; +import { FileNapCatOneBotUUID } from '@/common/helper'; export class OneBotGroupApi { obContext: NapCatOneBot11Adapter; @@ -76,7 +77,10 @@ export class OneBotGroupApi { this.core, parseInt(msg.peerUid), parseInt(msg.senderUin || ''), { - id: element.fileElement.fileUuid!, + id: FileNapCatOneBotUUID.encode({ + chatType: ChatType.KCHATTYPEGROUP, + peerUid: msg.peerUid, + }, msg.msgSeq, element.elementId), name: element.fileElement.fileName, size: parseInt(element.fileElement.fileSize), busid: element.fileElement.fileBizId || 0, @@ -124,8 +128,8 @@ export class OneBotGroupApi { peerUid: Group, }; const msgData = await NTQQMsgApi.getMsgsBySeqAndCount(Peer, msgSeq.toString(), 1, true, true); - let msgList = (await this.core.apis.WebApi.getGroupEssenceMsgAll(Group)).flatMap((e) => e.data.msg_list); - let realMsg = msgList.find((e) => e.msg_seq.toString() == msgSeq); + const msgList = (await this.core.apis.WebApi.getGroupEssenceMsgAll(Group)).flatMap((e) => e.data.msg_list); + const realMsg = msgList.find((e) => e.msg_seq.toString() == msgSeq); return new OB11GroupEssenceEvent( this.core, parseInt(msg.peerUid),