Merge remote-tracking branch 'origin/main'

This commit is contained in:
Wesley F. Young 2024-08-26 12:02:47 +08:00
commit 89b69bbdf8
3 changed files with 19 additions and 5 deletions

View File

@ -259,7 +259,7 @@ export class NodeIKernelMsgListener {
}
onRecvSysMsg(arrayList: unknown) {
onRecvSysMsg(arrayList: Array<number>) {
}

View File

@ -1,9 +1,9 @@
export class NodeIKernelRecentContactListener {
export class NodeIKernelRecentContactListener {
onDeletedContactsNotify(...args: unknown[]) {
}
onRecentContactNotification(...args: unknown[]) {
onRecentContactNotification(msgList: any, arg0: { msgListUnreadCnt: string }, arg1: number) {
}

View File

@ -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 = `
@ -199,7 +211,6 @@ export class NapCatOneBot11Adapter {
} else {
if (now.reverseWs.enable) {
const { added, removed } = this.findDifference<string>(prev.reverseWs.urls, now.reverseWs.urls);
console.log('rev ws', added, removed);
await this.networkManager.closeAdapterByPredicate(
adapter => adapter instanceof OB11ActiveWebSocketAdapter && removed.includes(adapter.url),
);
@ -220,6 +231,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 +511,7 @@ export class NapCatOneBot11Adapter {
private async emitRecallMsg(msgList: RawMessage[], cache: LRUCache<string, boolean>) {
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);