diff --git a/src/ai.ts b/src/ai.ts index 5d7476f..5bffc4d 100644 --- a/src/ai.ts +++ b/src/ai.ts @@ -54,7 +54,6 @@ export default class 藍 { private mentionHooks: MentionHook[] = []; private contextHooks: { [moduleName: string]: ContextHook } = {}; private timeoutCallbacks: { [moduleName: string]: TimeoutCallback } = {}; - public installedModules: { [moduleName: string]: InstalledModule } = {}; public db: loki; public lastSleepedAt: number; diff --git a/src/module.ts b/src/module.ts index ce271f9..6684e91 100644 --- a/src/module.ts +++ b/src/module.ts @@ -75,10 +75,16 @@ export default abstract class Module { */ @bindThis protected getData() { - const doc = this.ai.moduleData.findOne({ + let doc = this.ai.moduleData.findOne({ module: this.name }); - return doc?.data; + if (doc == null) { + doc = this.ai.moduleData.insertOne({ + module: this.name, + data: {} + }); + } + return doc.data; } /** @@ -124,7 +130,7 @@ export abstract class InstalledModule imp this.doc = doc; } - ai.installedModules[module.name] = this; + module.installed = this; } @bindThis