zappyzep/backend/src/plugins/GuildConfigReloader/GuildConfigReloaderPlugin.ts

24 lines
771 B
TypeScript
Raw Normal View History

2020-07-22 22:25:50 +03:00
import { zeppelinPlugin } from "../ZeppelinPluginBlueprint";
import { GuildConfigReloaderPluginType } from "./types";
import { Configs } from "../../data/Configs";
import { reloadChangedGuilds } from "./functions/reloadChangedGuilds";
import * as t from "io-ts";
2020-07-22 22:25:50 +03:00
export const GuildConfigReloaderPlugin = zeppelinPlugin<GuildConfigReloaderPluginType>()("guild_config_reloader", {
showInDocs: false,
configSchema: t.type({}),
2020-07-22 22:25:50 +03:00
async onLoad(pluginData) {
pluginData.state.guildConfigs = new Configs();
pluginData.state.highestConfigId = await pluginData.state.guildConfigs.getHighestId();
reloadChangedGuilds(pluginData);
},
onUnload(pluginData) {
clearTimeout(pluginData.state.nextCheckTimeout);
pluginData.state.unloaded = true;
},
});