mirror of
https://github.com/LLOneBot/LLOneBot.git
synced 2024-11-22 01:56:33 +00:00
refactor: parse video|file element
This commit is contained in:
src
@@ -218,7 +218,6 @@ function onLoad() {
|
||||
parseInt(operatorId),
|
||||
oriMessage.msgShortId
|
||||
)
|
||||
|
||||
postOB11Event(groupRecallEvent);
|
||||
}
|
||||
// 不让入库覆盖原来消息,不然就获取不到撤回的消息内容了
|
||||
|
@@ -19,7 +19,7 @@ import {
|
||||
SelfInfo,
|
||||
Sex,
|
||||
TipGroupElementType,
|
||||
User
|
||||
User, VideoElement
|
||||
} from '../ntqqapi/types';
|
||||
import {getFriend, getGroupMember, selfInfo, tempGroupCodeMap} from '../common/data';
|
||||
import {EventType} from "./event/OB11BaseEvent";
|
||||
@@ -157,38 +157,25 @@ export class OB11Constructor {
|
||||
}).then()
|
||||
// 不在自动下载图片
|
||||
|
||||
} else if (element.videoElement) {
|
||||
message_data["type"] = OB11MessageDataType.video;
|
||||
message_data["data"]["file"] = element.videoElement.fileName
|
||||
message_data["data"]["path"] = element.videoElement.filePath
|
||||
message_data["data"]["file_id"] = element.videoElement.fileUuid
|
||||
message_data["data"]["file_size"] = element.videoElement.fileSize
|
||||
dbUtil.addFileCache(element.videoElement.fileUuid, {
|
||||
} else if (element.videoElement || element.fileElement) {
|
||||
const videoOrFileElement = element.videoElement || element.fileElement
|
||||
const ob11MessageDataType = element.videoElement ? OB11MessageDataType.video : OB11MessageDataType.file
|
||||
message_data["type"] = ob11MessageDataType;
|
||||
message_data["data"]["file"] = videoOrFileElement.fileName
|
||||
message_data["data"]["path"] = videoOrFileElement.filePath
|
||||
message_data["data"]["file_id"] = videoOrFileElement.fileUuid
|
||||
message_data["data"]["file_size"] = videoOrFileElement.fileSize
|
||||
dbUtil.addFileCache(videoOrFileElement.fileUuid, {
|
||||
msgId: msg.msgId,
|
||||
fileName: element.videoElement.fileName,
|
||||
filePath: element.videoElement.filePath,
|
||||
fileSize: element.videoElement.fileSize,
|
||||
fileName: videoOrFileElement.fileName,
|
||||
filePath: videoOrFileElement.filePath,
|
||||
fileSize: videoOrFileElement.fileSize,
|
||||
downloadFunc: async () => {
|
||||
await NTQQFileApi.downloadMedia(msg.msgId, msg.chatType, msg.peerUid,
|
||||
element.elementId, element.videoElement.thumbPath.get(0), element.videoElement.filePath)
|
||||
}
|
||||
}).then()
|
||||
// 怎么拿到url呢
|
||||
} else if (element.fileElement) {
|
||||
message_data["type"] = OB11MessageDataType.file;
|
||||
message_data["data"]["file"] = element.fileElement.fileName
|
||||
// message_data["data"]["path"] = element.fileElement.filePath
|
||||
message_data["data"]["file_id"] = element.fileElement.fileUuid
|
||||
message_data["data"]["file_size"] = element.fileElement.fileSize
|
||||
dbUtil.addFileCache(element.fileElement.fileUuid, {
|
||||
msgId: msg.msgId,
|
||||
fileName: element.fileElement.fileName,
|
||||
fileUuid: element.fileElement.fileUuid,
|
||||
filePath: element.fileElement.filePath,
|
||||
fileSize: element.fileElement.fileSize,
|
||||
downloadFunc: async () => {
|
||||
await NTQQFileApi.downloadMedia(msg.msgId, msg.chatType, msg.peerUid,
|
||||
element.elementId, null, element.fileElement.filePath)
|
||||
await NTQQFileApi.downloadMedia(
|
||||
msg.msgId, msg.chatType, msg.peerUid,
|
||||
element.elementId,
|
||||
ob11MessageDataType == OB11MessageDataType.video ? (videoOrFileElement as VideoElement).thumbPath.get(0) : null,
|
||||
videoOrFileElement.filePath)
|
||||
}
|
||||
}).then()
|
||||
// 怎么拿到url呢
|
||||
@@ -235,8 +222,9 @@ export class OB11Constructor {
|
||||
return;
|
||||
}
|
||||
if (msg.senderUin){
|
||||
const member = await getGroupMember(msg.peerUid, msg.senderUin);
|
||||
let member = await getGroupMember(msg.peerUid, msg.senderUin);
|
||||
if (member && member.cardName !== msg.sendMemberName) {
|
||||
member.cardName = msg.sendMemberName;
|
||||
return new OB11GroupCardEvent(parseInt(msg.peerUid), parseInt(msg.senderUin), msg.sendMemberName, member.cardName)
|
||||
}
|
||||
}
|
||||
|
@@ -108,6 +108,7 @@ export enum OB11MessageDataType {
|
||||
reply = "reply",
|
||||
json = "json",
|
||||
face = "face",
|
||||
mface = "face", // 商城表情
|
||||
node = "node", // 合并转发消息
|
||||
}
|
||||
|
||||
|
@@ -1,6 +1,7 @@
|
||||
/// <reference path="../global.d.ts" />
|
||||
import { CheckVersion } from '../common/types';
|
||||
import {SettingButton, SettingItem, SettingList, SettingSwitch, SettingSelect} from './components';
|
||||
// @ts-ignore
|
||||
import StyleRaw from './style.css?raw';
|
||||
|
||||
// 打开设置界面时触发
|
||||
@@ -118,7 +119,7 @@ async function onSettingWindowCreated(view: Element) {
|
||||
),
|
||||
SettingItem(
|
||||
'使用 Base64 编码获取文件',
|
||||
'开启后,调用 /get_image、/get_record 时,获取不到 url 时添加一个 Base64 字段',
|
||||
'调用 /get_image、/get_record、/get_file 时,没有 url 时添加 Base64 字段',
|
||||
SettingSwitch('enableLocalFile2Url', config.enableLocalFile2Url),
|
||||
),
|
||||
SettingItem(
|
||||
|
Reference in New Issue
Block a user