From a164884b765a54362b39ec491e4bc4985bbc7d59 Mon Sep 17 00:00:00 2001
From: linyuchen <lin.yu.chen@hotmail.com>
Date: Tue, 27 Feb 2024 03:15:13 +0800
Subject: [PATCH] refactor: video and file only support local file uri

---
 src/onebot11/constructor.ts | 19 ++++++++++++-------
 1 file changed, 12 insertions(+), 7 deletions(-)

diff --git a/src/onebot11/constructor.ts b/src/onebot11/constructor.ts
index 1de871e..69b66c6 100644
--- a/src/onebot11/constructor.ts
+++ b/src/onebot11/constructor.ts
@@ -141,15 +141,20 @@ export class OB11Constructor {
                 if (!enableLocalFile2Url) {
                     message_data.data.file = "file://" + filePath
                 } else { // 不使用本地路径
-                    if (message_data.data.url && !message_data.data.url.startsWith(IMAGE_HTTP_HOST + "/download")) {
-                        message_data.data.file = message_data.data.url
-                    } else {
-                        let {err, data} = await file2base64(filePath);
-                        if (err) {
-                            log("文件转base64失败", filePath, err)
+                    const ignoreTypes = [OB11MessageDataType.file, OB11MessageDataType.video]
+                    if (!ignoreTypes.includes(message_data.type)) {
+                        if (message_data.data.url && !message_data.data.url.startsWith(IMAGE_HTTP_HOST + "/download")) {
+                            message_data.data.file = message_data.data.url
                         } else {
-                            message_data.data.file = "base64://" + data
+                            let {err, data} = await file2base64(filePath);
+                            if (err) {
+                                log("文件转base64失败", filePath, err)
+                            } else {
+                                message_data.data.file = "base64://" + data
+                            }
                         }
+                    }else{
+                        message_data.data.file = "file://" + filePath
                     }
                 }
             }