mirror of
https://github.com/LLOneBot/LLOneBot.git
synced 2024-11-22 01:56:33 +00:00
fix: reply message segment
This commit is contained in:
parent
02e5222f92
commit
fffa664400
@ -290,4 +290,22 @@ export class NTQQMsgApi extends Service {
|
|||||||
}
|
}
|
||||||
}, null])
|
}, null])
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async queryMsgsWithFilterExBySeq(peer: Peer, msgSeq: string, filterMsgTime: string, filterSendersUid: string[]) {
|
||||||
|
return await invoke('nodeIKernelMsgService/queryMsgsWithFilterEx', [{
|
||||||
|
msgId: '0',
|
||||||
|
msgTime: '0',
|
||||||
|
msgSeq,
|
||||||
|
params: {
|
||||||
|
chatInfo: peer,
|
||||||
|
filterMsgType: [],
|
||||||
|
filterSendersUid,
|
||||||
|
filterMsgToTime: filterMsgTime,
|
||||||
|
filterMsgFromTime: filterMsgTime,
|
||||||
|
isReverseOrder: true,
|
||||||
|
isIncludeCurrent: true,
|
||||||
|
pageLimit: 1,
|
||||||
|
}
|
||||||
|
}, null])
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -480,6 +480,8 @@ export interface RawMessage {
|
|||||||
sourceMsgIsIncPic: boolean // 原消息是否有图片
|
sourceMsgIsIncPic: boolean // 原消息是否有图片
|
||||||
sourceMsgText: string
|
sourceMsgText: string
|
||||||
replayMsgSeq: string // 源消息的msgSeq,可以通过这个找到源消息的msgId
|
replayMsgSeq: string // 源消息的msgSeq,可以通过这个找到源消息的msgId
|
||||||
|
senderUidStr: string
|
||||||
|
replyMsgTime: string
|
||||||
}
|
}
|
||||||
textElement: {
|
textElement: {
|
||||||
atType: AtType
|
atType: AtType
|
||||||
|
@ -155,13 +155,14 @@ export namespace OB11Entities {
|
|||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
const records = msg.records.find(msgRecord => msgRecord.msgId === replyElement.sourceMsgIdInRecords)
|
const records = msg.records.find(msgRecord => msgRecord.msgId === replyElement.sourceMsgIdInRecords)
|
||||||
if (!records) throw new Error('找不到回复消息')
|
if (!records || !replyElement.replyMsgTime || !replyElement.senderUidStr) {
|
||||||
let replyMsg = (await ctx.ntMsgApi.getMsgsBySeqAndCount(peer, replyElement.replayMsgSeq, 1, true, true)).msgList[0]
|
throw new Error('找不到回复消息')
|
||||||
if (!replyMsg || records.msgRandom !== replyMsg.msgRandom) {
|
|
||||||
replyMsg = (await ctx.ntMsgApi.getSingleMsg(peer, replyElement.replayMsgSeq)).msgList[0]
|
|
||||||
}
|
}
|
||||||
|
const replyMsg = (await ctx.ntMsgApi.queryMsgsWithFilterExBySeq(peer, replyElement.replayMsgSeq, replyElement.replyMsgTime, [replyElement.senderUidStr]))
|
||||||
|
.msgList.find(msg => msg.msgRandom === records.msgRandom)
|
||||||
|
|
||||||
// 284840486: 合并消息内侧 消息具体定位不到
|
// 284840486: 合并消息内侧 消息具体定位不到
|
||||||
if ((!replyMsg || records.msgRandom !== replyMsg.msgRandom) && msg.peerUin !== '284840486') {
|
if (!replyMsg && msg.peerUin !== '284840486') {
|
||||||
throw new Error('回复消息消息验证失败')
|
throw new Error('回复消息消息验证失败')
|
||||||
}
|
}
|
||||||
messageSegment = {
|
messageSegment = {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user