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

Use actions/events for plugin interoperability. Move base case and mute functionality to their own plugins.

This commit is contained in:
Dragory 2018-11-25 17:04:26 +02:00
parent 22c515be38
commit 2e30a3b9e7
14 changed files with 674 additions and 332 deletions

View file

@ -45,6 +45,8 @@ import { PersistPlugin } from "./plugins/Persist";
import { SpamPlugin } from "./plugins/Spam";
import { TagsPlugin } from "./plugins/Tags";
import { MessageSaverPlugin } from "./plugins/MessageSaver";
import { CasesPlugin } from "./plugins/Cases";
import { MutesPlugin } from "./plugins/Mutes";
// Run latest database migrations
logger.info("Running database migrations");
@ -56,10 +58,16 @@ connect().then(async conn => {
});
client.setMaxListeners(100);
const basePlugins = ["message_saver", "cases", "mutes"];
const bot = new Knub(client, {
plugins: {
messageSaver: MessageSaverPlugin,
// Base plugins (always enabled)
message_saver: MessageSaverPlugin,
cases: CasesPlugin,
mutes: MutesPlugin,
// Regular plugins
utility: UtilityPlugin,
mod_actions: ModActionsPlugin,
logs: LogsPlugin,
@ -80,7 +88,7 @@ connect().then(async conn => {
const plugins = guildConfig.plugins || {};
const keys: string[] = Array.from(this.plugins.keys());
return keys.filter(pluginName => {
return (plugins[pluginName] && plugins[pluginName].enabled !== false) || pluginName === "messageSaver";
return basePlugins.includes(pluginName) || (plugins[pluginName] && plugins[pluginName].enabled !== false);
});
},