diff --git a/src/core/listeners/NodeIKernelMsgListener.ts b/src/core/listeners/NodeIKernelMsgListener.ts index d9afb5ee..dcc75fde 100644 --- a/src/core/listeners/NodeIKernelMsgListener.ts +++ b/src/core/listeners/NodeIKernelMsgListener.ts @@ -259,7 +259,7 @@ export class NodeIKernelMsgListener { } - onRecvSysMsg(arrayList: unknown) { + onRecvSysMsg(arrayList: Array) { } diff --git a/src/core/listeners/NodeIKernelRecentContactListener.ts b/src/core/listeners/NodeIKernelRecentContactListener.ts index 57573276..4faad7be 100644 --- a/src/core/listeners/NodeIKernelRecentContactListener.ts +++ b/src/core/listeners/NodeIKernelRecentContactListener.ts @@ -1,9 +1,9 @@ -export class NodeIKernelRecentContactListener { +export class NodeIKernelRecentContactListener { onDeletedContactsNotify(...args: unknown[]) { } - onRecentContactNotification(...args: unknown[]) { + onRecentContactNotification(msgList: any, arg0: { msgListUnreadCnt: string }, arg1: number) { } diff --git a/src/onebot/index.ts b/src/onebot/index.ts index 5b44e47b..5e42a92a 100644 --- a/src/onebot/index.ts +++ b/src/onebot/index.ts @@ -37,6 +37,7 @@ import { OB11FriendRecallNoticeEvent } from '@/onebot/event/notice/OB11FriendRec import { OB11GroupRecallNoticeEvent } from '@/onebot/event/notice/OB11GroupRecallNoticeEvent'; import { LRUCache } from '@/common/utils/LRU'; import { NT2GroupEvent, NT2PrivateEvent } from './helper'; +import { NodeIKernelRecentContactListener } from '@/core/listeners/NodeIKernelRecentContactListener'; //OneBot实现类 export class NapCatOneBot11Adapter { @@ -115,6 +116,7 @@ export class NapCatOneBot11Adapter { this.initMsgListener(); this.initBuddyListener(); this.initGroupListener(); + //this.initRecentContactListener(); await WebUiDataRuntime.setQQLoginUin(selfInfo.uin.toString()); await WebUiDataRuntime.setQQLoginStatus(true); @@ -125,6 +127,16 @@ export class NapCatOneBot11Adapter { await this.reloadNetwork(prev, newConfig); }); } + initRecentContactListener() { + const recentContactListener = new NodeIKernelRecentContactListener(); + recentContactListener.onRecentContactNotification = function (msgList: any[], arg0: { msgListUnreadCnt: string }, arg1: number) { + msgList.forEach((msg) => { + if (msg.chatType == ChatType.KCHATTYPEGROUP) { + // log("recent contact", msgList, arg0, arg1); + } + }); + } + } private async reloadNetwork(prev: OB11Config, now: OB11Config) { const serviceInfo = ` @@ -220,6 +232,9 @@ export class NapCatOneBot11Adapter { private initMsgListener() { const msgListener = new NodeIKernelMsgListener(); + msgListener.onRecvSysMsg = msg => { + //console.log('onRecvSysMsg', Buffer.from(msg).toString('hex')); + } msgListener.onInputStatusPush = async data => { const uin = await this.core.apis.UserApi.getUinByUidV2(data.fromUin); this.context.logger.log(`[Notice] [输入状态] ${uin} ${data.statusText}`); @@ -497,7 +512,7 @@ export class NapCatOneBot11Adapter { private async emitRecallMsg(msgList: RawMessage[], cache: LRUCache) { for (const message of msgList) { // log("message update", message.sendStatus, message.msgId, message.msgSeq) - if (message.recallTime != '0' && !cache.get(message.msgId)) { //todo: 这个判断方法不太好,应该使用灰色消息元素来判断? + if (message.recallTime != '0' && !cache.get(message.msgId)) { //todo: 这个判断方法不太好,应该使用灰色消息元素来判断? cache.put(message.msgId, true); // 撤回消息上报 const oriMessageId = MessageUnique.getShortIdByMsgId(message.msgId);