From 439d3f7480caa5bbb42db5922c045b583b94f663 Mon Sep 17 00:00:00 2001 From: Fuwn Date: Thu, 25 Sep 2025 17:23:38 -0700 Subject: fix(gateway:aiModeration): Severity-gate message deletion --- packages/gateway/src/listeners/aiModeration.ts | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) (limited to 'packages') diff --git a/packages/gateway/src/listeners/aiModeration.ts b/packages/gateway/src/listeners/aiModeration.ts index 0764307..16a75d2 100644 --- a/packages/gateway/src/listeners/aiModeration.ts +++ b/packages/gateway/src/listeners/aiModeration.ts @@ -294,16 +294,21 @@ export const handleAIModeration = (client: Client) => { `AI Moderation: Violation detected - ${analysis.rule} (severity: ${analysis.severity}, confidence: ${analysis.confidence}%)`, ); - try { - await message.delete(); - console.log(`AI Moderation: Deleted violating message`); - } catch (error) { - console.error("Failed to delete message:", error); + if ((analysis.severity === 'critical' || analysis.severity === 'high') && analysis.confidence >= 85) { + try { + await message.delete(); + console.log(`AI Moderation: Auto-deleted high severity violation`); + } catch (error) { + console.error("Failed to delete message:", error); + } + } else { + console.log(`AI Moderation: Logging violation for human review (severity: ${analysis.severity}, confidence: ${analysis.confidence}%)`); } const { EmbedBuilder } = await import("discord.js"); + const wasDeleted = (analysis.severity === 'critical' || analysis.severity === 'high') && analysis.confidence >= 85; const embed = new EmbedBuilder() - .setTitle("🤖 Message Deleted - Rule Violation") + .setTitle(wasDeleted ? "🤖 Message Deleted - Rule Violation" : "⚠️ Rule Violation Detected") .setColor( analysis.severity === "critical" ? "#ff0000" @@ -357,7 +362,7 @@ export const handleAIModeration = (client: Client) => { if (message.content && message.content.length <= 1000) embed.addFields({ - name: "Deleted Message Content", + name: wasDeleted ? "Deleted Message Content" : "Message Content", value: message.content, inline: false, }); -- cgit v1.2.3