diff --git a/api/src/routes/dash/server-automod.ts b/api/src/routes/dash/server-automod.ts index b9386f0..6f8bfae 100644 --- a/api/src/routes/dash/server-automod.ts +++ b/api/src/routes/dash/server-automod.ts @@ -69,12 +69,11 @@ app.patch('/dash/server/:server/automod/:ruleid', requireAuth({ permission: 2 }) $set: { "automodSettings.spam.$[rulefilter]": { ...rule, - action: body.action ?? rule.action, + action: Number(body.action ?? rule.action), channels: body.channels ?? rule.channels, message: body.message ?? rule.message, max_msg: body.max_msg ?? rule.max_msg, timeframe: body.timeframe ?? rule.timeframe, - } as AntispamRule } }, { arrayFilters: [ { "rulefilter.id": ruleid } ] }); diff --git a/bot/src/bot/modules/antispam.ts b/bot/src/bot/modules/antispam.ts index e02fa71..54c51c6 100644 --- a/bot/src/bot/modules/antispam.ts +++ b/bot/src/bot/modules/antispam.ts @@ -46,7 +46,7 @@ async function antispam(message: Message): Promise { logger.info(`Antispam rule triggered: ${rule.max_msg}/${rule.timeframe} -> ${ModerationAction[rule.action]}`); ruleTriggered = true; - switch(rule.action) { + switch(Number(rule.action)) { case ModerationAction.Delete: message.delete() .catch(() => logger.warn('Antispam: Failed to delete message') ); @@ -86,10 +86,11 @@ async function antispam(message: Message): Promise { case ModerationAction.Ban: message.reply('(Ban user)'); break; + default: logger.warn(`Unknown Moderation Action: ${rule.action}`); } } } - + return !ruleTriggered; }