From eb61b5a6537590a89398c303017fb8d743644b48 Mon Sep 17 00:00:00 2001 From: Almeida Date: Sat, 8 May 2021 15:35:05 +0100 Subject: [PATCH 1/2] added allow_further_rules option to automod rules This essentially makes it so you can run multiple rules at once --- backend/src/plugins/Automod/AutomodPlugin.ts | 4 ++++ backend/src/plugins/Automod/functions/runAutomod.ts | 5 +++-- backend/src/plugins/Automod/types.ts | 1 + 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/backend/src/plugins/Automod/AutomodPlugin.ts b/backend/src/plugins/Automod/AutomodPlugin.ts index eb2484dd..8170f632 100644 --- a/backend/src/plugins/Automod/AutomodPlugin.ts +++ b/backend/src/plugins/Automod/AutomodPlugin.ts @@ -73,6 +73,10 @@ const configPreprocessor: ConfigPreprocessorFn = options => { rule["enabled"] = true; } + if (rule["allow_further_rules"] == null) { + rule["allow_further_rules"] = false; + } + if (rule["affects_bots"] == null) { rule["affects_bots"] = false; } diff --git a/backend/src/plugins/Automod/functions/runAutomod.ts b/backend/src/plugins/Automod/functions/runAutomod.ts index bf22cc5e..65ff8b0a 100644 --- a/backend/src/plugins/Automod/functions/runAutomod.ts +++ b/backend/src/plugins/Automod/functions/runAutomod.ts @@ -72,12 +72,13 @@ export async function runAutomod(pluginData: GuildPluginData, matchResult.fullSummary = `Triggered automod rule **${ruleName}**\n${matchResult.summary}`.trim(); - break triggerLoop; + if (!rule.allow_further_rules) break triggerLoop; } } } if (matchResult) { + console.log("matchResult exists"); for (const [actionName, actionConfig] of Object.entries(rule.actions)) { if (actionConfig == null || actionConfig === false) { continue; @@ -94,7 +95,7 @@ export async function runAutomod(pluginData: GuildPluginData, }); } - break; + if (!rule.allow_further_rules) break; } } } diff --git a/backend/src/plugins/Automod/types.ts b/backend/src/plugins/Automod/types.ts index 3981860d..2f8107fc 100644 --- a/backend/src/plugins/Automod/types.ts +++ b/backend/src/plugins/Automod/types.ts @@ -26,6 +26,7 @@ export const Rule = t.type({ triggers: t.array(t.partial(AvailableTriggers.props)), actions: t.partial(AvailableActions.props), cooldown: tNullable(t.string), + allow_further_rules: t.boolean, }); export type TRule = t.TypeOf; From 28f4fc01c0909cb9e274cda3e085082d9ee3c0d2 Mon Sep 17 00:00:00 2001 From: Almeida Date: Sat, 8 May 2021 21:04:17 +0100 Subject: [PATCH 2/2] removed leftover console.log --- backend/src/plugins/Automod/functions/runAutomod.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/backend/src/plugins/Automod/functions/runAutomod.ts b/backend/src/plugins/Automod/functions/runAutomod.ts index 65ff8b0a..67675565 100644 --- a/backend/src/plugins/Automod/functions/runAutomod.ts +++ b/backend/src/plugins/Automod/functions/runAutomod.ts @@ -78,7 +78,6 @@ export async function runAutomod(pluginData: GuildPluginData, } if (matchResult) { - console.log("matchResult exists"); for (const [actionName, actionConfig] of Object.entries(rule.actions)) { if (actionConfig == null || actionConfig === false) { continue;