diff --git a/src/common/utils/ConfigBase.ts b/src/common/utils/ConfigBase.ts index fbf0b7d0..87ba0f30 100644 --- a/src/common/utils/ConfigBase.ts +++ b/src/common/utils/ConfigBase.ts @@ -73,8 +73,12 @@ export class ConfigBase { } } - save(config: T) { + save(config: T, overwrite: boolean = false) { Object.assign(this, config); + if (overwrite) { + // 用户要求强制写入,则变更当前文件为目标文件 + this.pathName = `${selfInfo.uin}` + } const configPath = this.getConfigPath(this.pathName); try { fs.writeFileSync(configPath, JSON.stringify(this, this.getKeys(), 2)); diff --git a/src/onebot11/action/extends/Config.ts b/src/onebot11/action/extends/Config.ts index a0b7a4f3..a847ae27 100644 --- a/src/onebot11/action/extends/Config.ts +++ b/src/onebot11/action/extends/Config.ts @@ -15,6 +15,6 @@ export class SetConfigAction extends BaseAction { actionName = ActionName.SetConfig; protected async _handle(payload: OB11Config): Promise { - ob11Config.save(payload); + ob11Config.save(payload, true); } } diff --git a/src/onebot11/main.ts b/src/onebot11/main.ts index a44d8de8..4d713d12 100644 --- a/src/onebot11/main.ts +++ b/src/onebot11/main.ts @@ -377,7 +377,7 @@ export class NapCatOnebot11 { // throw new Error('Invalid configuration object'); // } const OldConfig = JSON.parse(JSON.stringify(ob11Config)); //进行深拷贝 - ob11Config.save(NewOb11);//保存新配置 + ob11Config.save(NewOb11, true);//保存新配置 const isHttpChanged = !isEqual(NewOb11.http.port, OldConfig.http.port); const isHttpEnableChanged = !isEqual(NewOb11.http.enable, OldConfig.http.enable); @@ -500,7 +500,7 @@ export class NapCatOnebot11 { groupRequestEvent.flag = flag; postOB11Event(groupRequestEvent); } else if (notify.type == GroupNotifyTypes.INVITE_ME) { - logDebug('收到邀请我加群通知'); + logDebug(`收到邀请我加群通知:${notify}`); const groupInviteEvent = new OB11GroupRequestEvent(); groupInviteEvent.group_id = parseInt(notify.group.groupCode); const user_id = (await NTQQUserApi.getUinByUid(notify.user2.uid)) || '';