From 3cc2f1dcad79b956e8dadcfd7777102c7be0f2d1 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, 1 Aug 2024 19:43:29 +0800 Subject: [PATCH] fix #183 --- .../action/msg/SendMsg/create-send-elements.ts | 12 +++++------- src/onebot11/constructor.ts | 1 + 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/src/onebot11/action/msg/SendMsg/create-send-elements.ts b/src/onebot11/action/msg/SendMsg/create-send-elements.ts index b307bf2b..07f1f55e 100644 --- a/src/onebot11/action/msg/SendMsg/create-send-elements.ts +++ b/src/onebot11/action/msg/SendMsg/create-send-elements.ts @@ -12,11 +12,10 @@ import { SignMusicWrapper } from '@/core'; import { getGroupMember } from '@/core/data'; -import { logDebug, logError, logWarn } from '@/common/utils/log'; +import { logError, logWarn } from '@/common/utils/log'; import { uri2local } from '@/common/utils/file'; import { ob11Config } from '@/onebot11/config'; import { RequestUtil } from '@/common/utils/request'; -import fs from 'node:fs'; import { MessageUnique } from '@/common/utils/MessageUnique'; export type MessageContext = { @@ -25,12 +24,11 @@ export type MessageContext = { } async function handleOb11FileLikeMessage( - { data: { file, name: payloadFileName } }: OB11MessageFileBase, + { data: inputdata }: OB11MessageFileBase, { deleteAfterSentFiles }: MessageContext ) { - const uri = file; - - const { path, isLocal, fileName, errMsg } = (await uri2local(uri)); + //有的奇怪的框架将url作为参数 而不是file 此时优先url + let { path, isLocal, fileName, errMsg } = (await uri2local(inputdata?.url || inputdata.file)); if (errMsg) { logError('文件下载失败', errMsg); @@ -41,7 +39,7 @@ async function handleOb11FileLikeMessage( deleteAfterSentFiles.push(path); } - return { path, fileName: payloadFileName || fileName }; + return { path, fileName: inputdata.name || fileName }; } const _handlers: { diff --git a/src/onebot11/constructor.ts b/src/onebot11/constructor.ts index 1759250c..e0ad9836 100644 --- a/src/onebot11/constructor.ts +++ b/src/onebot11/constructor.ts @@ -174,6 +174,7 @@ export class OB11Constructor { // message_data["data"]["file"] = element.picElement.sourcePath message_data['data']['file'] = element.picElement.fileName; message_data['data']['subType'] = element.picElement.picSubType; + message_data['data']['file_id'] = UUIDConverter.encode(msg.peerUin, msg.msgId); // message_data["data"]["path"] = element.picElement.sourcePath try {