mirror of
https://github.com/NapNeko/NapCatQQ.git
synced 2024-11-21 09:36:35 +00:00
Merge remote-tracking branch 'origin/main'
This commit is contained in:
commit
89b69bbdf8
@ -259,7 +259,7 @@ export class NodeIKernelMsgListener {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
onRecvSysMsg(arrayList: unknown) {
|
onRecvSysMsg(arrayList: Array<number>) {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
export class NodeIKernelRecentContactListener {
|
export class NodeIKernelRecentContactListener {
|
||||||
onDeletedContactsNotify(...args: unknown[]) {
|
onDeletedContactsNotify(...args: unknown[]) {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
onRecentContactNotification(...args: unknown[]) {
|
onRecentContactNotification(msgList: any, arg0: { msgListUnreadCnt: string }, arg1: number) {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -37,6 +37,7 @@ import { OB11FriendRecallNoticeEvent } from '@/onebot/event/notice/OB11FriendRec
|
|||||||
import { OB11GroupRecallNoticeEvent } from '@/onebot/event/notice/OB11GroupRecallNoticeEvent';
|
import { OB11GroupRecallNoticeEvent } from '@/onebot/event/notice/OB11GroupRecallNoticeEvent';
|
||||||
import { LRUCache } from '@/common/utils/LRU';
|
import { LRUCache } from '@/common/utils/LRU';
|
||||||
import { NT2GroupEvent, NT2PrivateEvent } from './helper';
|
import { NT2GroupEvent, NT2PrivateEvent } from './helper';
|
||||||
|
import { NodeIKernelRecentContactListener } from '@/core/listeners/NodeIKernelRecentContactListener';
|
||||||
|
|
||||||
//OneBot实现类
|
//OneBot实现类
|
||||||
export class NapCatOneBot11Adapter {
|
export class NapCatOneBot11Adapter {
|
||||||
@ -115,6 +116,7 @@ export class NapCatOneBot11Adapter {
|
|||||||
this.initMsgListener();
|
this.initMsgListener();
|
||||||
this.initBuddyListener();
|
this.initBuddyListener();
|
||||||
this.initGroupListener();
|
this.initGroupListener();
|
||||||
|
//this.initRecentContactListener();
|
||||||
|
|
||||||
await WebUiDataRuntime.setQQLoginUin(selfInfo.uin.toString());
|
await WebUiDataRuntime.setQQLoginUin(selfInfo.uin.toString());
|
||||||
await WebUiDataRuntime.setQQLoginStatus(true);
|
await WebUiDataRuntime.setQQLoginStatus(true);
|
||||||
@ -125,6 +127,16 @@ export class NapCatOneBot11Adapter {
|
|||||||
await this.reloadNetwork(prev, newConfig);
|
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) {
|
private async reloadNetwork(prev: OB11Config, now: OB11Config) {
|
||||||
const serviceInfo = `
|
const serviceInfo = `
|
||||||
@ -199,7 +211,6 @@ export class NapCatOneBot11Adapter {
|
|||||||
} else {
|
} else {
|
||||||
if (now.reverseWs.enable) {
|
if (now.reverseWs.enable) {
|
||||||
const { added, removed } = this.findDifference<string>(prev.reverseWs.urls, now.reverseWs.urls);
|
const { added, removed } = this.findDifference<string>(prev.reverseWs.urls, now.reverseWs.urls);
|
||||||
console.log('rev ws', added, removed);
|
|
||||||
await this.networkManager.closeAdapterByPredicate(
|
await this.networkManager.closeAdapterByPredicate(
|
||||||
adapter => adapter instanceof OB11ActiveWebSocketAdapter && removed.includes(adapter.url),
|
adapter => adapter instanceof OB11ActiveWebSocketAdapter && removed.includes(adapter.url),
|
||||||
);
|
);
|
||||||
@ -220,6 +231,9 @@ export class NapCatOneBot11Adapter {
|
|||||||
|
|
||||||
private initMsgListener() {
|
private initMsgListener() {
|
||||||
const msgListener = new NodeIKernelMsgListener();
|
const msgListener = new NodeIKernelMsgListener();
|
||||||
|
msgListener.onRecvSysMsg = msg => {
|
||||||
|
//console.log('onRecvSysMsg', Buffer.from(msg).toString('hex'));
|
||||||
|
}
|
||||||
msgListener.onInputStatusPush = async data => {
|
msgListener.onInputStatusPush = async data => {
|
||||||
const uin = await this.core.apis.UserApi.getUinByUidV2(data.fromUin);
|
const uin = await this.core.apis.UserApi.getUinByUidV2(data.fromUin);
|
||||||
this.context.logger.log(`[Notice] [输入状态] ${uin} ${data.statusText}`);
|
this.context.logger.log(`[Notice] [输入状态] ${uin} ${data.statusText}`);
|
||||||
@ -497,7 +511,7 @@ export class NapCatOneBot11Adapter {
|
|||||||
private async emitRecallMsg(msgList: RawMessage[], cache: LRUCache<string, boolean>) {
|
private async emitRecallMsg(msgList: RawMessage[], cache: LRUCache<string, boolean>) {
|
||||||
for (const message of msgList) {
|
for (const message of msgList) {
|
||||||
// log("message update", message.sendStatus, message.msgId, message.msgSeq)
|
// 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);
|
cache.put(message.msgId, true);
|
||||||
// 撤回消息上报
|
// 撤回消息上报
|
||||||
const oriMessageId = MessageUnique.getShortIdByMsgId(message.msgId);
|
const oriMessageId = MessageUnique.getShortIdByMsgId(message.msgId);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user