diff --git a/backend/src/index.ts b/backend/src/index.ts index 3aa68707..5597ce3a 100644 --- a/backend/src/index.ts +++ b/backend/src/index.ts @@ -11,7 +11,7 @@ import { Configs } from "./data/Configs"; import moment from "moment-timezone"; import { Client, TextChannel } from "eris"; import { connect } from "./data/db"; -import { globalPlugins, guildPlugins } from "./plugins/availablePlugins"; +import { baseGuildPlugins, globalPlugins, guildPlugins } from "./plugins/availablePlugins"; import { errorMessage, isDiscordHTTPError, isDiscordRESTError, successMessage } from "./utils"; import { startUptimeCounter } from "./uptime"; import { AllowedGuilds } from "./data/AllowedGuilds"; @@ -156,8 +156,10 @@ connect().then(async () => { */ async getEnabledGuildPlugins(ctx, plugins): Promise { const configuredPlugins = ctx.config.plugins || []; + const basePluginNames = baseGuildPlugins.map(p => p.name); return Array.from(plugins.keys()).filter(pluginName => { + if (basePluginNames.includes(pluginName)) return true; return configuredPlugins[pluginName] && configuredPlugins[pluginName].enabled !== false; }); }, diff --git a/backend/src/plugins/availablePlugins.ts b/backend/src/plugins/availablePlugins.ts index fb74aa5d..158b3d7b 100644 --- a/backend/src/plugins/availablePlugins.ts +++ b/backend/src/plugins/availablePlugins.ts @@ -69,3 +69,13 @@ export const globalPlugins = [ GuildConfigReloaderPlugin, BotControlPlugin, ]; + +// prettier-ignore +export const baseGuildPlugins: Array> = [ + GuildInfoSaverPlugin, + MessageSaverPlugin, + NameHistoryPlugin, + CasesPlugin, + MutesPlugin, + // TODO: Replace these with proper dependencies +];