From ba123236e525f62b6335bb4ec9aa1e12b0926a61 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=89=8B=E7=93=9C=E4=B8=80=E5=8D=81=E9=9B=AA?= Date: Mon, 22 Jul 2024 18:17:03 +0800 Subject: [PATCH] feat:msgid generate --- src/core/src/apis/msg.ts | 14 +++++++++++--- src/core/src/services/NodeIKernelMSFService.ts | 3 +++ src/core/src/wrapper.ts | 3 ++- 3 files changed, 16 insertions(+), 4 deletions(-) create mode 100644 src/core/src/services/NodeIKernelMSFService.ts diff --git a/src/core/src/apis/msg.ts b/src/core/src/apis/msg.ts index 5d71d23e..9b9244a7 100644 --- a/src/core/src/apis/msg.ts +++ b/src/core/src/apis/msg.ts @@ -187,11 +187,12 @@ export class NTQQMsgApi { }; await waitLastSend(); - return new Promise((resolve, reject) => { + return new Promise(async (resolve, reject) => { let completed = false; let sentMessage: RawMessage | null = null; const sendSuccessCBId = randomUUID() as string; sendSuccessCBMap[sendSuccessCBId] = (msgRecord: RawMessage) => { + console.log(msgRecord); if (msgRecord.msgId === sentMessage?.msgId) { if (msgRecord.sendStatus === 2) { delete sendSuccessCBMap[sendSuccessCBId]; @@ -214,10 +215,17 @@ export class NTQQMsgApi { delete sendSuccessCBMap[sendSuccessCBId]; reject('发送超时'); }, timeout); - const result = napCatCore.session.getMsgService().sendMsg('0', peer, msgElements, new Map()); + let msgId = await NTQQMsgApi.getMsgUnique(await NTQQMsgApi.getServerTime()); + console.log(msgId); + const result = napCatCore.session.getMsgService().sendMsg(msgId, peer, msgElements, new Map()); }); } - + static async getMsgUnique(time: string) { + return napCatCore.session.getMsgService().getMsgUniqueId(time); + } + static async getServerTime() { + return napCatCore.session.getMSFService().getServerTime(); + } static async forwardMsg(srcPeer: Peer, destPeer: Peer, msgIds: string[]) { return napCatCore.session.getMsgService().forwardMsg(msgIds, srcPeer, [destPeer], new Map()); } diff --git a/src/core/src/services/NodeIKernelMSFService.ts b/src/core/src/services/NodeIKernelMSFService.ts new file mode 100644 index 00000000..fe63ed60 --- /dev/null +++ b/src/core/src/services/NodeIKernelMSFService.ts @@ -0,0 +1,3 @@ +export interface NodeIKernelMSFService { + getServerTime(): string; +} \ No newline at end of file diff --git a/src/core/src/wrapper.ts b/src/core/src/wrapper.ts index 33f8ea54..19f2a6e5 100644 --- a/src/core/src/wrapper.ts +++ b/src/core/src/wrapper.ts @@ -40,6 +40,7 @@ import { NodeIKernelUnitedConfigService } from './services/NodeIKernelUnitedConf import { NodeIKernelSearchService } from './services/NodeIKernelSearchService'; import { NodeIKernelCollectionService } from './services/NodeIKernelCollectionService'; import { NodeIKernelRecentContactService } from './services/NodeIKernelRecentContactService'; +import { NodeIKernelMSFService } from './services/NodeIKernelMSFService'; const __filename = fileURLToPath(import.meta.url); @@ -231,7 +232,7 @@ export interface NodeIQQNTWrapperSession { getLockService(): unknown; - getMSFService(): unknown + getMSFService(): NodeIKernelMSFService; getGuildHotUpdateService(): unknown;