aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFuwn <[email protected]>2025-09-17 20:10:19 -0700
committerFuwn <[email protected]>2025-09-17 20:10:19 -0700
commit7a8ced6dcac74fcd598be3872f98e9f99a877e47 (patch)
tree9f0bb6aeb3e26a9b13ec7775a4a36cac1776b417
parentfeat(intelligent_moderator): Reasoning levels (diff)
downloadumabot-7a8ced6dcac74fcd598be3872f98e9f99a877e47.tar.xz
umabot-7a8ced6dcac74fcd598be3872f98e9f99a877e47.zip
feat(intelligent_moderator): Don't include reasoning in art re-flairs
-rw-r--r--src/umabot/rules/intelligent_roleplay_moderator.py10
-rwxr-xr-xtest_moderator.py13
2 files changed, 16 insertions, 7 deletions
diff --git a/src/umabot/rules/intelligent_roleplay_moderator.py b/src/umabot/rules/intelligent_roleplay_moderator.py
index ab6f61e..81fda8e 100644
--- a/src/umabot/rules/intelligent_roleplay_moderator.py
+++ b/src/umabot/rules/intelligent_roleplay_moderator.py
@@ -107,8 +107,8 @@ class IntelligentRoleplayModerator(Rule, IntelligentModeratorBase):
username = submission.author.name
subject = "Your post flair has been changed to Art"
- # Format reasoning based on configuration
- formatted_reasoning = self._format_reasoning(evaluation)
+ # Format reasoning based on configuration (never include for art flair changes)
+ formatted_reasoning = self._format_reasoning(evaluation, is_art_flair_change=True)
message = f"""Hello u/{username},
@@ -169,8 +169,12 @@ Thank you for understanding!"""
except Exception as e:
self.logger.error(f"Error sending low effort notification for {submission.id}: {e}")
- def _format_reasoning(self, evaluation: dict) -> str:
+ def _format_reasoning(self, evaluation: dict, is_art_flair_change: bool = False) -> str:
"""Format reasoning based on the configured reasoning level."""
+ # Never include reasoning for art flair changes
+ if is_art_flair_change:
+ return ""
+
reasoning_level = self.config.reasoning_level
original_reasoning = evaluation.get('reasoning', '')
diff --git a/test_moderator.py b/test_moderator.py
index 70b57f2..6764a9e 100755
--- a/test_moderator.py
+++ b/test_moderator.py
@@ -250,8 +250,12 @@ class TestIntelligentModerator(IntelligentModeratorBase):
return results
- def _format_reasoning(self, evaluation: dict) -> str:
+ def _format_reasoning(self, evaluation: dict, is_art_flair_change: bool = False) -> str:
"""Format reasoning based on the configured reasoning level."""
+ # Never include reasoning for art flair changes
+ if is_art_flair_change:
+ return ""
+
original_reasoning = evaluation.get('reasoning', '')
if self.reasoning_level == 0:
@@ -384,13 +388,14 @@ def print_results(results: List[Dict[str, Any]], pause: bool = False, moderator:
print(f" Subject: Your post flair has been changed to Art")
print(f" Message: Your roleplay post has been automatically re-flaired as 'Art' because it appears to be primarily showcasing artwork or visual content rather than roleplay.")
- # Format reasoning based on moderator's reasoning level
+ # Format reasoning based on moderator's reasoning level (never include for art flair changes)
if moderator:
- formatted_reasoning = moderator._format_reasoning(evaluation)
+ formatted_reasoning = moderator._format_reasoning(evaluation, is_art_flair_change=True)
if formatted_reasoning:
print(f" Reasoning: {formatted_reasoning}")
else:
- print(f" Reasoning: {evaluation['reasoning']}")
+ # For art flair changes, never show reasoning even without moderator
+ pass
if "REMOVE_POST" in actions:
print(f"\n📧 Mod Mail (Low Effort Removal):")