summaryrefslogtreecommitdiff
path: root/packages/gateway
diff options
context:
space:
mode:
Diffstat (limited to 'packages/gateway')
-rw-r--r--packages/gateway/src/listeners/aiModeration.ts19
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,
});