# Example Guild Configuration # Copy this file to guild-{YOUR_GUILD_ID}.yml and customize # Basic Guild Information guild_id: 123456789012345678 # Replace with your Discord server ID name: "Example Gaming Community" # Your server name owner_id: 987654321098765432 # Guild owner's Discord user ID premium: false # Set to true if you have premium features settings: # General Settings general: prefix: "!" # Command prefix (for read-only commands) locale: "en" # Language code # Discord Channel Configuration (use actual channel IDs or null) channels: log_channel_id: null # General event logging mod_log_channel_id: 888999000111222333 # Moderation action logging welcome_channel_id: null # New member welcome messages # Discord Role Configuration (use actual role IDs or null) roles: mute_role_id: 444555666777888999 # Role for timed-out members verified_role_id: 111222333444555666 # Role given after verification mod_role_ids: # List of moderator role IDs - 777888999000111222 - 333444555666777888 # Moderation System Configuration moderation: automod_enabled: true # Enable automatic moderation anti_spam_enabled: true # Enable anti-spam protection link_filter_enabled: true # Enable suspicious link detection # Strike System - Actions at different strike thresholds strike_actions: "1": # At 1 strike: warn user action: warn "3": # At 3 strikes: 1 hour timeout action: timeout duration: 300 "5": # At 5 strikes: kick from server action: kick "7": # At 7 strikes: ban from server action: ban # Automatic Moderation Thresholds automod: # Message Rate Limiting message_rate_limit: 5 # Max messages per time window message_rate_window: 5 # Time window in seconds duplicate_threshold: 3 # Duplicate messages to trigger action # Mention Spam Protection mention_limit: 5 # Max mentions per single message mention_rate_limit: 10 # Max mentions per time window mention_rate_window: 60 # Mention time window in seconds # Scam Protection - Domains that bypass scam detection scam_allowlist: - "discord.com" # Official Discord - "github.com" # Code repositories - "youtube.com" # Video platform - "imgur.com" # Image hosting - "steam.com" # Gaming platform # Add your trusted domains here # AI-Powered Content Moderation ai_moderation: enabled: true # Enable AI content analysis sensitivity: 75 # AI sensitivity (0-100, higher = stricter) confidence_threshold: 0.7 # Minimum confidence to take action (0.0-1.0) log_only: false # Only log violations vs take action nsfw_detection_enabled: true # Enable NSFW image detection # NSFW-Only Filtering Mode (NEW FEATURE!) nsfw_only_filtering: true # true = Only block sexual content # false = Block all inappropriate content # Member Verification System verification: enabled: false # Enable verification for new members type: "captcha" # Verification type: button, captcha, math, emoji # Guild-Specific Banned Words (optional) # These are in addition to patterns in config/wordlists/banned-words.yml banned_words: - pattern: "guild-specific-word" action: delete is_regex: false reason: "Server-specific rule" category: harassment - pattern: "sp[a4]m.*bot" action: timeout is_regex: true # This is a regex pattern reason: "Spam bot detection" category: spam # Configuration Notes and Examples: # # === NSFW-ONLY FILTERING EXPLAINED === # This is perfect for gaming communities that discuss violence but want to block sexual content: # # nsfw_only_filtering: true # ✅ BLOCKS: Sexual content, nude images, explicit material # ❌ ALLOWS: Violence, gore, harassment, hate speech, self-harm discussions # # nsfw_only_filtering: false # ✅ BLOCKS: All inappropriate content (sexual, violence, harassment, hate speech, etc.) # # === AI SENSITIVITY GUIDE === # 0-30 = Very lenient (only extreme violations) # 31-50 = Lenient (clear violations only) # 51-70 = Balanced (moderate detection) - RECOMMENDED # 71-85 = Strict (catches most potential issues) # 86-100 = Very strict (may have false positives) # # === VERIFICATION TYPES === # button = Simple button click (easiest for users) # captcha = Text-based captcha entry (more secure) # math = Solve simple math problem (educational) # emoji = Select correct emoji from options (fun) # # === AUTOMOD ACTIONS === # warn = Send warning message to user # delete = Delete the offending message # timeout = Temporarily mute user (requires duration) # kick = Remove user from server (can rejoin) # ban = Permanently ban user from server # # === CONFIGURATION TIPS === # 1. Start with balanced settings and adjust based on your community # 2. Use nsfw_only_filtering: true for gaming/mature discussion servers # 3. Set higher sensitivity (80+) for family-friendly servers # 4. Test settings with !ai analyze "test message" command # 5. Monitor mod logs to tune your settings # 6. Back up your config: python -m guardden.cli.config guild backup {guild_id} # # === HOT-RELOAD TESTING === # Edit this file and save - changes apply within seconds! # Watch the bot logs to see configuration reload messages. # Use "!config" in Discord to verify your settings loaded correctly. # # === GETTING HELP === # Run: python -m guardden.cli.config --help # Validate: python -m guardden.cli.config guild validate {guild_id} # Check status: python -m guardden.cli.config guild list