mirror of
https://github.com/NapNeko/NapCatQQ.git
synced 2025-07-19 12:03:37 +00:00
chore: DownloadRichMedia
This commit is contained in:
@@ -117,40 +117,50 @@ export class NTQQFileApi {
|
|||||||
filePath: string
|
filePath: string
|
||||||
}) => Promise<unknown>,
|
}) => Promise<unknown>,
|
||||||
(fileTransNotifyInfo: OnRichMediaDownloadCompleteParams) => void
|
(fileTransNotifyInfo: OnRichMediaDownloadCompleteParams) => void
|
||||||
>(
|
>(
|
||||||
'NodeIKernelMsgService/downloadRichMedia',
|
'NodeIKernelMsgService/downloadRichMedia',
|
||||||
'NodeIKernelMsgListener/onRichMediaDownloadComplete',
|
'NodeIKernelMsgListener/onRichMediaDownloadComplete',
|
||||||
1,
|
1,
|
||||||
timeout,
|
timeout,
|
||||||
(arg: OnRichMediaDownloadCompleteParams) => {
|
(arg: OnRichMediaDownloadCompleteParams) => {
|
||||||
if (arg.msgId === msgId) {
|
if (arg.msgId === msgId) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
fileModelId: '0',
|
fileModelId: '0',
|
||||||
downloadSourceType: 0,
|
downloadSourceType: 0,
|
||||||
triggerType: 1,
|
triggerType: 1,
|
||||||
msgId: msgId,
|
msgId: msgId,
|
||||||
chatType: chatType,
|
chatType: chatType,
|
||||||
peerUid: peerUid,
|
peerUid: peerUid,
|
||||||
elementId: elementId,
|
elementId: elementId,
|
||||||
thumbSize: 0,
|
thumbSize: 0,
|
||||||
downloadType: 1,
|
downloadType: 1,
|
||||||
filePath: thumbPath,
|
filePath: thumbPath,
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
let filePath = data[1].filePath;
|
let msg = await this.core.apis.MsgApi.getMsgsByMsgId({
|
||||||
if (filePath.startsWith('\\')) {
|
guildId: '',
|
||||||
// log('filePath start with \\');
|
chatType: chatType,
|
||||||
// Mlikiowa V2.0.0 Refactor Todo
|
peerUid: peerUid,
|
||||||
//const downloadPath = sessionConfig.defaultFileDownloadPath;
|
}, [msgId]);
|
||||||
//logDebug('downloadPath', downloadPath);
|
if (msg.msgList.length === 0) {
|
||||||
//!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
return data[1].filePath;
|
||||||
filePath = path.join('', filePath);
|
|
||||||
// 下载路径是下载文件夹的相对路径
|
|
||||||
}
|
}
|
||||||
|
//获取原始消息
|
||||||
|
let FileElements = msg?.msgList[0]?.elements?.find(e => e.elementId === elementId);
|
||||||
|
if (!FileElements) {
|
||||||
|
//失败则就乱来 Todo
|
||||||
|
return data[1].filePath;
|
||||||
|
}
|
||||||
|
//从原始消息获取文件路径
|
||||||
|
let filePath =
|
||||||
|
FileElements?.fileElement?.filePath ||
|
||||||
|
FileElements?.pttElement?.filePath ||
|
||||||
|
FileElements?.videoElement?.filePath ||
|
||||||
|
FileElements?.picElement?.sourcePath;
|
||||||
return filePath;
|
return filePath;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -236,14 +246,14 @@ export class NTQQFileApi {
|
|||||||
buddyChatInfo: any[],
|
buddyChatInfo: any[],
|
||||||
discussChatInfo: any[],
|
discussChatInfo: any[],
|
||||||
groupChatInfo:
|
groupChatInfo:
|
||||||
{
|
{
|
||||||
groupCode: string,
|
groupCode: string,
|
||||||
isConf: boolean,
|
isConf: boolean,
|
||||||
hasModifyConfGroupFace: boolean,
|
hasModifyConfGroupFace: boolean,
|
||||||
hasModifyConfGroupName: boolean,
|
hasModifyConfGroupName: boolean,
|
||||||
groupName: string,
|
groupName: string,
|
||||||
remark: string
|
remark: string
|
||||||
}[],
|
}[],
|
||||||
dataLineChatInfo: any[],
|
dataLineChatInfo: any[],
|
||||||
tmpChatInfo: any[],
|
tmpChatInfo: any[],
|
||||||
msgId: string,
|
msgId: string,
|
||||||
@@ -259,10 +269,10 @@ export class NTQQFileApi {
|
|||||||
filePath: string,
|
filePath: string,
|
||||||
fileName: string,
|
fileName: string,
|
||||||
hits:
|
hits:
|
||||||
{
|
{
|
||||||
start: number,
|
start: number,
|
||||||
end: number
|
end: number
|
||||||
}[]
|
}[]
|
||||||
}[]
|
}[]
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -270,10 +280,10 @@ export class NTQQFileApi {
|
|||||||
let id = '';
|
let id = '';
|
||||||
const Listener = this.core.eventWrapper.RegisterListen<(params: OnListener) => void>
|
const Listener = this.core.eventWrapper.RegisterListen<(params: OnListener) => void>
|
||||||
(
|
(
|
||||||
'NodeIKernelSearchListener/onSearchFileKeywordsResult',
|
'NodeIKernelSearchListener/onSearchFileKeywordsResult',
|
||||||
1,
|
1,
|
||||||
20000,
|
20000,
|
||||||
(params) => id !== '' && params.searchId == id,
|
(params) => id !== '' && params.searchId == id,
|
||||||
);
|
);
|
||||||
id = await Event!(keys, 12);
|
id = await Event!(keys, 12);
|
||||||
const [ret] = (await Listener);
|
const [ret] = (await Listener);
|
||||||
|
Reference in New Issue
Block a user