diff options
| author | Fuwn <[email protected]> | 2025-09-25 17:23:38 -0700 |
|---|---|---|
| committer | Fuwn <[email protected]> | 2025-09-25 17:23:38 -0700 |
| commit | 439d3f7480caa5bbb42db5922c045b583b94f663 (patch) | |
| tree | 40ca5eb157a2800fc6614aceec412eee4d05022b /packages | |
| parent | fix(gateway:aiModeration): Improve joke analysis (diff) | |
| download | umabotdiscord-439d3f7480caa5bbb42db5922c045b583b94f663.tar.xz umabotdiscord-439d3f7480caa5bbb42db5922c045b583b94f663.zip | |
fix(gateway:aiModeration): Severity-gate message deletion
Diffstat (limited to 'packages')
| -rw-r--r-- | packages/gateway/src/listeners/aiModeration.ts | 19 |
1 files changed, 12 insertions, 7 deletions
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, }); |