From ce3d35d7ecdcc6d8201b9a26f53e53c91ff09e19 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=89=8B=E7=93=9C=E4=B8=80=E5=8D=81=E9=9B=AA?= Date: Thu, 29 Aug 2024 20:34:24 +0800 Subject: [PATCH] fix: modelId --- src/core/apis/file.ts | 9 ++++++--- src/core/services/NodeIKernelRichMediaService.ts | 2 +- src/onebot/action/file/GetFile.ts | 2 +- src/onebot/action/file/GetGroupFileList.ts | 8 ++++++++ 4 files changed, 16 insertions(+), 5 deletions(-) diff --git a/src/core/apis/file.ts b/src/core/apis/file.ts index 816e223f..ac8906e0 100644 --- a/src/core/apis/file.ts +++ b/src/core/apis/file.ts @@ -302,13 +302,16 @@ export class NTQQFileApi { async downloadMediaByUuid() { //napCatCore.session.getRichMediaService().downloadFileForFileUuid(); } - async downloadFileForModelId(peer: Peer, modelId: string, timeout = 1000 * 60 * 2) { + async downloadFileForModelId(peer: Peer, modelId: string, unknown: string, timeout = 1000 * 60 * 2) { const [, fileTransNotifyInfo] = await this.core.eventWrapper.callNormalEventV2( 'NodeIKernelRichMediaService/downloadFileForModelId', 'NodeIKernelMsgListener/onRichMediaDownloadComplete', - [peer, [modelId]], + [peer, [modelId], unknown], () => true, - (arg) => arg?.commonFileInfo?.fileModelId === modelId, + (arg) => { + console.log(arg); + return arg?.commonFileInfo?.fileModelId === modelId + }, 1, timeout, ); diff --git a/src/core/services/NodeIKernelRichMediaService.ts b/src/core/services/NodeIKernelRichMediaService.ts index b49bb896..e4a0afd6 100644 --- a/src/core/services/NodeIKernelRichMediaService.ts +++ b/src/core/services/NodeIKernelRichMediaService.ts @@ -155,7 +155,7 @@ export interface NodeIKernelRichMediaService { }): unknown; //arg3为“” - downloadFileForModelId(peer: Peer, ModelId: string[]): Promise; + downloadFileForModelId(peer: Peer, ModelId: string[], unknown: string): Promise; //第三个参数 Array // this.fileId = ""; diff --git a/src/onebot/action/file/GetFile.ts b/src/onebot/action/file/GetFile.ts index 0e0b62f7..fc8bbc8f 100644 --- a/src/onebot/action/file/GetFile.ts +++ b/src/onebot/action/file/GetFile.ts @@ -64,7 +64,7 @@ export class GetFileBase extends BaseAction { const contextModelIdFile = FileNapCatOneBotUUID.decodeModelId(payload.file); if (contextModelIdFile) { const { peer, modelId } = contextModelIdFile; - const downloadPath = await NTQQFileApi.downloadFileForModelId(peer, modelId); + const downloadPath = await NTQQFileApi.downloadFileForModelId(peer, modelId,' '); const res: GetFileResponse = { file: downloadPath, url: downloadPath, diff --git a/src/onebot/action/file/GetGroupFileList.ts b/src/onebot/action/file/GetGroupFileList.ts index 40c12648..f9d414f6 100644 --- a/src/onebot/action/file/GetGroupFileList.ts +++ b/src/onebot/action/file/GetGroupFileList.ts @@ -1,6 +1,7 @@ import { FromSchema, JSONSchema } from 'json-schema-to-ts'; import BaseAction from '../BaseAction'; import { ActionName } from '../types'; +import { FileNapCatOneBotUUID } from '@/common/helper'; const SchemaData = { type: 'object', @@ -37,6 +38,13 @@ export class GetGroupFileList extends BaseAction }).catch((e) => { return []; }); + ret.forEach((e) => { + let fileModelId = e?.fileInfo?.fileModelId; + if (fileModelId) { + e.fileModelId = fileModelId; + } + e.fileId = FileNapCatOneBotUUID.encodeModelId({ chatType: 2, peerUid: payload.group_id.toString() }, fileModelId); + }); return { FileList: ret }; } }