mirror of
https://github.com/ZeppelinBot/Zeppelin.git
synced 2025-07-07 19:17:19 +00:00
27 lines
807 B
TypeScript
27 lines
807 B
TypeScript
import { globalPlugin } from "knub";
|
|
import z from "zod";
|
|
import { Configs } from "../../data/Configs.js";
|
|
import { reloadChangedGuilds } from "./functions/reloadChangedGuilds.js";
|
|
import { GuildConfigReloaderPluginType } from "./types.js";
|
|
|
|
export const GuildConfigReloaderPlugin = globalPlugin<GuildConfigReloaderPluginType>()({
|
|
name: "guild_config_reloader",
|
|
|
|
configParser: (input) => z.strictObject({}).parse(input),
|
|
|
|
async beforeLoad(pluginData) {
|
|
const { state } = pluginData;
|
|
|
|
state.guildConfigs = new Configs();
|
|
state.highestConfigId = await state.guildConfigs.getHighestId();
|
|
},
|
|
|
|
afterLoad(pluginData) {
|
|
reloadChangedGuilds(pluginData);
|
|
},
|
|
|
|
beforeUnload(pluginData) {
|
|
clearTimeout(pluginData.state.nextCheckTimeout);
|
|
pluginData.state.unloaded = true;
|
|
},
|
|
});
|