diff --git a/manifest.json b/manifest.json
index 0783af3a..185bfc89 100644
--- a/manifest.json
+++ b/manifest.json
@@ -4,7 +4,7 @@
"name": "NapCatQQ",
"slug": "NapCat.Framework",
"description": "高性能的 OneBot 11 协议实现",
- "version": "2.0.24",
+ "version": "2.0.25",
"icon": "./logo.png",
"authors": [
{
diff --git a/package.json b/package.json
index 6f193759..461335bc 100644
--- a/package.json
+++ b/package.json
@@ -2,7 +2,7 @@
"name": "napcat",
"private": true,
"type": "module",
- "version": "2.0.24",
+ "version": "2.0.25",
"scripts": {
"build:framework": "vite build --mode framework",
"build:shell": "vite build --mode shell",
diff --git a/src/common/framework/napcat.ts b/src/common/framework/napcat.ts
index b673111d..b0add73f 100644
--- a/src/common/framework/napcat.ts
+++ b/src/common/framework/napcat.ts
@@ -2,7 +2,7 @@ import path, { dirname } from 'path';
import { fileURLToPath } from 'url';
import fs from 'fs';
-export const napcat_version = '2.0.24';
+export const napcat_version = '2.0.25';
export class NapCatPathWrapper {
binaryPath: string;
diff --git a/src/common/utils/file.ts b/src/common/utils/file.ts
index 95e4ee31..bd201465 100644
--- a/src/common/utils/file.ts
+++ b/src/common/utils/file.ts
@@ -232,14 +232,21 @@ export async function uri2local(dir: string, uri: string, filename: string | und
//接下来都要有文件名
if (!filename) filename = randomUUID();
//解析Http和Https协议
+
if (UriType == FileUriType.Remote) {
+ const pathInfo = path.parse(decodeURIComponent(new URL(HandledUri).pathname));
+ if (pathInfo.name) {
+ filename = pathInfo.name;
+ if (pathInfo.ext) {
+ filename += pathInfo.ext;
+ }
+ }
+ filename = filename.replace(/[/\\:*?"<>|]/g, '_');
const fileExt = path.extname(HandledUri);
-
- const fileName = filename + fileExt;
- const filePath = path.join(dir, fileName);
+ const filePath = path.join(dir, filename);
const buffer = await httpDownload(HandledUri);
fs.writeFileSync(filePath, buffer);
- return { success: true, errMsg: '', fileName: fileName, ext: fileExt, path: filePath, isLocal: true };
+ return { success: true, errMsg: '', fileName: filename, ext: fileExt, path: filePath, isLocal: true };
}
//解析Base64
if (UriType == FileUriType.Base64) {
diff --git a/src/onebot/action/msg/SendMsg/create-send-elements.ts b/src/onebot/action/msg/SendMsg/create-send-elements.ts
index de5861db..a702a602 100644
--- a/src/onebot/action/msg/SendMsg/create-send-elements.ts
+++ b/src/onebot/action/msg/SendMsg/create-send-elements.ts
@@ -56,7 +56,7 @@ const _handlers: {
if (atQQ === 'all') return SendMsgElementConstructor.at(coreContext, atQQ, atQQ, AtType.atAll, '全体成员');
// then the qq is a group member
- // Mlikiowa V2.0.24 Refactor Todo
+ // Mlikiowa V2.0.25 Refactor Todo
const uid = await coreContext.apis.UserApi.getUidByUinV2(`${atQQ}`);
if (!uid) throw new Error('Get Uid Error');
return SendMsgElementConstructor.at(coreContext, atQQ, uid, AtType.atUser, '');
@@ -161,7 +161,7 @@ const _handlers: {
} else {
postData = data;
}
- // Mlikiowa V2.0.24 Refactor Todo
+ // Mlikiowa V2.0.25 Refactor Todo
const signUrl = obContext.configLoader.configData.musicSignUrl;
if (!signUrl) {
if (data.type === 'qq') {
diff --git a/src/onebot/helper/data.ts b/src/onebot/helper/data.ts
index be4589cf..4c5760d1 100644
--- a/src/onebot/helper/data.ts
+++ b/src/onebot/helper/data.ts
@@ -417,7 +417,7 @@ export class OB11Constructor {
return;
}
//log("group msg", msg);
- // Mlikiowa V2.0.24 Refactor Todo
+ // Mlikiowa V2.0.25 Refactor Todo
// if (msg.senderUin && msg.senderUin !== '0') {
// const member = await getGroupMember(msg.peerUid, msg.senderUin);
// if (member && member.cardName !== msg.sendMemberName) {
diff --git a/src/webui/ui/NapCat.ts b/src/webui/ui/NapCat.ts
index 74f4c0f1..54f9194b 100644
--- a/src/webui/ui/NapCat.ts
+++ b/src/webui/ui/NapCat.ts
@@ -30,7 +30,7 @@ async function onSettingWindowCreated(view: Element) {
SettingItem(
'Napcat',
undefined,
- SettingButton('V2.0.24', 'napcat-update-button', 'secondary'),
+ SettingButton('V2.0.25', 'napcat-update-button', 'secondary'),
),
]),
SettingList([
diff --git a/static/assets/renderer.js b/static/assets/renderer.js
index 9461eb44..51cfc68d 100644
--- a/static/assets/renderer.js
+++ b/static/assets/renderer.js
@@ -164,7 +164,7 @@ async function onSettingWindowCreated(view) {
SettingItem(
'Napcat',
void 0,
- SettingButton("V2.0.24", "napcat-update-button", "secondary")
+ SettingButton("V2.0.25", "napcat-update-button", "secondary")
)
]),
SettingList([