Add auto save and load

This commit is contained in:
Aslan 2025-12-23 07:56:01 -05:00
parent 9cabbc8813
commit 93ac1a980e
4 changed files with 11 additions and 2 deletions

View file

@ -2,6 +2,7 @@ import config from "./config.json" with { type: "json" };
import { MatrixClient, createClient, ClientEvent } from "matrix-js-sdk";
import { registerModules } from "./modules/module.js";
import { load, save } from "./store/store.js";
let matrixClient: MatrixClient | undefined = undefined;
@ -38,4 +39,7 @@ if (initCode > 0) {
process.exit(initCode);
}
load();
setInterval(() => save(), 60000);
listen();

View file

@ -49,8 +49,8 @@ const onHelp = (_text: string, roomId: string) => {
<hr/>
<h3>Role: Moderator</h3>
<ul>
<li><b>!load</b> - Load bot data</li>
<li><b>!save</b> - Save bot data</li>
<li><b>!loaddata</b> - Load bot data</li>
<li><b>!savedata</b> - Save bot data</li>
</ul>
<hr/>
<h3>Role: Admin</h3>

View file

@ -13,11 +13,15 @@ const load = () => {
return;
}
console.log("loading data...");
const json = readFileSync(config.storePath).toString();
state = JSON.parse(json) as IState;
};
const save = () => {
console.log("saving data...");
const json = JSON.stringify(state);
writeFileSync(config.storePath, json);
};