build: v1.2.0.beta11.修复linux图链

This commit is contained in:
linyuchen
2024-05-02 18:17:33 +08:00
parent 6f08d98ec7
commit 6ded8e2f78
43 changed files with 87 additions and 65 deletions

View File

@@ -76,13 +76,15 @@ export class OB11Constructor {
resMsg.sender.role = OB11Constructor.groupMemberRole(member.role);
resMsg.sender.nickname = member.nick;
}
} else if (msg.chatType == ChatType.friend) {
}
else if (msg.chatType == ChatType.friend) {
resMsg.sub_type = 'friend';
const friend = await getFriend(msg.senderUin!);
if (friend) {
resMsg.sender.nickname = friend.nick;
}
} else if (msg.chatType == ChatType.temp) {
}
else if (msg.chatType == ChatType.temp) {
resMsg.sub_type = 'group';
const tempGroupCode = tempGroupCodeMap[msg.peerUin];
if (tempGroupCode) {
@@ -100,7 +102,8 @@ export class OB11Constructor {
if (element.textElement.atType == AtType.atAll) {
// message_data["data"]["mention"] = "all"
message_data['data']['qq'] = 'all';
} else {
}
else {
const atUid = element.textElement.atNtUid;
let atQQ = element.textElement.atUid;
if (!atQQ || atQQ === '0') {
@@ -114,14 +117,16 @@ export class OB11Constructor {
message_data['data']['qq'] = atQQ;
}
}
} else if (element.textElement) {
}
else if (element.textElement) {
message_data['type'] = 'text';
const text = element.textElement.content;
if (!text.trim()) {
continue;
}
message_data['data']['text'] = text;
} else if (element.replyElement) {
}
else if (element.replyElement) {
message_data['type'] = 'reply';
// log("收到回复消息", element.replyElement.replayMsgSeq)
try {
@@ -129,14 +134,16 @@ export class OB11Constructor {
// log("找到回复消息", replyMsg.msgShortId, replyMsg.msgId)
if (replyMsg && replyMsg.id) {
message_data['data']['id'] = replyMsg.id!.toString();
} else {
}
else {
continue;
}
} catch (e: any) {
logError('获取不到引用的消息', e.stack, element.replyElement.replayMsgSeq);
}
} else if (element.picElement) {
}
else if (element.picElement) {
message_data['type'] = 'image';
// message_data["data"]["file"] = element.picElement.sourcePath
message_data['data']['file'] = element.picElement.fileName;
@@ -145,7 +152,7 @@ export class OB11Constructor {
try {
message_data['data']['url'] = await NTQQFileApi.getImageUrl(msg);
}catch (e: any) {
} catch (e: any) {
logError('获取图片url失败', e.stack);
}
// message_data["data"]["file_id"] = element.picElement.fileUuid
@@ -163,7 +170,8 @@ export class OB11Constructor {
}).then();
// 不自动下载图片
} else if (element.videoElement || element.fileElement) {
}
else if (element.videoElement || element.fileElement) {
const videoOrFileElement = element.videoElement || element.fileElement;
const ob11MessageDataType = element.videoElement ? OB11MessageDataType.video : OB11MessageDataType.file;
message_data['type'] = ob11MessageDataType;
@@ -183,7 +191,8 @@ export class OB11Constructor {
elementType: element.videoElement ? ElementType.VIDEO : ElementType.FILE,
elementId: element.elementId
}).then();
} else if (element.pttElement) {
}
else if (element.pttElement) {
message_data['type'] = OB11MessageDataType.voice;
message_data['data']['file'] = element.pttElement.fileName;
message_data['data']['path'] = element.pttElement.filePath;
@@ -201,22 +210,27 @@ export class OB11Constructor {
elementId: element.elementId
}).then();
} else if (element.arkElement) {
}
else if (element.arkElement) {
message_data['type'] = OB11MessageDataType.json;
message_data['data']['data'] = element.arkElement.bytesData;
} else if (element.faceElement) {
}
else if (element.faceElement) {
const faceId = element.faceElement.faceIndex;
if (faceId === FaceIndex.dice) {
message_data['type'] = OB11MessageDataType.dice;
message_data['data']['result'] = element.faceElement.resultId;
} else if (faceId === FaceIndex.RPS) {
}
else if (faceId === FaceIndex.RPS) {
message_data['type'] = OB11MessageDataType.RPS;
message_data['data']['result'] = element.faceElement.resultId;
} else {
}
else {
message_data['type'] = OB11MessageDataType.face;
message_data['data']['id'] = element.faceElement.faceIndex.toString();
}
} else if (element.marketFaceElement) {
}
else if (element.marketFaceElement) {
message_data['type'] = OB11MessageDataType.mface;
message_data['data']['text'] = element.marketFaceElement.faceName;
const md5 = element.marketFaceElement.emojiId;
@@ -226,10 +240,12 @@ export class OB11Constructor {
// const url = `https://p.qpic.cn/CDN_STATIC/0/data/imgcache/htdocs/club/item/parcel/item/${dir}/${md5}/300x300.gif?max_age=31536000`;
const url = `https://gxh.vip.qq.com/club/item/parcel/item/${dir}/${md5}/raw300.gif`;
message_data['data']['url'] = url;
} else if (element.markdownElement) {
}
else if (element.markdownElement) {
message_data['type'] = OB11MessageDataType.markdown;
message_data['data']['data'] = element.markdownElement.content;
} else if (element.multiForwardMsgElement) {
}
else if (element.multiForwardMsgElement) {
message_data['type'] = OB11MessageDataType.forward;
message_data['data']['id'] = msg.msgId;
}
@@ -237,7 +253,8 @@ export class OB11Constructor {
const cqCode = encodeCQCode(message_data);
if (messagePostFormat === 'string') {
(resMsg.message as string) += cqCode;
} else (resMsg.message as OB11MessageData[]).push(message_data);
}
else (resMsg.message as OB11MessageData[]).push(message_data);
resMsg.raw_message += cqCode;
}
}
@@ -281,7 +298,8 @@ export class OB11Constructor {
// log("构造群增加事件", event)
return event;
}
} else if (groupElement.type === TipGroupElementType.ban) {
}
else if (groupElement.type === TipGroupElementType.ban) {
logDebug('收到群群员禁言提示', groupElement);
const memberUid = groupElement.shutUp!.member.uid;
const adminUid = groupElement.shutUp!.admin.uid;
@@ -291,7 +309,8 @@ export class OB11Constructor {
// log('OB11被禁言事件', adminUid);
if (memberUid) {
memberUin = (await getGroupMember(msg.peerUid, memberUid))?.uin || ''; // || (await NTQQUserApi.getUserDetailInfo(memberUid))?.uin
} else {
}
else {
memberUin = '0'; // 0表示全员禁言
if (duration > 0) {
duration = -1;
@@ -303,7 +322,8 @@ export class OB11Constructor {
const event = new OB11GroupBanEvent(parseInt(msg.peerUid), parseInt(memberUin), parseInt(adminUin), duration, sub_type);
return event;
}
} else if (groupElement.type == TipGroupElementType.kicked) {
}
else if (groupElement.type == TipGroupElementType.kicked) {
logDebug(`收到我被踢出或退群提示, 群${msg.peerUid}`, groupElement);
deleteGroup(msg.peerUid);
NTQQGroupApi.quitGroup(msg.peerUid).then();
@@ -316,7 +336,8 @@ export class OB11Constructor {
return new OB11GroupDecreaseEvent(parseInt(msg.peerUid), parseInt(selfInfo.uin), 0, 'leave');
}
}
} else if (element.fileElement) {
}
else if (element.fileElement) {
return new OB11GroupUploadNoticeEvent(parseInt(msg.peerUid), parseInt(msg.senderUin || ''), {
id: element.fileElement.fileUuid!,
name: element.fileElement.fileName,
@@ -376,7 +397,8 @@ export class OB11Constructor {
return new OB11GroupIncreaseEvent(parseInt(msg.peerUid), parseInt(invitee), parseInt(inviter), 'invite');
}
}
} else if (grayTipElement.subElementType == GrayTipElementSubType.MEMBER_NEW_TITLE) {
}
else if (grayTipElement.subElementType == GrayTipElementSubType.MEMBER_NEW_TITLE) {
const json = JSON.parse(grayTipElement.jsonGrayTipElement.jsonStr);
/*
{