mirror of
https://github.com/NapNeko/NapCatQQ.git
synced 2024-11-21 09:36:35 +00:00
chore: Ver2SendMsg
This commit is contained in:
parent
126b54ad40
commit
e65a36c517
@ -176,7 +176,7 @@ export class NTQQMsgApi {
|
|||||||
peerUid: peer.peerUid
|
peerUid: peer.peerUid
|
||||||
}, msgIds);
|
}, msgIds);
|
||||||
}
|
}
|
||||||
static async sendMsgV2(peer: Peer, msgElements: SendMessageElement[], waitComplete = true, timeout = 10000) {
|
static async sendMsg(peer: Peer, msgElements: SendMessageElement[], waitComplete = true, timeout = 10000) {
|
||||||
// function generateMsgId() {
|
// function generateMsgId() {
|
||||||
// const timestamp = Math.floor(Date.now() / 1000);
|
// const timestamp = Math.floor(Date.now() / 1000);
|
||||||
// const random = Math.floor(Math.random() * Math.pow(2, 32));
|
// const random = Math.floor(Math.random() * Math.pow(2, 32));
|
||||||
@ -215,9 +215,8 @@ export class NTQQMsgApi {
|
|||||||
});
|
});
|
||||||
return retMsg;
|
return retMsg;
|
||||||
}
|
}
|
||||||
static sendMsg(peer: Peer, msgElements: SendMessageElement[], waitComplete = true, timeout = 10000) {
|
static sendMsgEx(peer: Peer, msgElements: SendMessageElement[], waitComplete = true, timeout = 10000) {
|
||||||
console.log("sendMsg", peer, msgElements, waitComplete, timeout);
|
//return NTQQMsgApi.sendMsgV1(peer, msgElements, waitComplete, timeout);
|
||||||
return NTQQMsgApi.sendMsgV1(peer, msgElements, waitComplete, timeout);
|
|
||||||
}
|
}
|
||||||
static async sendMsgV1(peer: Peer, msgElements: SendMessageElement[], waitComplete = true, timeout = 10000) {
|
static async sendMsgV1(peer: Peer, msgElements: SendMessageElement[], waitComplete = true, timeout = 10000) {
|
||||||
let msgList = await NTQQMsgApi.getLastestMsgByUids(peer);
|
let msgList = await NTQQMsgApi.getLastestMsgByUids(peer);
|
||||||
@ -226,7 +225,7 @@ export class NTQQMsgApi {
|
|||||||
msgCurrentSeq = BigInt(msgList.msgList[0].msgSeq);
|
msgCurrentSeq = BigInt(msgList.msgList[0].msgSeq);
|
||||||
}
|
}
|
||||||
let rawMsg: RawMessage | undefined;
|
let rawMsg: RawMessage | undefined;
|
||||||
let EventListener = NTEventDispatch.RegisterListen<NodeIKernelMsgListener['onAddSendMsg']>('NodeIKernelMsgListener/onAddSendMsg', 1, timeout, (msg: RawMessage) => {
|
let onAddSendMsgListener = NTEventDispatch.RegisterListen<NodeIKernelMsgListener['onAddSendMsg']>('NodeIKernelMsgListener/onAddSendMsg', 1, timeout, (msg: RawMessage) => {
|
||||||
//console.log("msgSeq:", msgCurrentSeq.toString(), JSON.stringify(msgList.msgList[0], null, 4));
|
//console.log("msgSeq:", msgCurrentSeq.toString(), JSON.stringify(msgList.msgList[0], null, 4));
|
||||||
if (msg.peerUid == peer.peerUid && (msgCurrentSeq == 0n || msgList.msgList[0].msgSeq == msgCurrentSeq.toString())) {
|
if (msg.peerUid == peer.peerUid && (msgCurrentSeq == 0n || msgList.msgList[0].msgSeq == msgCurrentSeq.toString())) {
|
||||||
rawMsg = msg;
|
rawMsg = msg;
|
||||||
@ -234,7 +233,7 @@ export class NTQQMsgApi {
|
|||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}).catch(logError);
|
}).catch(logError);
|
||||||
let EventListener2 = NTEventDispatch.RegisterListen<NodeIKernelMsgListener['onMsgInfoListUpdate']>('NodeIKernelMsgListener/onMsgInfoListUpdate', 1, timeout,
|
let MsgInfoListUpdateListener = NTEventDispatch.RegisterListen<NodeIKernelMsgListener['onMsgInfoListUpdate']>('NodeIKernelMsgListener/onMsgInfoListUpdate', 1, timeout,
|
||||||
(msgList: RawMessage[]) => {
|
(msgList: RawMessage[]) => {
|
||||||
for (let msg of msgList) {
|
for (let msg of msgList) {
|
||||||
if (msg.peerUid == peer.peerUid && rawMsg && rawMsg.msgId == msg.msgId && msg.sendStatus == 2) {
|
if (msg.peerUid == peer.peerUid && rawMsg && rawMsg.msgId == msg.msgId && msg.sendStatus == 2) {
|
||||||
@ -246,13 +245,13 @@ export class NTQQMsgApi {
|
|||||||
}).catch(logError);
|
}).catch(logError);
|
||||||
let data = await napCatCore.session.getMsgService().sendMsg("0", peer, msgElements, new Map());
|
let data = await napCatCore.session.getMsgService().sendMsg("0", peer, msgElements, new Map());
|
||||||
//await NTEventDispatch.CallNoListenerEvent<NodeIKernelMsgService['sendMsg']>('NodeIKernelMsgService/sendMsg', timeout, "0", peer, msgElements, new Map());
|
//await NTEventDispatch.CallNoListenerEvent<NodeIKernelMsgService['sendMsg']>('NodeIKernelMsgService/sendMsg', timeout, "0", peer, msgElements, new Map());
|
||||||
await EventListener;
|
await onAddSendMsgListener;
|
||||||
if (data.result !== 0 && rawMsg) {
|
if (data.result !== 0 && rawMsg) {
|
||||||
//发送失败msgid
|
//发送失败msgid
|
||||||
await napCatCore.session.getMsgService().deleteMsg(peer, [rawMsg.msgId]);
|
await napCatCore.session.getMsgService().deleteMsg(peer, [rawMsg.msgId]);
|
||||||
throw new Error('发送消息失败');
|
throw new Error('发送消息失败');
|
||||||
}
|
}
|
||||||
await EventListener2;
|
await MsgInfoListUpdateListener;
|
||||||
// console.log("rawMsg", JSON.stringify(rawMsg, null, 4));
|
// console.log("rawMsg", JSON.stringify(rawMsg, null, 4));
|
||||||
if (rawMsg) {
|
if (rawMsg) {
|
||||||
return rawMsg;
|
return rawMsg;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user