diff --git a/src/core/apis/file.ts b/src/core/apis/file.ts index 4596c28f..55fce983 100644 --- a/src/core/apis/file.ts +++ b/src/core/apis/file.ts @@ -259,7 +259,7 @@ export class NTQQFileApi { return sourcePath; } } - await this.core.eventWrapper.callNormalEventV2( + const [, completeRetData] = await this.core.eventWrapper.callNormalEventV2( 'NodeIKernelMsgService/downloadRichMedia', 'NodeIKernelMsgListener/onRichMediaDownloadComplete', [{ @@ -279,24 +279,7 @@ export class NTQQFileApi { 1, timeout, ); - const mixElement = (await this.core.apis.MsgApi.getMsgsByMsgId({ - guildId: '', - chatType: chatType, - peerUid: peerUid, - }, [msgId])).msgList - .find((msg) => msg.msgId === msgId) - ?.elements.find((e) => e.elementId === elementId); - const mixElementInner = mixElement?.videoElement - ?? mixElement?.fileElement - ?? mixElement?.pttElement - ?? mixElement?.picElement; - let realPath = mixElementInner?.filePath; - if (!realPath) { - const picThumbPath: Map = (mixElementInner as any)?.picThumbPath; - const picThumbPathList = Array.from(picThumbPath.values()); - if (picThumbPathList.length > 0) realPath = picThumbPathList[0]; - } - return realPath; + return completeRetData.filePath; } async getImageSize(filePath: string): Promise { diff --git a/src/onebot/api/msg.ts b/src/onebot/api/msg.ts index fdebf4ab..85663ba1 100644 --- a/src/onebot/api/msg.ts +++ b/src/onebot/api/msg.ts @@ -106,12 +106,13 @@ export class OneBotMsgApi { peerUid: msg.peerUid, guildId: '', }; + const encodedFileId = FileNapCatOneBotUUID.encode(peer, msg.msgId, elementWrapper.elementId); return { type: OB11MessageDataType.image, data: { - file: element.fileName, + file: encodedFileId, sub_type: element.picSubType, - file_id: FileNapCatOneBotUUID.encode(peer, msg.msgId, elementWrapper.elementId), + file_id: encodedFileId, url: await this.core.apis.FileApi.getImageUrl(element), file_size: element.fileSize, },