diff --git a/src/core/index.ts b/src/core/index.ts index a9f11647..1135546a 100644 --- a/src/core/index.ts +++ b/src/core/index.ts @@ -84,11 +84,10 @@ export function getMajorPath(QQVersion: string): string { } export class NapCatCore { readonly context: InstanceContext; - readonly apis: StableNTApiWrapper; readonly eventWrapper: NTEventWrapper; - // readonly eventChannel: NTEventChannel; - NapCatDataPath: string; - NapCatTempPath: string; + NapCatDataPath: string = ''; + NapCatTempPath: string = ''; + apis: StableNTApiWrapper; // runtime info, not readonly selfInfo: SelfInfo; util: NodeQQNTWrapperUtil; @@ -112,6 +111,8 @@ export class NapCatCore { UserApi: new NTQQUserApi(this.context, this), GroupApi: new NTQQGroupApi(this.context, this), }; + } + async initCore() { this.NapCatDataPath = path.join(this.dataPath, 'NapCat'); fs.mkdirSync(this.NapCatDataPath, { recursive: true }); this.NapCatTempPath = path.join(this.NapCatDataPath, 'temp'); @@ -133,7 +134,6 @@ export class NapCatCore { this.configLoader.configData.consoleLogLevel as LogLevel, ); } - get dataPath(): string { let result = this.context.wrapper.NodeQQNTWrapperUtil.getNTUserDataInfoConfig(); if (!result) { diff --git a/src/framework/napcat.ts b/src/framework/napcat.ts index b38369da..d5a65353 100644 --- a/src/framework/napcat.ts +++ b/src/framework/napcat.ts @@ -55,11 +55,12 @@ export async function NCoreInitFramework( // await sleep(2500); // 初始化 NapCatFramework const loaderObject = new NapCatFramework(wrapper, session, logger, loginService, selfInfo, basicInfoWrapper, pathWrapper); + await loaderObject.core.initCore(); //启动WebUi InitWebUi(logger, pathWrapper).then().catch(logger.logError.bind(logger)); //初始化LLNC的Onebot实现 - new NapCatOneBot11Adapter(loaderObject.core, loaderObject.context, pathWrapper).InitOneBot(); + await new NapCatOneBot11Adapter(loaderObject.core, loaderObject.context, pathWrapper).InitOneBot(); } export class NapCatFramework { diff --git a/src/shell/napcat.ts b/src/shell/napcat.ts index 33253015..c4cf1d28 100644 --- a/src/shell/napcat.ts +++ b/src/shell/napcat.ts @@ -292,7 +292,7 @@ export async function NCoreInitShell() { fs.mkdirSync(dataPath, { recursive: true }); logger.logDebug('本账号数据/缓存目录:', accountDataPath); - new NapCatShell( + await new NapCatShell( wrapper, session, logger, @@ -331,6 +331,7 @@ export class NapCatShell { } async InitNapCat() { + await this.core.initCore(); new NapCatOneBot11Adapter(this.core, this.context, this.context.pathWrapper).InitOneBot() .catch(e => this.context.logger.logError.bind(this.context.logger)('初始化OneBot失败', e)); }