mirror of
https://github.com/NapNeko/NapCatQQ.git
synced 2026-01-17 13:50:36 +00:00
feat: better fake forwardMsg logic & display
This commit is contained in:
parent
1eb5cd6237
commit
15f7cd9814
@ -56,7 +56,7 @@ export class ForwardMsgBuilder {
|
|||||||
if (!source) {
|
if (!source) {
|
||||||
source = isGroupMsg ? "群聊的聊天记录" :
|
source = isGroupMsg ? "群聊的聊天记录" :
|
||||||
msg.length
|
msg.length
|
||||||
? Array.from(new Set(msg.map(m => m.senderName)))
|
? Array.from(new Set(msg.slice(0, 4).map(m => m.senderName)))
|
||||||
.join('和') + '的聊天记录'
|
.join('和') + '的聊天记录'
|
||||||
: '聊天记录';
|
: '聊天记录';
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,4 +1,5 @@
|
|||||||
import {
|
import {
|
||||||
|
Peer,
|
||||||
ChatType,
|
ChatType,
|
||||||
ElementType,
|
ElementType,
|
||||||
MessageElement,
|
MessageElement,
|
||||||
@ -101,13 +102,13 @@ export class PacketMsgConverter {
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
rawMsgToPacketMsg(msg: RawMessage): PacketMsg {
|
rawMsgToPacketMsg(msg: RawMessage, ctxPeer: Peer): PacketMsg {
|
||||||
return {
|
return {
|
||||||
seq: +msg.msgSeq,
|
seq: +msg.msgSeq,
|
||||||
groupId: msg.chatType === ChatType.KCHATTYPEGROUP ? +msg.peerUid : undefined,
|
groupId: ctxPeer.chatType === ChatType.KCHATTYPEGROUP ? +msg.peerUid : undefined,
|
||||||
senderUid: msg.senderUid,
|
senderUid: msg.senderUid,
|
||||||
senderUin: +msg.senderUin,
|
senderUin: +msg.senderUin,
|
||||||
senderName: msg.sendNickName ?? 'QQ用户',
|
senderName: msg.sendMemberName ?? '' !== '' ? msg.sendMemberName ?? '' : msg.sendNickName ?? '' !== '' ? msg.sendNickName ?? "QQ用户" : "QQ用户",
|
||||||
time: +msg.msgTime,
|
time: +msg.msgTime,
|
||||||
msg: msg.elements.map((element) => {
|
msg: msg.elements.map((element) => {
|
||||||
if (!this.isValidElementType(element.elementType)) return null;
|
if (!this.isValidElementType(element.elementType)) return null;
|
||||||
|
|||||||
@ -204,7 +204,7 @@ export class SendMsg extends BaseAction<OB11PostSendMsg, ReturnDataType> {
|
|||||||
const msg = (await this.core.apis.MsgApi.getMsgsByMsgId(nodeMsg.Peer, [nodeMsg.MsgId])).msgList[0];
|
const msg = (await this.core.apis.MsgApi.getMsgsByMsgId(nodeMsg.Peer, [nodeMsg.MsgId])).msgList[0];
|
||||||
logger.logDebug(`handleForwardedNodesPacket[PureRaw] 开始转换 ${JSON.stringify(msg)}`);
|
logger.logDebug(`handleForwardedNodesPacket[PureRaw] 开始转换 ${JSON.stringify(msg)}`);
|
||||||
await this.core.apis.FileApi.downloadRawMsgMedia([msg]);
|
await this.core.apis.FileApi.downloadRawMsgMedia([msg]);
|
||||||
const transformedMsg = this.core.apis.PacketApi.packetSession?.packer.packetConverter.rawMsgToPacketMsg(msg);
|
const transformedMsg = this.core.apis.PacketApi.packetSession?.packer.packetConverter.rawMsgToPacketMsg(msg, msgPeer);
|
||||||
logger.logDebug(`handleForwardedNodesPacket[PureRaw] 转换为 ${JSON.stringify(transformedMsg)}`);
|
logger.logDebug(`handleForwardedNodesPacket[PureRaw] 转换为 ${JSON.stringify(transformedMsg)}`);
|
||||||
packetMsg.push(transformedMsg!);
|
packetMsg.push(transformedMsg!);
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user