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([