mirror of
https://github.com/NapNeko/NapCatQQ.git
synced 2026-02-06 13:05:09 +00:00
refactor: selfMsgPost
This commit is contained in:
@@ -139,6 +139,7 @@ export class OB11Constructor {
|
||||
try {
|
||||
//做这么多都是因为NC速度太快 可能nt还没有写入数据库
|
||||
let records = msg.records.find(msgRecord => msgRecord.msgId === element.replyElement.sourceMsgIdInRecords);
|
||||
|
||||
if (!records) {
|
||||
throw new Error('Record筛选失败');
|
||||
}
|
||||
@@ -147,18 +148,12 @@ export class OB11Constructor {
|
||||
peerUid: msg.peerUid,
|
||||
guildId: '',
|
||||
};
|
||||
|
||||
let replyMsg: RawMessage | undefined;
|
||||
replyMsg = (await NTQQMsgApi.getMsgsBySeqAndCount({ peerUid: msg.peerUid, guildId: '', chatType: msg.chatType }, element.replyElement.replayMsgSeq, 1, true, true)).msgList[0];
|
||||
|
||||
if (!replyMsg || replyMsg.msgRandom !== records.msgRandom) {
|
||||
//logWarn(`消息比对失败,准备重新尝试 Info: CurrentMsgRandom:${replyMsg?.msgRandom}/TargetMsgRandom:${records.msgRandom}`);
|
||||
await sleep(700);
|
||||
replyMsg = (await NTQQMsgApi.getMsgsByMsgId(peer, MessageUnique.getRecentMsgIds(peer, 50))).msgList.find((msg) => msg.msgRandom == records.msgRandom && msg.msgSeq == element.replyElement.replayMsgSeq);
|
||||
}
|
||||
if (!replyMsg || replyMsg.msgRandom !== records.msgRandom) {
|
||||
//logWarn(`消息比对失败,准备重新尝试 Info: CurrentMsgRandom:${replyMsg?.msgRandom}/TargetMsgRandom:${records.msgRandom}`);
|
||||
await sleep(700);
|
||||
replyMsg = (await NTQQMsgApi.queryMsgsWithFilterExWithSeq(
|
||||
peer,
|
||||
element.replyElement.replayMsgSeq,
|
||||
@@ -166,15 +161,10 @@ export class OB11Constructor {
|
||||
records.senderUid
|
||||
)).msgList[0];
|
||||
}
|
||||
|
||||
// 最后尝试第一次的方法
|
||||
if (!replyMsg || replyMsg.msgRandom !== records.msgRandom) {
|
||||
//logWarn(`消息比对失败,准备重新尝试 Info: CurrentMsgRandom:${replyMsg?.msgRandom}/TargetMsgRandom:${records.msgRandom}`);
|
||||
await sleep(700);
|
||||
replyMsg = (await NTQQMsgApi.getMsgsBySeqAndCount({ peerUid: msg.peerUid, guildId: '', chatType: msg.chatType }, element.replyElement.replayMsgSeq, 1, true, true)).msgList[0];
|
||||
replyMsg = (await NTQQMsgApi.getSingleMsg(peer, element.replyElement.replayMsgSeq)).msgList[0];
|
||||
}
|
||||
if (!replyMsg || replyMsg.msgRandom !== records.msgRandom) {
|
||||
//logWarn(`消息比对失败,准备重新尝试 Info: CurrentMsgRandom:${replyMsg?.msgRandom}/TargetMsgRandom:${records.msgRandom}`);
|
||||
throw new Error('回复消息消息验证失败')
|
||||
}
|
||||
if (replyMsg) {
|
||||
|
||||
Reference in New Issue
Block a user