3
0
Fork 0
mirror of https://github.com/ZeppelinBot/Zeppelin.git synced 2025-05-15 14:15:03 +00:00

Migrated Persist to new Plugin structure

This commit is contained in:
Dark 2020-07-21 01:02:42 +02:00
parent b6257b9189
commit e1323687a7
5 changed files with 144 additions and 0 deletions

View file

@ -0,0 +1,33 @@
import { PluginOptions } from "knub";
import { zeppelinPlugin } from "../ZeppelinPluginBlueprint";
import { PersistPluginType, ConfigSchema } from "./types";
import { GuildPersistedData } from "src/data/GuildPersistedData";
import { GuildLogs } from "src/data/GuildLogs";
import { StoreDataEvt } from "./events/StoreDataEvt";
import { LoadDataEvt } from "./events/LoadDataEvt";
const defaultOptions: PluginOptions<PersistPluginType> = {
config: {
persisted_roles: [],
persist_nicknames: false,
persist_voice_mutes: false,
},
};
export const PersistPlugin = zeppelinPlugin<PersistPluginType>()("persist", {
configSchema: ConfigSchema,
defaultOptions,
// prettier-ignore
events: [
StoreDataEvt,
LoadDataEvt,
],
onLoad(pluginData) {
const { state, guild } = pluginData;
state.persistedData = GuildPersistedData.getGuildInstance(guild.id);
state.logs = new GuildLogs(guild.id);
},
});