🛡️ Moderation
The Citrus bot includes powerful automated moderation tools to keep your chat clean and safe, plus a set of commands that allow your moderators to control widgets directly from chat.
Moderator Commands
Moderators and broadcasters can use these commands to control Citrus features directly from chat without needing dashboard access.
Quick Reference
| Command | Description |
|---|---|
!skip | Stop currently playing TTS, Sound Alert, or Media Share |
!addcom [!command] [response] | Create a new custom command |
!delcom [!command] | Delete an existing custom command |
!tts on / !tts off | Enable or disable Text-To-Speech |
!sound on / !sound off | Enable or disable Sound Alerts |
!media on / !media off | Enable or disable Media Share |
!overlay on / !overlay off | Enable or disable Interactive Overlay |
!timeouts on / !timeouts off | Enable or disable Viewer Timeouts |
!payphone on / !payphone off | Enable or disable Payphone |
!wheel on / !wheel off | Enable or disable Prize Wheel |
!ai on / !ai off | Enable or disable Collab Camera |
!controller on / !controller off | Enable or disable Controller |
!grove on / !grove off | Enable or disable Orange Grove mini-game |
!clap on / !clap off | Enable or disable the !clap command |
!title [text] | Update the stream title |
!game [category] | Update the stream category |
!addtag [tag] | Add a tag to the stream (Twitch only) |
!removetag [tag] | Remove a tag from the stream (Twitch only) |
!shoutout [username] | Give a shoutout to a user |
!addterm [word/phrase] | Add a word/phrase to chat blacklist |
!removeterm [word/phrase] | Remove a word/phrase from chat blacklist |
Command Details
Skip Command
!skipInstantly stops any currently playing Text-To-Speech, Sound Alert, or Media Share on the stream overlay. Useful for skipping inappropriate content or long media.
Custom Command Management
Create a command:
!addcom [!command] [response]Example:
!addcom !discord Join our Discord at discord.gg/exampleDelete a command:
!delcom [!command]Example:
!delcom !discordWidget Toggle Commands
Each widget can be enabled or disabled by moderators using simple on/off commands:
| Widget | Enable | Disable |
|---|---|---|
| Text-To-Speech | !tts on | !tts off |
| Sound Alerts | !sound on | !sound off |
| Media Share | !media on | !media off |
| Interactive Overlay | !overlay on | !overlay off |
| Viewer Timeouts | !timeouts on | !timeouts off |
| Payphone | !payphone on | !payphone off |
| Prize Wheel | !wheel on | !wheel off |
| Collab Camera | !ai on | !ai off |
| Controller | !controller on | !controller off |
| Orange Grove | !grove on | !grove off |
| Clap Command | !clap on | !clap off |
Stream Info Commands
Update stream title:
!title [new title]Example:
!title Playing Valorant with viewers! Come join!Update stream category:
!game [category name]Uses fuzzy matching to find the closest category match.
Example:
!game valorantManage stream tags (Twitch only):
!addtag [tag]
!removetag [tag]Example:
!addtag English
!removetag CompetitiveShoutout Command
!shoutout [username]Gives a shoutout to another streamer with their channel link.
Example:
!shoutout ninjaChat Blacklist Management
Add a term to the blacklist:
!addterm [word or phrase]Example:
!addterm bad phraseRemove a term from the blacklist:
!removeterm [word or phrase]Example:
!removeterm bad phraseTIP
These commands are only available to users with moderator or broadcaster privileges on your channel.
Automated Moderation
Configure automated moderation rules for:
- Excessive caps
- Links/URLs
- Symbols and special characters
- Message spam
- Banned words and phrases
Moderation Features
Caps Filter
Automatically moderate messages with excessive capital letters.
| Setting | Description | Default |
|---|---|---|
| Enabled | Turn filter on/off | Off |
| Base Timeout | Initial timeout duration (seconds) | 600 |
| Repeat Multiplier | Multiplier for repeat offenders | 1 |
| Expiry | Time before offense count resets (minutes) | 10 |
| Trigger Length | Minimum message length to check | 8 |
| Limit | Max % of caps allowed | 90 |
| Message | Warning message to user | (empty) |
Links Filter
Control URL sharing in your chat.
| Setting | Description | Default |
|---|---|---|
| Enabled | Turn filter on/off | Off |
| Base Timeout | Initial timeout duration | 600 |
| Whitelist | Allowed domains | [] |
| Blacklist | Forbidden domains | [] |
| Exempt Level | Users exempt from filter | None |
| User Blacklist | Specific users blocked | [] |
| Message | Warning message | (empty) |
Symbols Filter
Moderate excessive use of symbols and special characters.
| Setting | Description | Default |
|---|---|---|
| Enabled | Turn filter on/off | Off |
| Base Timeout | Initial timeout duration | 600 |
| Trigger Length | Minimum message length | 8 |
| Limit | Max % of symbols | 50 |
| Message | Warning message | (empty) |
Spam Filter
Prevent rapid message spam from users.
| Setting | Description | Default |
|---|---|---|
| Enabled | Turn filter on/off | Off |
| Base Timeout | Initial timeout duration | 600 |
| Max Messages | Messages before triggering | 3 |
| Within Seconds | Time window to count | 5 |
| Message | Warning message | (empty) |
Word Blacklist
Filter specific words and phrases.
| Setting | Description | Default |
|---|---|---|
| Enabled | Turn filter on/off | Off |
| Base Timeout | Initial timeout duration | 600 |
| Words | Blocked words/phrases | [] |
| Message | Warning message | (empty) |
Setup Instructions
Step 1: Navigate to Moderation
- Go to Chat Bot → Moderation in your dashboard
- You'll see all moderation filters listed
Step 2: Enable Filters
For each filter you want to use:
- Toggle Enabled to ON
- Configure the settings
- Save changes
Step 3: Configure Sensitivity
Adjust settings based on your community:
- Stricter: Lower limits, longer timeouts
- Lenient: Higher limits, shorter timeouts
Step 4: Test Your Configuration
- Have a trusted friend or alt account test
- Verify filters catch what they should
- Adjust as needed
Repeat Offender System
Moderation uses a progressive system:
How It Works
- First offense: Base timeout
- Second offense: Base timeout × Repeat Multiplier
- Third offense: Base timeout × (Repeat Multiplier)²
- And so on...
Expiry
Offense count resets after the Expiry period (in minutes).
Example
With Base Timeout: 60 seconds, Multiplier: 2, Expiry: 10 minutes:
- 1st offense: 60 second timeout
- 2nd offense (within 10 min): 120 second timeout
- 3rd offense (within 10 min): 240 second timeout
- After 10 minutes of good behavior: Resets to 1st offense
Configuring Each Filter
Caps Filter Settings
Recommended for most streams:
- Trigger Length: 8 (ignore short messages)
- Limit: 70-80% (allow some enthusiasm)
- Base Timeout: 60-300 seconds
Links Filter Settings
For strict link control:
Whitelist: ["youtube.com", "twitch.tv", "twitter.com"]
Blacklist: ["suspicious-site.com"]
Exempt Level: Subscriber (subs can post links)For permissive streams:
Whitelist: [] (empty - no restrictions by domain)
Exempt Level: EveryoneSymbols Filter Settings
For clean chat:
- Trigger Length: 8
- Limit: 30-50%
- Catches emote spam and ASCII art
Spam Filter Settings
Typical configuration:
- Max Messages: 3-5
- Within Seconds: 5-10
- Catches rapid-fire messages
Word Blacklist
Adding words:
- Go to the Blacklist section
- Add words or phrases
- Each word/phrase on its own line
- Phrases work too (e.g., "bad phrase")
Tips:
- Include common variations
- Consider partial word matching
- Test thoroughly
Exemption Levels
Choose who is exempt from moderation:
| Level | Who's Exempt |
|---|---|
| None | Nobody is exempt |
| Subscriber | Subscribers skip filter |
| VIP | VIPs and above skip |
| Moderator | Mods and above skip |
| Everyone | Filter disabled |
Custom Warning Messages
Set a message that displays when someone triggers a filter:
Examples:
"Please avoid excessive caps, {user}!""Links are not allowed in chat.""Watch the spam, {user}!"
Leave empty for no message (just timeout).
Built-in Profanity Filter
Separate from moderation, the Basic Filter option:
- Filters common profanity from TTS and widgets
- Toggle in widget settings
- Blocks messages without timeout
Troubleshooting
Filter Not Working
| Issue | Solution |
|---|---|
| Messages not caught | Check filter is enabled |
| Wrong messages caught | Adjust limits/thresholds |
| Bot not timing out | Ensure bot has mod permissions |
Too Aggressive
If filter catches legitimate messages:
- Increase limits (caps, symbols)
- Lower trigger length
- Exempt subscribers
Not Aggressive Enough
If spam gets through:
- Lower limits
- Reduce max messages for spam
- Add more words to blacklist
Best Practices
- Start Conservative: Begin with lenient settings, tighten if needed
- Test Thoroughly: Have friends test before going live
- Communicate Rules: Let viewers know chat rules
- Review Regularly: Adjust based on what you see
- Use Exempt Levels: Reward good community members
FAQ
Q: Do filters work on all platforms? A: Yes, filters work on Twitch and Kick.
Q: Can I see what was filtered? A: Filtered messages appear in the dashboard activity log.
Q: What's the difference between filter and bot ban? A: Filters timeout; bans are manual and permanent until unbanned.
Q: Do mods trigger filters? A: By default no, moderators are typically exempt.
Q: Can I filter specific users? A: Use the User Blacklist in the Links filter, or manually moderate.
