diff --git a/src/common/framework/event-legacy.ts b/src/common/framework/event-legacy.ts index 66ac2596..470d0665 100644 --- a/src/common/framework/event-legacy.ts +++ b/src/common/framework/event-legacy.ts @@ -98,7 +98,7 @@ export class LegacyNTEventWrapper { ...args: Parameters ): Promise>> { const EventFunc = this.createEventFunction(EventName); - return EventFunc!(...args) + return EventFunc!(...args); } async RegisterListen void>( diff --git a/src/common/framework/event.ts b/src/common/framework/event.ts index dc2d0bce..f884610b 100644 --- a/src/common/framework/event.ts +++ b/src/common/framework/event.ts @@ -59,14 +59,14 @@ export class NTEventChannel extends EventEmitter { } async createEventWithListener any, ListenerType extends (...args: any) => any> - ( - eventName: string, - listenerName: string, - waitTimes = 1, - timeout: number = 3000, - checker: (...args: Parameters) => boolean, - ...eventArg: Parameters - ) { + ( + eventName: string, + listenerName: string, + waitTimes = 1, + timeout: number = 3000, + checker: (...args: Parameters) => boolean, + ...eventArg: Parameters + ) { return new Promise<[EventRet: Awaited>, ...Parameters]>(async (resolve, reject) => { const ListenerNameList = listenerName.split('/'); const ListenerMainName = ListenerNameList[0]; diff --git a/src/core/apis/file.ts b/src/core/apis/file.ts index b6147ad2..2afcf31f 100644 --- a/src/core/apis/file.ts +++ b/src/core/apis/file.ts @@ -319,30 +319,30 @@ export class NTQQFileApi { filePath: string }) => Promise, (fileTransNotifyInfo: OnRichMediaDownloadCompleteParams) => void - >( - 'NodeIKernelMsgService/downloadRichMedia', - 'NodeIKernelMsgListener/onRichMediaDownloadComplete', - 1, - timeout, - (arg: OnRichMediaDownloadCompleteParams) => { - if (arg.msgId === msgId) { - return true; - } - return false; - }, - { - fileModelId: '0', - downloadSourceType: 0, - triggerType: 1, - msgId: msgId, - chatType: chatType, - peerUid: peerUid, - elementId: elementId, - thumbSize: 0, - downloadType: 1, - filePath: thumbPath, - }, - ); + >( + 'NodeIKernelMsgService/downloadRichMedia', + 'NodeIKernelMsgListener/onRichMediaDownloadComplete', + 1, + timeout, + (arg: OnRichMediaDownloadCompleteParams) => { + if (arg.msgId === msgId) { + return true; + } + return false; + }, + { + fileModelId: '0', + downloadSourceType: 0, + triggerType: 1, + msgId: msgId, + chatType: chatType, + peerUid: peerUid, + elementId: elementId, + thumbSize: 0, + downloadType: 1, + filePath: thumbPath, + }, + ); const msg = await this.core.apis.MsgApi.getMsgsByMsgId({ guildId: '', chatType: chatType, @@ -482,10 +482,10 @@ export class NTQQFileApi { let id = ''; const Listener = this.core.eventWrapper.RegisterListen<(params: OnListener) => void> ( - 'NodeIKernelSearchListener/onSearchFileKeywordsResult', - 1, - 20000, - (params) => id !== '' && params.searchId == id, + 'NodeIKernelSearchListener/onSearchFileKeywordsResult', + 1, + 20000, + (params) => id !== '' && params.searchId == id, ); id = await Event!(keys, 12); const [ret] = (await Listener); @@ -519,7 +519,7 @@ export class NTQQFileApi { } } else if (fileMd5 || md5HexStr) { // 没有url,需要自己拼接 - return `${IMAGE_HTTP_HOST}/gchatpic_new/0/0-0-${(fileMd5 || md5HexStr)!.toUpperCase()}/0`; + return `${IMAGE_HTTP_HOST}/gchatpic_new/0/0-0-${(fileMd5 ?? md5HexStr)!.toUpperCase()}/0`; } this.context.logger.logDebug('图片url获取失败', element); return ''; diff --git a/src/core/apis/webapi.ts b/src/core/apis/webapi.ts index 8537f6d9..5b113014 100644 --- a/src/core/apis/webapi.ts +++ b/src/core/apis/webapi.ts @@ -166,7 +166,7 @@ export class NTQQWebApi { let resJson; try { const res = await RequestUtil.HttpGetText(url, 'GET', '', { 'Cookie': this.cookieToString(cookieObject) }); - let match = /window\.__INITIAL_STATE__=(.*?);/.exec(res); + const match = /window\.__INITIAL_STATE__=(.*?);/.exec(res); if (match) { resJson = JSON.parse(match[1].trim()); } diff --git a/src/core/core.ts b/src/core/core.ts index 71a8241e..038239a0 100644 --- a/src/core/core.ts +++ b/src/core/core.ts @@ -3,7 +3,7 @@ import path from 'node:path'; import fs from 'node:fs'; import { InstanceContext } from './wrapper'; import { proxiedListenerOf } from '@/common/utils/proxy-handler'; -import { GroupListener, MsgListener, ProfileListener } from './listeners'; +import { NodeIKernelMsgListener, NodeIKernelGroupListener, NodeIKernelProfileListener } from './listeners'; import { DataSource, GroupMember, SelfInfo } from './entities'; import { LegacyNTEventWrapper } from '@/common/framework/event-legacy'; import { NTQQFileApi, NTQQFriendApi, NTQQGroupApi, NTQQMsgApi, NTQQSystemApi, NTQQUserApi, NTQQWebApi } from './apis'; @@ -89,7 +89,7 @@ export class NapCatCore { // Renamed from 'InitDataListener' async initNapCatCoreListeners() { - const msgListener = new MsgListener(); + const msgListener = new NodeIKernelMsgListener(); msgListener.onRecvMsg = (msgs) => { msgs.forEach(msg => this.context.logger.logMessage(msg, this.selfInfo)); }; @@ -101,7 +101,7 @@ export class NapCatCore { proxiedListenerOf(msgListener, this.context.logger) as any ); - const profileListener = new ProfileListener(); + const profileListener = new NodeIKernelProfileListener(); profileListener.onProfileDetailInfoChanged = (profile) => { if (profile.uid === this.selfInfo.uid) { Object.assign(this.selfInfo, profile); @@ -117,7 +117,7 @@ export class NapCatCore { ); // 群相关 - const groupListener = new GroupListener(); + const groupListener = new NodeIKernelGroupListener(); groupListener.onGroupListUpdate = (updateType, groupList) => { // console.log("onGroupListUpdate", updateType, groupList) groupList.map(g => { diff --git a/src/core/listeners/NodeIKernelBuddyListener.ts b/src/core/listeners/NodeIKernelBuddyListener.ts index 0d1a424f..fa445bce 100644 --- a/src/core/listeners/NodeIKernelBuddyListener.ts +++ b/src/core/listeners/NodeIKernelBuddyListener.ts @@ -1,53 +1,9 @@ import { BuddyCategoryType, FriendRequestNotify } from '@/core/entities'; -export type OnBuddyChangeParams = BuddyCategoryType[] +export type OnBuddyChangeParams = BuddyCategoryType[]; -interface IBuddyListener { - onBuddyListChangedV2(arg: unknown): void,//V2版本 还没兼容 - - onBuddyListChange(arg: OnBuddyChangeParams): void, - - onBuddyInfoChange(arg: unknown): void, - - onBuddyDetailInfoChange(arg: unknown): void, - - onNickUpdated(arg: unknown): void, - - onBuddyRemarkUpdated(arg: unknown): void, - - onAvatarUrlUpdated(arg: unknown): void, - - onBuddyReqChange(arg: FriendRequestNotify): void, - - onBuddyReqUnreadCntChange(arg: unknown): void, - - onCheckBuddySettingResult(arg: unknown): void, - - onAddBuddyNeedVerify(arg: unknown): void, - - onSmartInfos(arg: unknown): void, - - onSpacePermissionInfos(arg: unknown): void, - - onDoubtBuddyReqChange(arg: unknown): void, - - onDoubtBuddyReqUnreadNumChange(arg: unknown): void, - - onBlockChanged(arg: unknown): void, - - onAddMeSettingChanged(arg: unknown): void, - - onDelBatchBuddyInfos(arg: unknown): void -} - -export interface NodeIKernelBuddyListener extends IBuddyListener { - // eslint-disable-next-line @typescript-eslint/no-misused-new - new(listener: IBuddyListener): NodeIKernelBuddyListener; -} - -export class BuddyListener implements IBuddyListener { +export class NodeIKernelBuddyListener { onBuddyListChangedV2(arg: unknown): void { - //throw new Error('Method not implemented.'); } onAddBuddyNeedVerify(arg: unknown) { diff --git a/src/core/listeners/NodeIKernelFileAssistantListener.ts b/src/core/listeners/NodeIKernelFileAssistantListener.ts index eb796057..a703ff80 100644 --- a/src/core/listeners/NodeIKernelFileAssistantListener.ts +++ b/src/core/listeners/NodeIKernelFileAssistantListener.ts @@ -1,21 +1,5 @@ -export interface IKernelFileAssistantListener { - onFileStatusChanged(...args: unknown[]): unknown; - onSessionListChanged(...args: unknown[]): unknown; - - onSessionChanged(...args: unknown[]): unknown; - - onFileListChanged(...args: unknown[]): unknown; - - onFileSearch(...args: unknown[]): unknown; -} - -export interface NodeIKernelFileAssistantListener extends IKernelFileAssistantListener { - // eslint-disable-next-line @typescript-eslint/no-misused-new - new(adapter: IKernelFileAssistantListener): NodeIKernelFileAssistantListener; -} - -export class KernelFileAssistantListener implements IKernelFileAssistantListener { +export class NodeIKernelFileAssistantListener { onFileStatusChanged(...args: unknown[]) { } diff --git a/src/core/listeners/NodeIKernelGroupListener.ts b/src/core/listeners/NodeIKernelGroupListener.ts index d19a73e9..64c7a02b 100644 --- a/src/core/listeners/NodeIKernelGroupListener.ts +++ b/src/core/listeners/NodeIKernelGroupListener.ts @@ -1,68 +1,6 @@ import { DataSource, Group, GroupListUpdateType, GroupMember, GroupNotify } from '@/core/entities'; -export interface IGroupListener { - onGroupListUpdate(updateType: GroupListUpdateType, groupList: Group[]): void; - - onGroupExtListUpdate(...args: unknown[]): void; - - onGroupSingleScreenNotifies(doubt: boolean, seq: string, notifies: GroupNotify[]): void; - - onGroupNotifiesUpdated(dboubt: boolean, notifies: GroupNotify[]): void; - - onGroupNotifiesUnreadCountUpdated(...args: unknown[]): void; - - onGroupDetailInfoChange(...args: unknown[]): void; - - onGroupAllInfoChange(...args: unknown[]): void; - - onGroupsMsgMaskResult(...args: unknown[]): void; - - onGroupConfMemberChange(...args: unknown[]): void; - - onGroupBulletinChange(...args: unknown[]): void; - - onGetGroupBulletinListResult(...args: unknown[]): void; - - onMemberListChange(arg: { - sceneId: string, - ids: string[], - infos: Map, - finish: boolean, - hasRobot: boolean - }): void; - - onMemberInfoChange(groupCode: string, dataSource: DataSource, members: Map): void; - - onSearchMemberChange(...args: unknown[]): void; - - onGroupBulletinRichMediaDownloadComplete(...args: unknown[]): void; - - onGroupBulletinRichMediaProgressUpdate(...args: unknown[]): void; - - onGroupStatisticInfoChange(...args: unknown[]): void; - - onJoinGroupNotify(...args: unknown[]): void; - - onShutUpMemberListChanged(...args: unknown[]): void; - - onGroupBulletinRemindNotify(...args: unknown[]): void; - - onGroupFirstBulletinNotify(...args: unknown[]): void; - - onJoinGroupNoVerifyFlag(...args: unknown[]): void; - - onGroupArkInviteStateResult(...args: unknown[]): void; - - // 发现于Win 9.9.9 23159 - onGroupMemberLevelInfoChange(...args: unknown[]): void; -} - -export interface NodeIKernelGroupListener extends IGroupListener { - // eslint-disable-next-line @typescript-eslint/no-misused-new - new(listener: IGroupListener): NodeIKernelGroupListener; -} - -export class GroupListener implements IGroupListener { +export class NodeIKernelGroupListener { // 发现于Win 9.9.9 23159 onGroupMemberLevelInfoChange(...args: unknown[]): void { @@ -124,7 +62,7 @@ export class GroupListener implements IGroupListener { onJoinGroupNoVerifyFlag(...args: unknown[]) { } - + onMemberInfoChange(groupCode: string, dateSource: DataSource, members: Map) { } @@ -142,102 +80,4 @@ export class GroupListener implements IGroupListener { onShutUpMemberListChanged(...args: unknown[]) { } -} - -export class DebugGroupListener implements IGroupListener { - onGroupMemberLevelInfoChange(...args: unknown[]): void { - console.log('onGroupMemberLevelInfoChange:', ...args); - } - - onGetGroupBulletinListResult(...args: unknown[]) { - console.log('onGetGroupBulletinListResult:', ...args); - } - - onGroupAllInfoChange(...args: unknown[]) { - console.log('onGroupAllInfoChange:', ...args); - } - - onGroupBulletinChange(...args: unknown[]) { - console.log('onGroupBulletinChange:', ...args); - } - - onGroupBulletinRemindNotify(...args: unknown[]) { - console.log('onGroupBulletinRemindNotify:', ...args); - } - - onGroupArkInviteStateResult(...args: unknown[]) { - console.log('onGroupArkInviteStateResult:', ...args); - } - - onGroupBulletinRichMediaDownloadComplete(...args: unknown[]) { - console.log('onGroupBulletinRichMediaDownloadComplete:', ...args); - } - - onGroupConfMemberChange(...args: unknown[]) { - console.log('onGroupConfMemberChange:', ...args); - } - - onGroupDetailInfoChange(...args: unknown[]) { - console.log('onGroupDetailInfoChange:', ...args); - } - - onGroupExtListUpdate(...args: unknown[]) { - console.log('onGroupExtListUpdate:', ...args); - } - - onGroupFirstBulletinNotify(...args: unknown[]) { - console.log('onGroupFirstBulletinNotify:', ...args); - } - - onGroupListUpdate(...args: unknown[]) { - console.log('onGroupListUpdate:', ...args); - } - - onGroupNotifiesUpdated(...args: unknown[]) { - console.log('onGroupNotifiesUpdated:', ...args); - } - - onGroupBulletinRichMediaProgressUpdate(...args: unknown[]) { - console.log('onGroupBulletinRichMediaProgressUpdate:', ...args); - } - - onGroupNotifiesUnreadCountUpdated(...args: unknown[]) { - console.log('onGroupNotifiesUnreadCountUpdated:', ...args); - } - - onGroupSingleScreenNotifies(doubt: boolean, seq: string, notifies: GroupNotify[]) { - console.log('onGroupSingleScreenNotifies:'); - } - - onGroupsMsgMaskResult(...args: unknown[]) { - console.log('onGroupsMsgMaskResult:', ...args); - } - - onGroupStatisticInfoChange(...args: unknown[]) { - console.log('onGroupStatisticInfoChange:', ...args); - } - - onJoinGroupNotify(...args: unknown[]) { - console.log('onJoinGroupNotify:', ...args); - } - - onJoinGroupNoVerifyFlag(...args: unknown[]) { - console.log('onJoinGroupNoVerifyFlag:', ...args); - } - - onMemberInfoChange(groupCode: string, dataSource: DataSource, members: Map) { - console.log('onMemberInfoChange:', groupCode, dataSource, members); - } - - onMemberListChange(...args: unknown[]) { - console.log('onMemberListChange:', ...args); - } - - onSearchMemberChange(...args: unknown[]) { - console.log('onSearchMemberChange:', ...args); - } - - onShutUpMemberListChanged(...args: unknown[]) { - console.log('onShutUpMemberListChanged:', ...args); - } -} +} \ No newline at end of file diff --git a/src/core/listeners/NodeIKernelLoginListener.ts b/src/core/listeners/NodeIKernelLoginListener.ts index 9ffc2395..291b34ef 100644 --- a/src/core/listeners/NodeIKernelLoginListener.ts +++ b/src/core/listeners/NodeIKernelLoginListener.ts @@ -1,45 +1,5 @@ -export interface IKernelLoginListener { - onLoginConnected(...args: any[]): void; - onLoginDisConnected(...args: any[]): void; - - onLoginConnecting(...args: any[]): void; - - onQRCodeGetPicture(...args: any[]): void; - - onQRCodeLoginPollingStarted(...args: any[]): void; - - onQRCodeSessionUserScaned(...args: any[]): void; - - onQRCodeLoginSucceed(...args: any[]): void; - - onQRCodeSessionFailed(...args: any[]): void; - - onLoginFailed(...args: any[]): void; - - onLogoutSucceed(...args: any[]): void; - - onLogoutFailed(...args: any[]): void; - - onUserLoggedIn(...args: any[]): void; - - onQRCodeSessionQuickLoginFailed(...args: any[]): void; - - onPasswordLoginFailed(...args: any[]): void; - - OnConfirmUnusualDeviceFailed(...args: any[]): void; - - onQQLoginNumLimited(...args: any[]): void; - - onLoginState(...args: any[]): void; -} - -export interface NodeIKernelLoginListener { - // eslint-disable-next-line @typescript-eslint/no-misused-new - new(listener: IKernelLoginListener): NodeIKernelLoginListener; -} - -export class LoginListener implements IKernelLoginListener { +export class NodeIKernelLoginListener { onLoginConnected(...args: any[]): void { } diff --git a/src/core/listeners/NodeIKernelMsgListener.ts b/src/core/listeners/NodeIKernelMsgListener.ts index 4fd1066e..d9afb5ee 100644 --- a/src/core/listeners/NodeIKernelMsgListener.ts +++ b/src/core/listeners/NodeIKernelMsgListener.ts @@ -52,199 +52,7 @@ export interface TempOnRecvParams { } -export interface IKernelMsgListener { - onAddSendMsg(msgRecord: RawMessage): void; - - onBroadcastHelperDownloadComplete(broadcastHelperTransNotifyInfo: unknown): void; - - onBroadcastHelperProgressUpdate(broadcastHelperTransNotifyInfo: unknown): void; - - onChannelFreqLimitInfoUpdate(contact: unknown, z: unknown, freqLimitInfo: unknown): void; - - onContactUnreadCntUpdate(hashMap: unknown): void; - - onCustomWithdrawConfigUpdate(customWithdrawConfig: unknown): void; - - onDraftUpdate(contact: unknown, arrayList: unknown, j2: unknown): void; - - onEmojiDownloadComplete(emojiNotifyInfo: unknown): void; - - onEmojiResourceUpdate(emojiResourceInfo: unknown): void; - - onFeedEventUpdate(firstViewDirectMsgNotifyInfo: unknown): void; - - onFileMsgCome(arrayList: unknown): void; - - onFirstViewDirectMsgUpdate(firstViewDirectMsgNotifyInfo: unknown): void; - - onFirstViewGroupGuildMapping(arrayList: unknown): void; - - onGrabPasswordRedBag(i2: unknown, str: unknown, i3: unknown, recvdOrder: unknown, msgRecord: unknown): void; - - onGroupFileInfoAdd(groupItem: unknown): void; - - onGroupFileInfoUpdate(groupFileListResult: GroupFileInfoUpdateParamType): void; - - onGroupGuildUpdate(groupGuildNotifyInfo: unknown): void; - - onGroupTransferInfoAdd(groupItem: unknown): void; - - onGroupTransferInfoUpdate(groupFileListResult: unknown): void; - - onGuildInteractiveUpdate(guildInteractiveNotificationItem: unknown): void; - - onGuildMsgAbFlagChanged(guildMsgAbFlag: unknown): void; - - onGuildNotificationAbstractUpdate(guildNotificationAbstractInfo: unknown): void; - - onHitCsRelatedEmojiResult(downloadRelateEmojiResultInfo: unknown): void; - - onHitEmojiKeywordResult(hitRelatedEmojiWordsResult: unknown): void; - - onHitRelatedEmojiResult(relatedWordEmojiInfo: unknown): void; - - onImportOldDbProgressUpdate(importOldDbMsgNotifyInfo: unknown): void; - - onInputStatusPush(inputStatusInfo: { - chatType: number; - eventType: number; - fromUin: string; - interval: string; - showTime: string; - statusText: string; - timestamp: string; - toUin: string; - }): void; - - onKickedOffLine(kickedInfo: unknown): void; - - onLineDev(arrayList: unknown): void; - - onLogLevelChanged(j2: unknown): void; - - onMsgAbstractUpdate(arrayList: unknown): void; - - onMsgBoxChanged(arrayList: unknown): void; - - onMsgDelete(contact: unknown, arrayList: unknown): void; - - onMsgEventListUpdate(hashMap: unknown): void; - - onMsgInfoListAdd(arrayList: unknown): void; - - onMsgInfoListUpdate(msgList: RawMessage[]): void; - - onMsgQRCodeStatusChanged(i2: unknown): void; - - onMsgRecall(i2: unknown, str: unknown, j2: unknown): void; - - onMsgSecurityNotify(msgRecord: unknown): void; - - onMsgSettingUpdate(msgSetting: unknown): void; - - onNtFirstViewMsgSyncEnd(): void; - - onNtMsgSyncEnd(): void; - - onNtMsgSyncStart(): void; - - onReadFeedEventUpdate(firstViewDirectMsgNotifyInfo: unknown): void; - - onRecvGroupGuildFlag(i2: unknown): void; - - onRecvMsg(...arrayList: unknown[]): void; - - onRecvMsgSvrRspTransInfo(j2: unknown, contact: unknown, i2: unknown, i3: unknown, str: unknown, bArr: unknown): void; - - onRecvOnlineFileMsg(arrayList: unknown): void; - - onRecvS2CMsg(arrayList: unknown): void; - - onRecvSysMsg(arrayList: unknown): void; - - onRecvUDCFlag(i2: unknown): void; - - onRichMediaDownloadComplete(fileTransNotifyInfo: OnRichMediaDownloadCompleteParams): void; - - onRichMediaProgerssUpdate(fileTransNotifyInfo: unknown): void; - - onRichMediaUploadComplete(fileTransNotifyInfo: unknown): void; - - onSearchGroupFileInfoUpdate(searchGroupFileResult: - { - result: { - retCode: number, - retMsg: string, - clientWording: string - }, - syncCookie: string, - totalMatchCount: number, - ownerMatchCount: number, - isEnd: boolean, - reqId: number, - item: Array<{ - groupCode: string, - groupName: string, - uploaderUin: string, - uploaderName: string, - matchUin: string, - matchWords: Array, - fileNameHits: Array<{ - start: number, - end: number - }>, - fileModelId: string, - fileId: string, - fileName: string, - fileSize: string, - busId: number, - uploadTime: number, - modifyTime: number, - deadTime: number, - downloadTimes: number, - localPath: string - }> - }): void; - - onSendMsgError(j2: unknown, contact: unknown, i2: unknown, str: unknown): void; - - onSysMsgNotification(i2: unknown, j2: unknown, j3: unknown, arrayList: unknown): void; - - onTempChatInfoUpdate(tempChatInfo: TempOnRecvParams): void; - - onUnreadCntAfterFirstView(hashMap: unknown): void; - - onUnreadCntUpdate(hashMap: unknown): void; - - onUserChannelTabStatusChanged(z: unknown): void; - - onUserOnlineStatusChanged(z: unknown): void; - - onUserTabStatusChanged(arrayList: unknown): void; - - onlineStatusBigIconDownloadPush(i2: unknown, j2: unknown, str: unknown): void; - - onlineStatusSmallIconDownloadPush(i2: unknown, j2: unknown, str: unknown): void; - - // 第一次发现于Linux - onUserSecQualityChanged(...args: unknown[]): void; - - onMsgWithRichLinkInfoUpdate(...args: unknown[]): void; - - onRedTouchChanged(...args: unknown[]): void; - - // 第一次发现于Win 9.9.9 23159 - onBroadcastHelperProgerssUpdate(...args: unknown[]): void; - -} - -export interface NodeIKernelMsgListener extends IKernelMsgListener { - // eslint-disable-next-line @typescript-eslint/no-misused-new - new(listener: IKernelMsgListener): NodeIKernelMsgListener; -} - - -export class MsgListener implements IKernelMsgListener { +export class NodeIKernelMsgListener { onAddSendMsg(msgRecord: RawMessage) { } diff --git a/src/core/listeners/NodeIKernelProfileListener.ts b/src/core/listeners/NodeIKernelProfileListener.ts index 985b203a..cb88c6df 100644 --- a/src/core/listeners/NodeIKernelProfileListener.ts +++ b/src/core/listeners/NodeIKernelProfileListener.ts @@ -1,25 +1,6 @@ import { User, UserDetailInfoListenerArg } from '@/core/entities'; -interface IProfileListener { - onProfileSimpleChanged(...args: unknown[]): void; - - onUserDetailInfoChanged(arg: UserDetailInfoListenerArg): void; - - onProfileDetailInfoChanged(profile: User): void; - - onStatusUpdate(...args: unknown[]): void; - - onSelfStatusChanged(...args: unknown[]): void; - - onStrangerRemarkChanged(...args: unknown[]): void; -} - -export interface NodeIKernelProfileListener extends IProfileListener { - // eslint-disable-next-line @typescript-eslint/no-misused-new - new(listener: IProfileListener): NodeIKernelProfileListener; -} - -export class ProfileListener implements IProfileListener { +export class NodeIKernelProfileListener { onUserDetailInfoChanged(arg: UserDetailInfoListenerArg): void { } @@ -44,47 +25,47 @@ export class ProfileListener implements IProfileListener { } - onMemberListChange(...args: unknown[]){ + onMemberListChange(...args: unknown[]) { } - onMemberInfoChange(...args: unknown[]){ + onMemberInfoChange(...args: unknown[]) { } - onGroupListUpdate(...args: unknown[]){ + onGroupListUpdate(...args: unknown[]) { } - onGroupAllInfoChange(...args: unknown[]){ + onGroupAllInfoChange(...args: unknown[]) { } - onGroupDetailInfoChange(...args: unknown[]){ + onGroupDetailInfoChange(...args: unknown[]) { } - onGroupConfMemberChange(...args: unknown[]){ + onGroupConfMemberChange(...args: unknown[]) { } - onGroupExtListUpdate(...args: unknown[]){ + onGroupExtListUpdate(...args: unknown[]) { } - onGroupNotifiesUpdated(...args: unknown[]){ + onGroupNotifiesUpdated(...args: unknown[]) { } - onGroupNotifiesUnreadCountUpdated(...args: unknown[]){ + onGroupNotifiesUnreadCountUpdated(...args: unknown[]) { } - onGroupMemberLevelInfoChange(...args: unknown[]){ + onGroupMemberLevelInfoChange(...args: unknown[]) { } - onGroupBulletinChange(...args: unknown[]){ + onGroupBulletinChange(...args: unknown[]) { } } diff --git a/src/core/listeners/NodeIKernelRecentContactListener.ts b/src/core/listeners/NodeIKernelRecentContactListener.ts index f4f13a5b..57573276 100644 --- a/src/core/listeners/NodeIKernelRecentContactListener.ts +++ b/src/core/listeners/NodeIKernelRecentContactListener.ts @@ -1,23 +1,4 @@ -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 { +export class NodeIKernelRecentContactListener { onDeletedContactsNotify(...args: unknown[]) { } diff --git a/src/core/listeners/NodeIKernelRobotListener.ts b/src/core/listeners/NodeIKernelRobotListener.ts index 75c3f0aa..bb7bd731 100644 --- a/src/core/listeners/NodeIKernelRobotListener.ts +++ b/src/core/listeners/NodeIKernelRobotListener.ts @@ -1,17 +1,4 @@ -export interface IKernelRobotListener { - onRobotFriendListChanged(...args: unknown[]): void; - - onRobotListChanged(...args: unknown[]): void; - - onRobotProfileChanged(...args: unknown[]): void; -} - -export interface NodeIKernelRobotListener extends IKernelRobotListener { - // eslint-disable-next-line @typescript-eslint/no-misused-new - new(adapter: IKernelRobotListener): NodeIKernelRobotListener; -} - -export class KernelRobotListener implements IKernelRobotListener { +export class NodeIKernelRobotListener{ onRobotFriendListChanged(...args: unknown[]) { } diff --git a/src/core/listeners/NodeIKernelStorageCleanListener.ts b/src/core/listeners/NodeIKernelStorageCleanListener.ts index c418e030..392bd5df 100644 --- a/src/core/listeners/NodeIKernelStorageCleanListener.ts +++ b/src/core/listeners/NodeIKernelStorageCleanListener.ts @@ -1,22 +1,4 @@ -export interface IStorageCleanListener { - onCleanCacheProgressChanged(args: unknown): void; - - onScanCacheProgressChanged(args: unknown): void; - - onCleanCacheStorageChanged(args: unknown): void; - - onFinishScan(args: unknown): void; - - onChatCleanDone(args: unknown): void; - -} - -export interface NodeIKernelStorageCleanListener extends IStorageCleanListener { - // eslint-disable-next-line @typescript-eslint/no-misused-new - new(adapter: IStorageCleanListener): NodeIKernelStorageCleanListener; -} - -export class StorageCleanListener implements IStorageCleanListener { +export class NodeIKernelStorageCleanListener { onCleanCacheProgressChanged(args: unknown) { } diff --git a/src/core/listeners/NodeIKernelTicketListener.ts b/src/core/listeners/NodeIKernelTicketListener.ts index 312deb3f..15a18c86 100644 --- a/src/core/listeners/NodeIKernelTicketListener.ts +++ b/src/core/listeners/NodeIKernelTicketListener.ts @@ -1,10 +1,2 @@ -export interface IKernelTicketListener { -} - -export interface NodeIKernelTicketListener extends IKernelTicketListener { - // eslint-disable-next-line @typescript-eslint/no-misused-new - new(adapter: IKernelTicketListener): NodeIKernelTicketListener; -} - -export class KernelTicketListener implements IKernelTicketListener { +export class NodeIKernelTicketListener { } diff --git a/src/core/services/NodeIKernelLoginService.ts b/src/core/services/NodeIKernelLoginService.ts index 930095a9..9cd7635f 100644 --- a/src/core/services/NodeIKernelLoginService.ts +++ b/src/core/services/NodeIKernelLoginService.ts @@ -9,7 +9,7 @@ export interface LoginInitConfig { hostName: string; } -export interface passwordLoginRetType { +export interface PasswordLoginRetType { result: string, loginErrorInfo: { step: number; @@ -23,7 +23,7 @@ export interface passwordLoginRetType { } } -export interface passwordLoginArgType { +export interface PasswordLoginArgType { uin: string; passwordMd5: string;//passwMD5 step: number;//猜测是需要二次认证 参数 一次为0 @@ -77,7 +77,7 @@ export interface NodeIKernelLoginService { quickLoginWithUin(uin: string): Promise; - passwordLogin(param: passwordLoginArgType): Promise; + passwordLogin(param: PasswordLoginArgType): Promise; getQRCodePicture(): boolean; } diff --git a/src/core/services/NodeIKernelProfileService.ts b/src/core/services/NodeIKernelProfileService.ts index 431c7fa8..a2526d1d 100644 --- a/src/core/services/NodeIKernelProfileService.ts +++ b/src/core/services/NodeIKernelProfileService.ts @@ -1,6 +1,6 @@ import { AnyCnameRecord } from 'node:dns'; import { BizKey, ModifyProfileParams, SimpleInfo, UserDetailInfoByUin } from '../entities'; -import { NodeIKernelProfileListener, ProfileListener } from '../listeners'; +import { NodeIKernelProfileListener } from '../listeners'; import { GeneralCallResult } from '@/core/services/common'; export enum UserDetailSource { @@ -35,7 +35,7 @@ export interface NodeIKernelProfileService { fetchUserDetailInfo(trace: string, uids: string[], arg2: number, arg3: number[]): Promise; - addKernelProfileListener(listener: ProfileListener): number; + addKernelProfileListener(listener: NodeIKernelProfileListener): number; removeKernelProfileListener(listenerId: number): void; diff --git a/src/core/wrapper/wrapper.ts b/src/core/wrapper/wrapper.ts index 95bd0c1f..d3f982fb 100644 --- a/src/core/wrapper/wrapper.ts +++ b/src/core/wrapper/wrapper.ts @@ -1,11 +1,6 @@ import { NodeIDependsAdapter, NodeIDispatcherAdapter, NodeIGlobalAdapter } from '../adapters'; import { - NodeIKernelBuddyListener, - NodeIKernelGroupListener, - NodeIKernelLoginListener, - NodeIKernelMsgListener, - NodeIKernelProfileListener, - NodeIKernelSessionListener, + NodeIKernelSessionListener } from '../listeners'; import { NodeIKernelAvatarService, @@ -278,20 +273,11 @@ export interface NodeIQQNTWrapperEngine { export interface WrapperNodeApi { [key: string]: any; - NodeIKernelBuddyListener: NodeIKernelBuddyListener; - NodeIKernelGroupListener: NodeIKernelGroupListener; NodeQQNTWrapperUtil: NodeQQNTWrapperUtil; NodeIQQNTWrapperSession: NodeIQQNTWrapperSession; - NodeIKernelMsgListener: NodeIKernelMsgListener; NodeIQQNTWrapperEngine: NodeIQQNTWrapperEngine; - NodeIGlobalAdapter: NodeIGlobalAdapter; - NodeIDependsAdapter: NodeIDependsAdapter; - NodeIDispatcherAdapter: NodeIDispatcherAdapter; - NodeIKernelSessionListener: NodeIKernelSessionListener; NodeIKernelLoginService: NodeIKernelLoginService; - NodeIKernelLoginListener: NodeIKernelLoginListener; NodeIKernelProfileService: NodeIKernelProfileService; - NodeIKernelProfileListener: NodeIKernelProfileListener; } export enum PlatformType { diff --git a/src/framework/napcat.ts b/src/framework/napcat.ts index 465b7a74..cc4ffe1e 100644 --- a/src/framework/napcat.ts +++ b/src/framework/napcat.ts @@ -5,7 +5,7 @@ import { QQBasicInfoWrapper } from '@/common/utils/QQBasicInfo'; import { loadQQWrapper, NapCatCore, NapCatCoreWorkingEnv } from '@/core/core'; import { InstanceContext } from '@/core'; import { SelfInfo } from '@/core/entities'; -import { LoginListener } from '@/core/listeners'; +import { NodeIKernelLoginListener } from '@/core/listeners'; import { NodeIKernelLoginService } from '@/core/services'; import { NodeIQQNTWrapperSession, WrapperNodeApi } from '@/core/wrapper/wrapper'; import { InitWebUi, WebUiConfig } from '@/webui'; @@ -29,7 +29,7 @@ export async function NCoreInitFramework( const wrapper = loadQQWrapper(basicInfoWrapper.getFullQQVesion()); //直到登录成功后,执行下一步 const selfInfo = await new Promise((resolveSelfInfo) => { - const loginListener = new LoginListener(); + const loginListener = new NodeIKernelLoginListener(); loginListener.onQRCodeLoginSucceed = async (loginResult) => { await new Promise(resolvePendingInit => { registerInitCallback(() => resolvePendingInit()); diff --git a/src/onebot/index.ts b/src/onebot/index.ts index a0538c0c..a2758f76 100644 --- a/src/onebot/index.ts +++ b/src/onebot/index.ts @@ -1,10 +1,9 @@ import { - BuddyListener, + NodeIKernelBuddyListener, BuddyReqType, ChatType, - GroupListener, InstanceContext, - MsgListener, + NodeIKernelMsgListener, NapCatCore, RawMessage, SendStatusType, @@ -12,6 +11,7 @@ import { GroupNotifyMsgType, GroupNotifyMsgStatus, DataSource, + NodeIKernelGroupListener, } from '@/core'; import { OB11Config, OB11ConfigLoader } from '@/onebot/helper/config'; import { OneBotApiContextType } from '@/onebot/types'; @@ -219,7 +219,7 @@ export class NapCatOneBot11Adapter { } private initMsgListener() { - const msgListener = new MsgListener(); + const msgListener = new NodeIKernelMsgListener(); msgListener.onInputStatusPush = async data => { const uin = await this.core.apis.UserApi.getUinByUidV2(data.fromUin); this.context.logger.log(`[Notice] [输入状态] ${uin} ${data.statusText}`); @@ -284,7 +284,7 @@ export class NapCatOneBot11Adapter { } private initBuddyListener() { - const buddyListener = new BuddyListener(); + const buddyListener = new NodeIKernelBuddyListener(); buddyListener.onBuddyReqChange = async reqs => { this.core.apis.FriendApi.clearBuddyReqUnreadCnt(); @@ -319,7 +319,7 @@ export class NapCatOneBot11Adapter { } private initGroupListener() { - const groupListener = new GroupListener(); + const groupListener = new NodeIKernelGroupListener(); groupListener.onGroupNotifiesUpdated = async (_, notifies) => { //console.log('ob11 onGroupNotifiesUpdated', notifies[0]); diff --git a/src/shell/napcat.ts b/src/shell/napcat.ts index 8747ab5a..103f657f 100644 --- a/src/shell/napcat.ts +++ b/src/shell/napcat.ts @@ -1,7 +1,7 @@ import type { SelfInfo } from '@/core/entities'; import { LogWrapper } from '@/common/utils/log'; -import { LoginListener, NodeIKernelSessionListener } from '@/core/listeners'; +import { NodeIKernelLoginListener, NodeIKernelSessionListener } from '@/core/listeners'; import { NodeIDispatcherAdapter, NodeIDependsAdapter, NodeIGlobalAdapter } from '@/core/adapters'; import { NapCatPathWrapper } from '@/common/framework/napcat'; import { @@ -93,7 +93,7 @@ export async function NCoreInitShell() { } const selfInfo = await new Promise((resolve, reject) => { - const loginListener = new LoginListener(); + const loginListener = new NodeIKernelLoginListener(); // from constructor loginListener.onUserLoggedIn = (userid: string) => { @@ -190,7 +190,7 @@ export async function NCoreInitShell() { logger.log(`可用于快速登录的 QQ:\n${historyLoginList .map((u, index) => `${index + 1}. ${u.uin} ${u.nickName}`) .join('\n') - }`); + }`); } loginService.getQRCodePicture(); }