diff --git a/src/core/apis/file.ts b/src/core/apis/file.ts index d528d9a8..d001aa18 100644 --- a/src/core/apis/file.ts +++ b/src/core/apis/file.ts @@ -8,7 +8,7 @@ import { import path from 'path'; import fs from 'fs'; import fsPromises from 'fs/promises'; -import { InstanceContext, NapCatCore } from '@/core'; +import { InstanceContext, NapCatCore, OnRichMediaDownloadCompleteParams } from '@/core'; import * as fileType from 'file-type'; import imageSize from 'image-size'; import { ISizeCalculationResult } from 'image-size/dist/types/interface'; diff --git a/src/core/apis/group.ts b/src/core/apis/group.ts index 6f9a5694..845df5f9 100644 --- a/src/core/apis/group.ts +++ b/src/core/apis/group.ts @@ -40,7 +40,7 @@ export class NTQQGroupApi { * } */ async getGroupMemberLastestSendTime(GroupCode: string) { - async function getdata(uid: string) { + const getdata = async (uid: string) => { let NTRet = await this.getLastestMsgByUids(GroupCode, [uid]); if (NTRet.result != 0 && NTRet.msgList.length < 1) { return undefined; diff --git a/src/core/apis/msg.ts b/src/core/apis/msg.ts index 644fcd04..4f163c3e 100644 --- a/src/core/apis/msg.ts +++ b/src/core/apis/msg.ts @@ -207,14 +207,14 @@ export class NTQQMsgApi { return this.context.session.getMSFService().getServerTime(); } async getServerTimeV2() { - return this.core.eventWrapper.CallNoListenerEvent<() => string>('NodeIKernelMsgService/getServerTime', 5000); + return this.core.eventWrapper.callNoListenerEvent<() => string>('NodeIKernelMsgService/getServerTime', 5000); } async forwardMsg(srcPeer: Peer, destPeer: Peer, msgIds: string[]) { return this.context.session.getMsgService().forwardMsg(msgIds, srcPeer, [destPeer], new Map()); } async multiForwardMsg(srcPeer: Peer, destPeer: Peer, msgIds: string[]): Promise { const msgInfos = msgIds.map(id => { - return { msgId: id, senderShowName: selfInfo.nick }; + return { msgId: id, senderShowName: this.core.selfInfo.nick }; }); let data = await this.core.eventWrapper.CallNormalEvent< (msgInfo: typeof msgInfos, srcPeer: Peer, destPeer: Peer, comment: Array, attr: Map,) => Promise, @@ -226,7 +226,7 @@ export class NTQQMsgApi { 5000, (msgRecords: RawMessage[]) => { for (let msgRecord of msgRecords) { - if (msgRecord.peerUid == destPeer.peerUid && msgRecord.senderUid == selfInfo.uid) { + if (msgRecord.peerUid == destPeer.peerUid && msgRecord.senderUid == this.core.selfInfo.uid) { return true; } } @@ -247,7 +247,7 @@ export class NTQQMsgApi { if (forwardData.app != 'com.tencent.multimsg') { continue; } - if (msg.peerUid == destPeer.peerUid && msg.senderUid == selfInfo.uid) { + if (msg.peerUid == destPeer.peerUid && msg.senderUid == this.core.selfInfo.uid) { return msg; } } diff --git a/src/core/apis/user.ts b/src/core/apis/user.ts index b6348f4b..8ed73bad 100644 --- a/src/core/apis/user.ts +++ b/src/core/apis/user.ts @@ -154,7 +154,7 @@ export class NTQQUserApi { return profile; } async modifySelfProfile(param: ModifyProfileParams) { - return napCatCore.session.getProfileService().modifyDesktopMiniProfile(param); + return this.context.session.getProfileService().modifyDesktopMiniProfile(param); } //需要异常处理 async getCookies(domain: string) { @@ -224,10 +224,10 @@ export class NTQQUserApi { if (uid) return uid; uid = (await this.context.session.getUixConvertService().getUid([Uin])).uidInfo.get(Uin); if (uid) return uid; - console.log((await NTQQFriendApi.getBuddyIdMapCache(true))); - uid = (await NTQQFriendApi.getBuddyIdMapCache(true)).getValue(Uin);//从Buddy缓存获取Uid + console.log((await this.core.getApiContext().FriendApi.getBuddyIdMapCache(true))); + uid = (await this.core.getApiContext().FriendApi.getBuddyIdMapCache(true)).getValue(Uin);//从Buddy缓存获取Uid if (uid) return uid; - uid = (await NTQQFriendApi.getBuddyIdMap(true)).getValue(Uin); + uid = (await this.core.getApiContext().FriendApi.getBuddyIdMap(true)).getValue(Uin); if (uid) return uid; let unveifyUid = (await this.getUserDetailInfoByUinV2(Uin)).detail.uid;//从QQ Native 特殊转换 if (unveifyUid.indexOf("*") == -1) uid = unveifyUid; @@ -242,9 +242,9 @@ export class NTQQUserApi { if (uin) return uin; uin = (await this.context.session.getUixConvertService().getUin([Uid])).uinInfo.get(Uid); if (uin) return uin; - uin = (await NTQQFriendApi.getBuddyIdMapCache(true)).getKey(Uid);//从Buddy缓存获取Uin + uin = (await this.core.getApiContext().FriendApi.getBuddyIdMapCache(true)).getKey(Uid);//从Buddy缓存获取Uin if (uin) return uin; - uin = (await NTQQFriendApi.getBuddyIdMap(true)).getKey(Uid); + uin = (await this.core.getApiContext().FriendApi.getBuddyIdMap(true)).getKey(Uid); if (uin) return uin; uin = (await this.getUserDetailInfo(Uid)).uin; //从QQ Native 转换 return uin; diff --git a/src/core/core.ts b/src/core/core.ts index b39c6b12..474f8542 100644 --- a/src/core/core.ts +++ b/src/core/core.ts @@ -8,7 +8,7 @@ import { MsgListener, ProfileListener } from "./listeners"; import { sleep } from "@/common/utils/helper"; import { SelfInfo, LineDevice, SelfStatusInfo } from "./entities"; import { LegacyNTEventWrapper } from "@/common/framework/event-legacy"; -import { NTQQGroupApi, NTQQMsgApi, NTQQUserApi } from "./apis"; +import { NTQQFriendApi, NTQQGroupApi, NTQQMsgApi, NTQQUserApi } from "./apis"; export enum NapCatCoreWorkingEnv { Unknown = 0, @@ -41,9 +41,10 @@ export class NapCatCore { this.eventWrapper = new LegacyNTEventWrapper(context.wrapper, context.session); this.initNapCatCoreListeners().then().catch(console.error); this.ApiContext = { + FriendApi: new NTQQFriendApi(this.context,this), MsgApi: new NTQQMsgApi(this.context,this), - UserApi: new NTQQUserApi(this.context), - GroupApi: new NTQQGroupApi(this.context) + UserApi: new NTQQUserApi(this.context,this), + GroupApi: new NTQQGroupApi(this.context,this) } } getApiContext() { diff --git a/src/core/index.ts b/src/core/index.ts index 987f6ae1..5aa59413 100644 --- a/src/core/index.ts +++ b/src/core/index.ts @@ -1,4 +1,5 @@ export * from './core'; export * from './wrapper'; export * from './entities'; -export * from './services'; \ No newline at end of file +export * from './services'; +export * from './listeners' \ No newline at end of file diff --git a/src/core/wrapper/context.ts b/src/core/wrapper/context.ts index 8fc162c3..1337a034 100644 --- a/src/core/wrapper/context.ts +++ b/src/core/wrapper/context.ts @@ -4,7 +4,7 @@ import { NapCatCoreWorkingEnv } from "@/core"; import { SelfInfo } from "../entities"; import { NodeIKernelLoginService } from "../services"; import { WrapperNodeApi, NodeIQQNTWrapperSession } from "@/core"; -import { NTQQGroupApi, NTQQMsgApi, NTQQUserApi } from "../apis"; +import { NTQQFriendApi, NTQQGroupApi, NTQQMsgApi, NTQQUserApi } from "../apis"; export interface InstanceContext { readonly workingEnv: NapCatCoreWorkingEnv; @@ -15,6 +15,7 @@ export interface InstanceContext { readonly basicInfoWrapper: QQBasicInfoWrapper; } export interface NTApiContext { + FriendApi: NTQQFriendApi, MsgApi: NTQQMsgApi, UserApi: NTQQUserApi, GroupApi: NTQQGroupApi