From bc62feb71b868a617067d8ee373e2cb70b52195e Mon Sep 17 00:00:00 2001 From: "Wesley F. Young" Date: Mon, 26 Aug 2024 10:04:21 +0800 Subject: [PATCH] refactor: normalize naming --- src/core/core.ts | 4 ++-- src/core/wrapper/context.ts | 2 +- src/onebot/action/go-cqhttp/GetForwardMsg.ts | 8 ++------ src/onebot/action/go-cqhttp/GetFriendMsgHistory.ts | 2 +- src/onebot/action/go-cqhttp/GetGroupMsgHistory.ts | 2 +- src/onebot/action/go-cqhttp/UploadGroupFile.ts | 2 +- src/onebot/action/go-cqhttp/UploadPrivateFile.ts | 2 +- src/onebot/action/msg/GetMsg.ts | 2 +- src/onebot/action/msg/SendMsg.ts | 8 ++++---- src/onebot/action/user/GetRecentContact.ts | 2 +- src/onebot/helper/event.ts | 12 ++++++------ src/onebot/helper/quick.ts | 4 ++-- src/onebot/index.ts | 10 +++++----- src/onebot/types/adapter.ts | 2 +- 14 files changed, 29 insertions(+), 33 deletions(-) diff --git a/src/core/core.ts b/src/core/core.ts index 038239a0b..b8957c1c0 100644 --- a/src/core/core.ts +++ b/src/core/core.ts @@ -1,4 +1,4 @@ -import { NodeQQNTWrapperUtil, NTApiContext, WrapperNodeApi } from '@/core/wrapper'; +import { NodeQQNTWrapperUtil, StableNTApiWrapper, WrapperNodeApi } from '@/core/wrapper'; import path from 'node:path'; import fs from 'node:fs'; import { InstanceContext } from './wrapper'; @@ -30,7 +30,7 @@ export function loadQQWrapper(QQVersion: string): WrapperNodeApi { export class NapCatCore { readonly context: InstanceContext; - readonly apis: NTApiContext; + readonly apis: StableNTApiWrapper; readonly eventWrapper: LegacyNTEventWrapper; // readonly eventChannel: NTEventChannel; NapCatDataPath: string; diff --git a/src/core/wrapper/context.ts b/src/core/wrapper/context.ts index a658d6d04..3f997018e 100644 --- a/src/core/wrapper/context.ts +++ b/src/core/wrapper/context.ts @@ -15,7 +15,7 @@ export interface InstanceContext { readonly pathWrapper: NapCatPathWrapper; } -export interface NTApiContext { +export interface StableNTApiWrapper { FileApi: NTQQFileApi, SystemApi: NTQQSystemApi, CollectionApi: NTQQCollectionApi, diff --git a/src/onebot/action/go-cqhttp/GetForwardMsg.ts b/src/onebot/action/go-cqhttp/GetForwardMsg.ts index b99eaf08e..a0b782481 100644 --- a/src/onebot/action/go-cqhttp/GetForwardMsg.ts +++ b/src/onebot/action/go-cqhttp/GetForwardMsg.ts @@ -1,5 +1,5 @@ import BaseAction from '../BaseAction'; -import { OB11ForwardMessage, OB11Message, OB11MessageData } from '@/onebot'; +import { OB11ForwardMessage } from '@/onebot'; import { ActionName } from '../types'; import { FromSchema, JSONSchema } from 'json-schema-to-ts'; import { MessageUnique } from '@/common/utils/MessageUnique'; @@ -14,10 +14,6 @@ const SchemaData = { type Payload = FromSchema; -interface Response { - messages: (OB11Message & { content: OB11MessageData })[]; -} - export class GoCQHTTPGetForwardMsgAction extends BaseAction { actionName = ActionName.GoCQHTTP_GetForwardMsg; payloadSchema = SchemaData; @@ -39,7 +35,7 @@ export class GoCQHTTPGetForwardMsgAction extends BaseAction { } const msgList = data.msgList; const messages = (await Promise.all(msgList.map(async msg => { - const resMsg = await this.obContext.apiContext.MsgApi + const resMsg = await this.obContext.apis.MsgApi .parseMessage(msg); if (!resMsg) return; resMsg.message_id = MessageUnique.createMsg({ diff --git a/src/onebot/action/go-cqhttp/GetFriendMsgHistory.ts b/src/onebot/action/go-cqhttp/GetFriendMsgHistory.ts index 117730721..2510742df 100644 --- a/src/onebot/action/go-cqhttp/GetFriendMsgHistory.ts +++ b/src/onebot/action/go-cqhttp/GetFriendMsgHistory.ts @@ -53,7 +53,7 @@ export default class GetFriendMsgHistory extends BaseAction { })); //转换消息 const ob11MsgList = (await Promise.all( - msgList.map(msg => this.obContext.apiContext.MsgApi.parseMessage(msg))) + msgList.map(msg => this.obContext.apis.MsgApi.parseMessage(msg))) ).filter(msg => msg !== undefined); return { 'messages': ob11MsgList }; } diff --git a/src/onebot/action/go-cqhttp/GetGroupMsgHistory.ts b/src/onebot/action/go-cqhttp/GetGroupMsgHistory.ts index f26b66d8a..7cefd1328 100644 --- a/src/onebot/action/go-cqhttp/GetGroupMsgHistory.ts +++ b/src/onebot/action/go-cqhttp/GetGroupMsgHistory.ts @@ -48,7 +48,7 @@ export default class GoCQHTTPGetGroupMsgHistory extends BaseAction this.obContext.apiContext.MsgApi.parseMessage(msg))) + msgList.map(msg => this.obContext.apis.MsgApi.parseMessage(msg))) ).filter(msg => msg !== undefined); return { 'messages': ob11MsgList }; } diff --git a/src/onebot/action/go-cqhttp/UploadGroupFile.ts b/src/onebot/action/go-cqhttp/UploadGroupFile.ts index 7fa05c620..defec767c 100644 --- a/src/onebot/action/go-cqhttp/UploadGroupFile.ts +++ b/src/onebot/action/go-cqhttp/UploadGroupFile.ts @@ -33,7 +33,7 @@ export default class GoCQHTTPUploadGroupFile extends BaseAction { throw new Error(downloadResult.errMsg); } const sendFileEle = await this.core.apis.FileApi.createValidSendFileElement(downloadResult.path, payload.name, payload.folder_id); - await this.obContext.apiContext.MsgApi.sendMsgWithOb11UniqueId({ + await this.obContext.apis.MsgApi.sendMsgWithOb11UniqueId({ chatType: ChatType.KCHATTYPEGROUP, peerUid: payload.group_id.toString(), }, [sendFileEle], [], true); diff --git a/src/onebot/action/go-cqhttp/UploadPrivateFile.ts b/src/onebot/action/go-cqhttp/UploadPrivateFile.ts index 1d283c83f..c79886535 100644 --- a/src/onebot/action/go-cqhttp/UploadPrivateFile.ts +++ b/src/onebot/action/go-cqhttp/UploadPrivateFile.ts @@ -45,7 +45,7 @@ export default class GoCQHTTPUploadPrivateFile extends BaseAction throw new Error(downloadResult.errMsg); } const sendFileEle: SendFileElement = await this.core.apis.FileApi.createValidSendFileElement(downloadResult.path, payload.name); - await this.obContext.apiContext.MsgApi.sendMsgWithOb11UniqueId(await this.getPeer(payload), [sendFileEle], [], true); + await this.obContext.apis.MsgApi.sendMsgWithOb11UniqueId(await this.getPeer(payload), [sendFileEle], [], true); return null; } } diff --git a/src/onebot/action/msg/GetMsg.ts b/src/onebot/action/msg/GetMsg.ts index b36443c5f..70a569b6d 100644 --- a/src/onebot/action/msg/GetMsg.ts +++ b/src/onebot/action/msg/GetMsg.ts @@ -36,7 +36,7 @@ class GetMsg extends BaseAction { const msg = await NTQQMsgApi.getMsgsByMsgId( peer, [msgIdWithPeer?.MsgId || payload.message_id.toString()]); - const retMsg = await this.obContext.apiContext.MsgApi.parseMessage(msg.msgList[0], 'array'); + const retMsg = await this.obContext.apis.MsgApi.parseMessage(msg.msgList[0], 'array'); if (!retMsg) throw Error('消息为空'); try { retMsg.message_id = MessageUnique.createMsg(peer, msg.msgList[0].msgId)!; diff --git a/src/onebot/action/msg/SendMsg.ts b/src/onebot/action/msg/SendMsg.ts index 618b1287e..1c4203471 100644 --- a/src/onebot/action/msg/SendMsg.ts +++ b/src/onebot/action/msg/SendMsg.ts @@ -137,9 +137,9 @@ export class SendMsg extends BaseAction { } // log("send msg:", peer, sendElements) - const { sendElements, deleteAfterSentFiles } = await this.obContext.apiContext.MsgApi + const { sendElements, deleteAfterSentFiles } = await this.obContext.apis.MsgApi .createSendElements(messages, peer); - const returnMsg = await this.obContext.apiContext.MsgApi.sendMsgWithOb11UniqueId(peer, sendElements, deleteAfterSentFiles); + const returnMsg = await this.obContext.apis.MsgApi.sendMsgWithOb11UniqueId(peer, sendElements, deleteAfterSentFiles); return { message_id: returnMsg!.id! }; } @@ -180,7 +180,7 @@ export class SendMsg extends BaseAction { //完成子卡片生成跳过后续 continue; } - const { sendElements } = await this.obContext.apiContext.MsgApi + const { sendElements } = await this.obContext.apis.MsgApi .createSendElements(OB11Data, destPeer); //拆分消息 const MixElement = sendElements.filter(element => element.elementType !== ElementType.FILE && element.elementType !== ElementType.VIDEO); @@ -188,7 +188,7 @@ export class SendMsg extends BaseAction { const AllElement: SendMessageElement[][] = [MixElement, ...SingleElement].filter(e => e !== undefined && e.length !== 0); const MsgNodeList: Promise[] = []; for (const sendElementsSplitElement of AllElement) { - MsgNodeList.push(this.obContext.apiContext.MsgApi.sendMsgWithOb11UniqueId(selfPeer, sendElementsSplitElement, [], true).catch(_ => undefined)); + MsgNodeList.push(this.obContext.apis.MsgApi.sendMsgWithOb11UniqueId(selfPeer, sendElementsSplitElement, [], true).catch(_ => undefined)); } (await Promise.allSettled(MsgNodeList)).map((result) => { if (result.status === 'fulfilled' && result.value) { diff --git a/src/onebot/action/user/GetRecentContact.ts b/src/onebot/action/user/GetRecentContact.ts index 54a49b495..24db32804 100644 --- a/src/onebot/action/user/GetRecentContact.ts +++ b/src/onebot/action/user/GetRecentContact.ts @@ -23,7 +23,7 @@ export default class GetRecentContact extends BaseAction { const FastMsg = await NTQQMsgApi.getMsgsByMsgId({ chatType: t.chatType, peerUid: t.peerUid }, [t.msgId]); if (FastMsg.msgList.length > 0) { //扩展ret.info.changedList - const lastestMsg = await this.obContext.apiContext.MsgApi.parseMessage(FastMsg.msgList[0], 'array'); + const lastestMsg = await this.obContext.apis.MsgApi.parseMessage(FastMsg.msgList[0], 'array'); return { lastestMsg: lastestMsg, peerUin: t.peerUin, diff --git a/src/onebot/helper/event.ts b/src/onebot/helper/event.ts index 8589e8e49..9f9b4b3ed 100644 --- a/src/onebot/helper/event.ts +++ b/src/onebot/helper/event.ts @@ -19,7 +19,7 @@ export async function NT2PrivateEvent(core: NapCatCore, obContext: NapCatOneBot1 if (element.grayTipElement) { if (element.grayTipElement.subElementType == NTGrayTipElementSubTypeV2.GRAYTIP_ELEMENT_SUBTYPE_JSON) { if (element.grayTipElement.jsonGrayTipElement.busiId == 1061) { - const PokeEvent = await obContext.apiContext.FriendApi.parsePrivatePokeEvent(element.grayTipElement); + const PokeEvent = await obContext.apis.FriendApi.parsePrivatePokeEvent(element.grayTipElement); if (PokeEvent) return PokeEvent; } } @@ -56,15 +56,15 @@ export async function NT2GroupEvent(core: NapCatCore, obContext: NapCatOneBot11A if (element.grayTipElement && element.grayTipElement.groupElement) { const groupElement = element.grayTipElement.groupElement; if (groupElement.type == TipGroupElementType.memberIncrease) { - const MemberIncreaseEvent = await obContext.apiContext.GroupApi.parseGroupMemberIncreaseEvent(msg.peerUid, element.grayTipElement); + const MemberIncreaseEvent = await obContext.apis.GroupApi.parseGroupMemberIncreaseEvent(msg.peerUid, element.grayTipElement); if (MemberIncreaseEvent) return MemberIncreaseEvent; } else if (groupElement.type === TipGroupElementType.ban) { - const BanEvent = await obContext.apiContext.GroupApi.parseGroupBanEvent(msg.peerUid, element.grayTipElement); + const BanEvent = await obContext.apis.GroupApi.parseGroupBanEvent(msg.peerUid, element.grayTipElement); if (BanEvent) return BanEvent; } else if (groupElement.type == TipGroupElementType.kicked) { NTQQGroupApi.quitGroup(msg.peerUid).then(); try { - const KickEvent = await obContext.apiContext.GroupApi.parseGroupKickEvent(msg.peerUid, element.grayTipElement); + const KickEvent = await obContext.apis.GroupApi.parseGroupKickEvent(msg.peerUid, element.grayTipElement); if (KickEvent) return KickEvent; } catch (e) { return new OB11GroupDecreaseEvent( @@ -90,11 +90,11 @@ export async function NT2GroupEvent(core: NapCatCore, obContext: NapCatOneBot11A } if (element.grayTipElement) { if (element.grayTipElement.xmlElement?.templId === '10382') { - const emojiLikeEvent = await obContext.apiContext.GroupApi.parseGroupEmjioLikeEvent(msg.peerUid, element.grayTipElement); + const emojiLikeEvent = await obContext.apis.GroupApi.parseGroupEmjioLikeEvent(msg.peerUid, element.grayTipElement); if (emojiLikeEvent) return emojiLikeEvent; } if (element.grayTipElement.subElementType == NTGrayTipElementSubTypeV2.GRAYTIP_ELEMENT_SUBTYPE_XMLMSG) { - const GroupIncreaseEvent = await obContext.apiContext.GroupApi.parseGroupIncreaseEvent(msg.peerUid, element.grayTipElement); + const GroupIncreaseEvent = await obContext.apis.GroupApi.parseGroupIncreaseEvent(msg.peerUid, element.grayTipElement); if (GroupIncreaseEvent) return GroupIncreaseEvent; } diff --git a/src/onebot/helper/quick.ts b/src/onebot/helper/quick.ts index 027b4251b..299666482 100644 --- a/src/onebot/helper/quick.ts +++ b/src/onebot/helper/quick.ts @@ -53,8 +53,8 @@ async function handleMsg(core: NapCatCore, obContext: NapCatOneBot11Adapter, msg } } replyMessage = replyMessage.concat(normalize(reply, quickAction.auto_escape)); - const { sendElements, deleteAfterSentFiles } = await obContext.apiContext.MsgApi.createSendElements(replyMessage, peer); - obContext.apiContext.MsgApi.sendMsgWithOb11UniqueId(peer, sendElements, deleteAfterSentFiles, false).then().catch(core.context.logger.logError); + const { sendElements, deleteAfterSentFiles } = await obContext.apis.MsgApi.createSendElements(replyMessage, peer); + obContext.apis.MsgApi.sendMsgWithOb11UniqueId(peer, sendElements, deleteAfterSentFiles, false).then().catch(core.context.logger.logError); } } diff --git a/src/onebot/index.ts b/src/onebot/index.ts index a2758f760..5b44e47b9 100644 --- a/src/onebot/index.ts +++ b/src/onebot/index.ts @@ -14,7 +14,7 @@ import { NodeIKernelGroupListener, } from '@/core'; import { OB11Config, OB11ConfigLoader } from '@/onebot/helper/config'; -import { OneBotApiContextType } from '@/onebot/types'; +import { StableOneBotApiWrapper } from '@/onebot/types'; import { OB11ActiveHttpAdapter, OB11ActiveWebSocketAdapter, @@ -44,7 +44,7 @@ export class NapCatOneBot11Adapter { readonly context: InstanceContext; configLoader: OB11ConfigLoader; - apiContext: OneBotApiContextType; + apis: StableOneBotApiWrapper; networkManager: OB11NetworkManager; actions: ActionMap; @@ -54,7 +54,7 @@ export class NapCatOneBot11Adapter { this.core = core; this.context = context; this.configLoader = new OB11ConfigLoader(core, pathWrapper.configPath); - this.apiContext = { + this.apis = { GroupApi: new OneBotGroupApi(this, core), UserApi: new OneBotUserApi(this, core), FriendApi: new OneBotFriendApi(this, core), @@ -259,7 +259,7 @@ export class NapCatOneBot11Adapter { if (msg.sendStatus == SendStatusType.KSEND_STATUS_SUCCESS && !msgIdSend.get(msg.msgId)) { msgIdSend.put(msg.msgId, true); // 完成后再post - this.apiContext.MsgApi.parseMessage(msg) + this.apis.MsgApi.parseMessage(msg) .then((ob11Msg) => { if (!ob11Msg) return; ob11Msg.target_id = parseInt(msg.peerUin); @@ -457,7 +457,7 @@ export class NapCatOneBot11Adapter { private async emitMsg(message: RawMessage) { const { debug, reportSelfMessage, messagePostFormat } = this.configLoader.configData; this.context.logger.logDebug('收到新消息 RawMessage', message); - this.apiContext.MsgApi.parseMessage(message, messagePostFormat).then((ob11Msg) => { + this.apis.MsgApi.parseMessage(message, messagePostFormat).then((ob11Msg) => { if (!ob11Msg) return; this.context.logger.logDebug('转化为 OB11Message', ob11Msg); if (debug) { diff --git a/src/onebot/types/adapter.ts b/src/onebot/types/adapter.ts index 868708c2c..0b5918ceb 100644 --- a/src/onebot/types/adapter.ts +++ b/src/onebot/types/adapter.ts @@ -1,6 +1,6 @@ import { OneBotFriendApi, OneBotGroupApi, OneBotMsgApi, OneBotUserApi } from '../api'; -export interface OneBotApiContextType { +export interface StableOneBotApiWrapper { FriendApi: OneBotFriendApi; UserApi: OneBotUserApi; GroupApi: OneBotGroupApi;