build: 2.4.1

This commit is contained in:
手瓜一十雪 2024-09-09 09:19:23 +08:00
parent 2c54aee63e
commit 919705966c
10 changed files with 35 additions and 22 deletions

View File

@ -4,7 +4,7 @@
"name": "NapCatQQ", "name": "NapCatQQ",
"slug": "NapCat.Framework", "slug": "NapCat.Framework",
"description": "高性能的 OneBot 11 协议实现", "description": "高性能的 OneBot 11 协议实现",
"version": "2.4.0", "version": "2.4.1",
"icon": "./logo.png", "icon": "./logo.png",
"authors": [ "authors": [
{ {

View File

@ -2,7 +2,7 @@
"name": "napcat", "name": "napcat",
"private": true, "private": true,
"type": "module", "type": "module",
"version": "2.4.0", "version": "2.4.1",
"scripts": { "scripts": {
"build:framework": "vite build --mode framework", "build:framework": "vite build --mode framework",
"build:shell": "vite build --mode shell", "build:shell": "vite build --mode shell",

View File

@ -1 +1 @@
export const napCatVersion = '2.4.0'; export const napCatVersion = '2.4.1';

View File

@ -32,10 +32,10 @@ export class NTQQGroupApi {
for (const group of this.groups) { for (const group of this.groups) {
this.groupCache.set(group.groupCode, group); this.groupCache.set(group.groupCode, group);
} }
let text = await this.context.session.getMsgService().sendSsoCmdReqByContend( // let text = await this.context.session.getMsgService().sendSsoCmdReqByContend(
'LightAppSvc.mini_app_share.AdaptShareInfo', // 'LightAppSvc.mini_app_share.AdaptShareInfo',
JSON.stringify({ data: 'test' })); // JSON.stringify({ data: 'test' }));
console.log(text); // console.log(text);
this.context.logger.logDebug(`加载${this.groups.length}个群组缓存完成`); this.context.logger.logDebug(`加载${this.groups.length}个群组缓存完成`);
} }

View File

@ -19,6 +19,7 @@ import { OB11GroupPokeEvent } from '@/onebot/event/notice/OB11PokeEvent';
import { OB11GroupEssenceEvent } from '@/onebot/event/notice/OB11GroupEssenceEvent'; import { OB11GroupEssenceEvent } from '@/onebot/event/notice/OB11GroupEssenceEvent';
import { OB11GroupTitleEvent } from '@/onebot/event/notice/OB11GroupTitleEvent'; import { OB11GroupTitleEvent } from '@/onebot/event/notice/OB11GroupTitleEvent';
import { FileNapCatOneBotUUID } from '@/common/helper'; import { FileNapCatOneBotUUID } from '@/common/helper';
import { pathToFileURL } from 'node:url';
export class OneBotGroupApi { export class OneBotGroupApi {
obContext: NapCatOneBot11Adapter; obContext: NapCatOneBot11Adapter;
@ -77,7 +78,8 @@ export class OneBotGroupApi {
id: FileNapCatOneBotUUID.encode({ id: FileNapCatOneBotUUID.encode({
chatType: ChatType.KCHATTYPEGROUP, chatType: ChatType.KCHATTYPEGROUP,
peerUid: msg.peerUid, peerUid: msg.peerUid,
}, msg.msgId, element.elementId, element.fileElement.fileName), }, msg.msgId, element.elementId, "."+element.fileElement.fileName),
url: pathToFileURL(element.fileElement.filePath),
name: element.fileElement.fileName, name: element.fileElement.fileName,
size: parseInt(element.fileElement.fileSize), size: parseInt(element.fileElement.fileSize),
busid: element.fileElement.fileBizId || 0, busid: element.fileElement.fileBizId || 0,

View File

@ -1,5 +1,6 @@
import { FileNapCatOneBotUUID } from '@/common/helper'; import { FileNapCatOneBotUUID } from '@/common/helper';
import { MessageUnique } from '@/common/message-unique'; import { MessageUnique } from '@/common/message-unique';
import { pathToFileURL } from 'node:url';
import { import {
AtType, AtType,
ChatType, ChatType,
@ -106,7 +107,7 @@ export class OneBotMsgApi {
peerUid: msg.peerUid, peerUid: msg.peerUid,
guildId: '', guildId: '',
}; };
const encodedFileId = FileNapCatOneBotUUID.encode(peer, msg.msgId, elementWrapper.elementId, element.fileName); const encodedFileId = FileNapCatOneBotUUID.encode(peer, msg.msgId, elementWrapper.elementId, "."+element.fileName);
return { return {
type: OB11MessageDataType.image, type: OB11MessageDataType.image,
data: { data: {
@ -114,6 +115,7 @@ export class OneBotMsgApi {
sub_type: element.picSubType, sub_type: element.picSubType,
file_id: encodedFileId, file_id: encodedFileId,
url: await this.core.apis.FileApi.getImageUrl(element), url: await this.core.apis.FileApi.getImageUrl(element),
path: element.filePath,
file_size: element.fileSize, file_size: element.fileSize,
file_unique: element.fileName file_unique: element.fileName
}, },
@ -135,8 +137,8 @@ export class OneBotMsgApi {
data: { data: {
file: element.fileName, file: element.fileName,
path: element.filePath, path: element.filePath,
url: element.filePath, url: pathToFileURL(element.filePath),
file_id: FileNapCatOneBotUUID.encode(peer, msg.msgId, elementWrapper.elementId, element.fileName), file_id: FileNapCatOneBotUUID.encode(peer, msg.msgId, elementWrapper.elementId, "."+element.fileName),
file_size: element.fileSize, file_size: element.fileSize,
file_unique: element.fileName, file_unique: element.fileName,
}, },
@ -175,13 +177,16 @@ export class OneBotMsgApi {
peerUid: msg.peerUid, peerUid: msg.peerUid,
guildId: '', guildId: '',
}; };
const { emojiId } = _;
const dir = emojiId.substring(0, 2);
const url = `https://gxh.vip.qq.com/club/item/parcel/item/${dir}/${emojiId}/raw300.gif`
return { return {
type: OB11MessageDataType.image, type: OB11MessageDataType.image,
data: { data: {
file: 'marketface', file: 'marketface',
file_id: FileNapCatOneBotUUID.encode(peer, msg.msgId, elementWrapper.elementId, ".jpg"), file_id: FileNapCatOneBotUUID.encode(peer, msg.msgId, elementWrapper.elementId, "."+_.key+".jpg"),
path: elementWrapper.elementId, path: elementWrapper.elementId,
url: elementWrapper.elementId, url: url,
file_unique: _.key file_unique: _.key
}, },
}; };
@ -257,14 +262,14 @@ export class OneBotMsgApi {
if (!videoDownUrl) { if (!videoDownUrl) {
videoDownUrl = element.filePath; videoDownUrl = element.filePath;
} }
const fileCode = FileNapCatOneBotUUID.encode(peer, msg.msgId, elementWrapper.elementId, "."+element.fileName)
return { return {
type: OB11MessageDataType.video, type: OB11MessageDataType.video,
data: { data: {
file: element.fileName, file: fileCode,
path: videoDownUrl, path: videoDownUrl,
url: videoDownUrl, url: videoDownUrl ?? pathToFileURL(element.filePath),
file_id: FileNapCatOneBotUUID.encode(peer, msg.msgId, elementWrapper.elementId, element.fileName), file_id: fileCode,
file_size: element.fileSize, file_size: element.fileSize,
file_unique: element.fileName, file_unique: element.fileName,
}, },
@ -277,14 +282,16 @@ export class OneBotMsgApi {
peerUid: msg.peerUid, peerUid: msg.peerUid,
guildId: '', guildId: '',
}; };
const fileCode = FileNapCatOneBotUUID.encode(peer, msg.msgId, elementWrapper.elementId, element.fileName); const fileCode = FileNapCatOneBotUUID.encode(peer, msg.msgId, elementWrapper.elementId, "."+element.fileName);
return { return {
type: OB11MessageDataType.voice, type: OB11MessageDataType.voice,
data: { data: {
file: fileCode, file: fileCode,
path: element.filePath, path: element.filePath,
url: pathToFileURL(element.filePath),
file_id: fileCode, file_id: fileCode,
file_size: element.fileSize, file_size: element.fileSize,
file_unique: element.fileName
}, },
}; };
}, },
@ -793,18 +800,20 @@ export class OneBotMsgApi {
) { ) {
const isBlankUrl = !inputdata.url || inputdata.url === ''; const isBlankUrl = !inputdata.url || inputdata.url === '';
const isBlankFile = !inputdata.file || inputdata.file === ''; const isBlankFile = !inputdata.file || inputdata.file === '';
const isBlankPath = !inputdata.path || inputdata.path === '';
if (isBlankUrl && isBlankFile) { if (isBlankUrl && isBlankFile) {
this.core.context.logger.logError('文件消息缺少参数', inputdata); this.core.context.logger.logError('文件消息缺少参数', inputdata);
throw Error('文件消息缺少参数'); throw Error('文件消息缺少参数');
} }
const fileOrUrl = (isBlankUrl ? inputdata.file : inputdata.url) ?? ''; //path->url->file
const realUri = (!isBlankUrl ? inputdata.url :(!isBlankPath ? inputdata.path:inputdata.file ))??'';
const { const {
path, path,
isLocal, isLocal,
fileName, fileName,
errMsg, errMsg,
success, success,
} = (await uri2local(this.core.NapCatTempPath, fileOrUrl)); } = (await uri2local(this.core.NapCatTempPath, realUri));
if (!success) { if (!success) {
this.core.context.logger.logError('文件下载失败', errMsg); this.core.context.logger.logError('文件下载失败', errMsg);

View File

@ -6,6 +6,7 @@ export interface GroupUploadFile {
name: string, name: string,
size: number, size: number,
busid: number, busid: number,
url:string;
} }
export class OB11GroupUploadNoticeEvent extends OB11GroupNoticeEvent { export class OB11GroupUploadNoticeEvent extends OB11GroupNoticeEvent {

View File

@ -84,6 +84,7 @@ export interface OB11MessageText {
export interface OB11MessageFileBase { export interface OB11MessageFileBase {
data: { data: {
path?: string;
thumb?: string; thumb?: string;
name?: string; name?: string;
file: string, file: string,

View File

@ -30,7 +30,7 @@ async function onSettingWindowCreated(view: Element) {
SettingItem( SettingItem(
'<span id="napcat-update-title">Napcat</span>', '<span id="napcat-update-title">Napcat</span>',
undefined, undefined,
SettingButton('V2.4.0', 'napcat-update-button', 'secondary'), SettingButton('V2.4.1', 'napcat-update-button', 'secondary'),
), ),
]), ]),
SettingList([ SettingList([

View File

@ -164,7 +164,7 @@ async function onSettingWindowCreated(view) {
SettingItem( SettingItem(
'<span id="napcat-update-title">Napcat</span>', '<span id="napcat-update-title">Napcat</span>',
void 0, void 0,
SettingButton("V2.4.0", "napcat-update-button", "secondary") SettingButton("V2.4.1", "napcat-update-button", "secondary")
) )
]), ]),
SettingList([ SettingList([