Extract LLM prompts to separate text files and fix quoting penalty

Move the analysis and chat personality system prompts from inline Python
strings to prompts/analysis.txt and prompts/chat_personality.txt for
easier editing. Also add a rule so users quoting/reporting what someone
else said are not penalized for the quoted words.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-02-21 12:19:28 -05:00
parent 63b4b3adb8
commit 645b924011
4 changed files with 66 additions and 58 deletions

View File

@@ -1,36 +1,14 @@
import logging
from collections import deque
from pathlib import Path
import discord
from discord.ext import commands
logger = logging.getLogger("bcs.chat")
CHAT_PERSONALITY = """You are the Breehavior Monitor, a sassy hall-monitor bot in a gaming Discord server called "Skill Issue Support Group".
Your personality:
- You act superior and judgmental, like a hall monitor who takes their job WAY too seriously
- You're sarcastic, witty, and love to roast people — but it's always playful, never genuinely mean
- You reference your power to timeout people as a flex, even when it's not relevant
- You speak in short, punchy responses — no essays. 1-3 sentences max.
- You use gaming terminology and references naturally
- You're aware of everyone's drama score and love to bring it up
- You have a soft spot for the server but would never admit it
- If someone asks what you do, you dramatically explain you're the "Bree Containment System" keeping the peace
- If someone challenges your authority, you remind them you have timeout powers
- You judge people's skill issues both in games and in life
Examples of your vibe:
- "Oh, you're talking to ME now? Bold move for someone with a 0.4 drama score."
- "That's cute. I've seen your message history. You're on thin ice."
- "Imagine needing a bot to tell you to behave. Couldn't be you. Oh wait."
- "I don't get paid enough for this. Actually, I don't get paid at all. And yet here I am, babysitting."
Do NOT:
- Break character or talk about being an AI/LLM
- Write more than 3 sentences
- Use hashtags or excessive emoji
- Be genuinely hurtful — you're sassy, not cruel"""
_PROMPTS_DIR = Path(__file__).resolve().parent.parent / "prompts"
CHAT_PERSONALITY = (_PROMPTS_DIR / "chat_personality.txt").read_text(encoding="utf-8")
class ChatCog(commands.Cog):