diff --git a/src/core/src/apis/user.ts b/src/core/src/apis/user.ts index 3a5f8bf6..98949b98 100644 --- a/src/core/src/apis/user.ts +++ b/src/core/src/apis/user.ts @@ -255,6 +255,12 @@ export class NTQQUserApi { // } return uin; } + static async getRecentContactListSyncLimit(count: number) { + return await napCatCore.session.getRecentContactService().getRecentContactListSyncLimit(count); + } + static async getRecentContactListSync() { + return await napCatCore.session.getRecentContactService().getRecentContactListSync(); + } static async getRecentContactList() { return await napCatCore.session.getRecentContactService().getRecentContactList(); } diff --git a/src/core/src/listeners/NodeIKernelRecentContactListener.ts b/src/core/src/listeners/NodeIKernelRecentContactListener.ts new file mode 100644 index 00000000..0c03904b --- /dev/null +++ b/src/core/src/listeners/NodeIKernelRecentContactListener.ts @@ -0,0 +1,44 @@ +interface IKernelRecentContactListener { + onDeletedContactsNotify(...args: unknown[]): unknown; + + onRecentContactNotification(...args: unknown[]): unknown; + + onMsgUnreadCountUpdate(...args: unknown[]): unknown; + + onGuildDisplayRecentContactListChanged(...args: unknown[]): unknown; + + onRecentContactListChanged(...args: unknown[]): unknown; + + onRecentContactListChangedVer2(...args: unknown[]): unknown; +} + +export interface NodeIKernelRecentContactListener extends IKernelRecentContactListener { + // eslint-disable-next-line @typescript-eslint/no-misused-new + new(listener: IKernelRecentContactListener): NodeIKernelRecentContactListener; +} + +export class KernelRecentContactListener implements IKernelRecentContactListener { + onDeletedContactsNotify(...args: unknown[]) { + + } + + onRecentContactNotification(...args: unknown[]) { + + } + + onMsgUnreadCountUpdate(...args: unknown[]) { + + } + + onGuildDisplayRecentContactListChanged(...args: unknown[]) { + + } + + onRecentContactListChanged(...args: unknown[]) { + + } + + onRecentContactListChangedVer2(...args: unknown[]) { + + } +} diff --git a/src/core/src/services/NodeIKernelRecentContactService.ts b/src/core/src/services/NodeIKernelRecentContactService.ts index fd899ea9..5bfd097e 100644 --- a/src/core/src/services/NodeIKernelRecentContactService.ts +++ b/src/core/src/services/NodeIKernelRecentContactService.ts @@ -1,4 +1,5 @@ import { Peer } from "../entities"; +import { NodeIKernelRecentContactListener } from "../listeners/NodeIKernelRecentContactListener"; export interface NodeIKernelRecentContactService { setGuildDisplayStatus(...args: unknown[]): unknown; // 2 arguments @@ -33,7 +34,7 @@ export interface NodeIKernelRecentContactService { removeKernelRecentContactListener(...args: unknown[]): unknown; // 1 arguments - addKernelRecentContactListener(...args: unknown[]): unknown; // 1 arguments + addKernelRecentContactListener(listener: NodeIKernelRecentContactListener): number; clearRecentContactsByChatType(...args: unknown[]): unknown; // 1 arguments diff --git a/src/onebot11/action/user/GetRecentContact.ts b/src/onebot11/action/user/GetRecentContact.ts index 83b6c3b1..d1833fac 100644 --- a/src/onebot11/action/user/GetRecentContact.ts +++ b/src/onebot11/action/user/GetRecentContact.ts @@ -6,6 +6,7 @@ import { NTQQUserApi } from '@/core'; export default class GetRecentContact extends BaseAction { actionName = ActionName.GetRecentContact; protected async _handle(payload: void) { - return await NTQQUserApi.getRecentContactList() + //没有效果 + return await NTQQUserApi.getRecentContactListSync(); } }