diff --git a/backend/src/plugins/Automod/AutomodPlugin.ts b/backend/src/plugins/Automod/AutomodPlugin.ts index 60f55296..d49ee7b8 100644 --- a/backend/src/plugins/Automod/AutomodPlugin.ts +++ b/backend/src/plugins/Automod/AutomodPlugin.ts @@ -134,6 +134,16 @@ const configPreprocessor: ConfigPreprocessorFn = options => { } if (rule["actions"]) { + if (rule["actions"].change_roles && (rule["actions"].add_roles || rule["actions"].remove_roles)) { + throw new StrictValidationError([ + `Can't use both 'change_roles' and 'add_roles'/'remove_roles' at rule '${rule.name}'`, + ]); + } + if (rule["actions"].add_roles && rule["actions"].remove_roles) { + throw new StrictValidationError([ + `Can't use both 'add_roles' and 'remove_roles' at rule '${rule.name}', use 'change_roles' instead`, + ]); + } for (const actionName in rule["actions"]) { if (!availableActions[actionName]) { throw new StrictValidationError([`Unknown action '${actionName}' in rule '${rule.name}'`]);