diff --git a/src/core/src/apis/user.ts b/src/core/src/apis/user.ts index 3b7de889..597dffc6 100644 --- a/src/core/src/apis/user.ts +++ b/src/core/src/apis/user.ts @@ -241,6 +241,9 @@ export class NTQQUserApi { // } return uin; } + static async getRecentContactList() { + return await napCatCore.session.getRecentContactService().getRecentContactList(); + } static async getUserDetailInfoByUin(Uin: string) { return NTEventDispatch.CallNoListenerEvent <(Uin: string) => Promise>( diff --git a/src/core/src/services/NodeIKernelMsgService.ts b/src/core/src/services/NodeIKernelMsgService.ts index 74658d19..b77055b1 100644 --- a/src/core/src/services/NodeIKernelMsgService.ts +++ b/src/core/src/services/NodeIKernelMsgService.ts @@ -253,7 +253,7 @@ export interface NodeIKernelMsgService { pageLimit: number, isReverseOrder: boolean, isIncludeCurrent: boolean - }):Promise; + }): Promise; queryPicOrVideoMsgsDesktop(...args: unknown[]): unknown; @@ -356,7 +356,7 @@ export interface NodeIKernelMsgService { getFileThumbSavePath(...args: unknown[]): unknown; - translatePtt2Text(...args: unknown[]): unknown; + translatePtt2Text(j2: string, e2: {}, e3: {}): unknown; setPttPlayedState(...args: unknown[]): unknown; diff --git a/src/core/src/services/NodeIKernelRecentContactService.ts b/src/core/src/services/NodeIKernelRecentContactService.ts index 43c29960..fd899ea9 100644 --- a/src/core/src/services/NodeIKernelRecentContactService.ts +++ b/src/core/src/services/NodeIKernelRecentContactService.ts @@ -43,7 +43,7 @@ export interface NodeIKernelRecentContactService { deleteRecentContactsVer2(...args: unknown[]): unknown; // 1 arguments - getRecentContactList(): unknown; + getRecentContactList(): Promise; getMsgUnreadCount(): unknown; diff --git a/src/core/src/wrapper.ts b/src/core/src/wrapper.ts index e306ed46..33f8ea54 100644 --- a/src/core/src/wrapper.ts +++ b/src/core/src/wrapper.ts @@ -39,6 +39,7 @@ import { NodeIKernelTianShuService } from './services/NodeIKernelTianShuService' import { NodeIKernelUnitedConfigService } from './services/NodeIKernelUnitedConfigService'; import { NodeIKernelSearchService } from './services/NodeIKernelSearchService'; import { NodeIKernelCollectionService } from './services/NodeIKernelCollectionService'; +import { NodeIKernelRecentContactService } from './services/NodeIKernelRecentContactService'; const __filename = fileURLToPath(import.meta.url); @@ -236,7 +237,7 @@ export interface NodeIQQNTWrapperSession { getAVSDKService(): unknown; - getRecentContactService(): unknown; + getRecentContactService(): NodeIKernelRecentContactService; getConfigMgrService(): unknown; } diff --git a/src/onebot11/action/index.ts b/src/onebot11/action/index.ts index 308d3536..5cdd6594 100644 --- a/src/onebot11/action/index.ts +++ b/src/onebot11/action/index.ts @@ -72,6 +72,7 @@ import { CreateCollection } from './extends/CreateCollection'; import { SetLongNick } from './extends/SetLongNick'; import DelEssenceMsg from './group/DelEssenceMsg'; import SetEssenceMsg from './group/SetEssenceMsg'; +import GetRecentContact from './user/GetRecentContact'; export const actionHandlers = [ new RebootNormal(), @@ -151,7 +152,8 @@ export const actionHandlers = [ new GoCQHTTPHandleQuickAction(), new GetGroupSystemMsg(), new DelEssenceMsg(), - new SetEssenceMsg() + new SetEssenceMsg(), + new GetRecentContact() ]; function initActionMap() { diff --git a/src/onebot11/action/types.ts b/src/onebot11/action/types.ts index aefd3d26..740cbfd3 100644 --- a/src/onebot11/action/types.ts +++ b/src/onebot11/action/types.ts @@ -95,5 +95,6 @@ export enum ActionName { GetCollectionList = 'get_collection_list', SetLongNick = 'set_self_longnick', SetEssenceMsg = "set_essence_msg", - DelEssenceMsg = "delete_essence_msg" + DelEssenceMsg = "delete_essence_msg", + GetRecentContact = "get_recent_contact" } diff --git a/src/onebot11/action/user/GetRecentContact.ts b/src/onebot11/action/user/GetRecentContact.ts new file mode 100644 index 00000000..83b6c3b1 --- /dev/null +++ b/src/onebot11/action/user/GetRecentContact.ts @@ -0,0 +1,11 @@ + +import BaseAction from '../BaseAction'; +import { ActionName } from '../types'; +import { NTQQUserApi } from '@/core'; + +export default class GetRecentContact extends BaseAction { + actionName = ActionName.GetRecentContact; + protected async _handle(payload: void) { + return await NTQQUserApi.getRecentContactList() + } +}