Initial code

This commit is contained in:
Aslan 2025-12-23 07:18:10 -05:00
commit 1f20a611da
26 changed files with 1050 additions and 0 deletions

View file

@ -0,0 +1,47 @@
import { MatrixClient } from "matrix-js-sdk";
import type { ICallbackStore } from "../types.js";
import { config } from "../../config.js";
import { load, save } from "../../store/store.js";
let client: MatrixClient;
const registerModuleAdmin = (
matrixClient: MatrixClient,
callbackStore: ICallbackStore,
) => {
client = matrixClient;
callbackStore.messageCallbacks.push({
startCondition: `${config.app.triggerPrefix}shutdown`,
allowedRoles: ["ADMIN"],
callbackFunc: onShutdown,
});
callbackStore.messageCallbacks.push({
startCondition: `${config.app.triggerPrefix}loaddata`,
allowedRoles: ["MODERATOR", "ADMIN"],
callbackFunc: onLoadData,
});
callbackStore.messageCallbacks.push({
startCondition: `${config.app.triggerPrefix}savedata`,
allowedRoles: ["MODERATOR", "ADMIN"],
callbackFunc: onSaveData,
});
};
const onShutdown = (text: string) => {
if (!text.includes("nosave")) {
save();
}
process.exit(0);
};
const onLoadData = () => {
load();
};
const onSaveData = () => {
save();
};
export { registerModuleAdmin };

View file

@ -0,0 +1 @@
export * from "./admin.js";