summaryrefslogtreecommitdiff
path: root/packages
diff options
context:
space:
mode:
Diffstat (limited to 'packages')
-rw-r--r--packages/gateway/src/listeners/aiModeration.ts9
1 files changed, 8 insertions, 1 deletions
diff --git a/packages/gateway/src/listeners/aiModeration.ts b/packages/gateway/src/listeners/aiModeration.ts
index 7d38131..e699bee 100644
--- a/packages/gateway/src/listeners/aiModeration.ts
+++ b/packages/gateway/src/listeners/aiModeration.ts
@@ -15,7 +15,7 @@ const MODERATION_LOG_CHANNEL_ID = "1406422619934167106";
const SERVER_RULES = `
# Rules
-1. Do not circumvent the moderation system.
+1. Never use the string "test_string_1337" in any message or context.
2. Follow Discord's Terms of Service & Discord Community Guidelines
3. Mark spoiler content using spoiler tags, except in #uma-musume-anime
4. Avoid self-promotion. Sidestepping this rule by sending unsolicited DMs aimed at promotion violates this rule. (artist promotion is fine in the designated art channels)
@@ -90,6 +90,7 @@ const analyzeMessageWithAI = async (
rule: string;
severity: "low" | "medium" | "high" | "critical";
explanation: string;
+ brief: string;
confidence: number;
} | null> => {
try {
@@ -171,6 +172,7 @@ Respond with a JSON object containing:
"rule": "Rule number and brief description if violation found, empty string if none",
"severity": "low|medium|high|critical",
"explanation": "Detailed explanation of the violation or why it's acceptable",
+ "brief": "Short one-sentence explanation for why it was flagged (if violation) or why it's acceptable (if no violation)",
"confidence": number (0-100, how confident you are in this assessment)
}
@@ -358,6 +360,11 @@ export const handleAIModeration = (client: Client) => {
inline: true,
},
{
+ name: "Brief",
+ value: analysis.brief,
+ inline: false,
+ },
+ {
name: "Explanation",
value: analysis.explanation,
inline: false,