diff --git a/src/onebot/action/file/GetFile.ts b/src/onebot/action/file/GetFile.ts index 790459f9..521d82a4 100644 --- a/src/onebot/action/file/GetFile.ts +++ b/src/onebot/action/file/GetFile.ts @@ -16,13 +16,16 @@ export interface GetFileResponse { file_name?: string; base64?: string; } - const GetFileBase_PayloadSchema = { type: 'object', properties: { file: { type: 'string' }, - file_id: { type: "string" } - } + file_id: { type: 'string' } + }, + oneOf: [ + { required: ['file'] }, + { required: ['file_id'] } + ] } as const satisfies JSONSchema; export type GetFilePayload = FromSchema; @@ -31,13 +34,7 @@ export class GetFileBase extends BaseAction { payloadSchema = GetFileBase_PayloadSchema; async _handle(payload: GetFilePayload): Promise { - if(!payload.file){ - if(payload.file_id){ - payload.file = payload.file_id; - }else{ - throw new Error('必须传入 file 或 file_id'); - } - } + payload.file ||= payload.file_id || ''; //接收消息标记模式 const contextMsgFile = FileNapCatOneBotUUID.decode(payload.file); if (contextMsgFile) {