Text style (caps, zalgo, emoji)
Catches messages that are stylistically abusive — all-caps shouting, zalgo combining diacritics, emoji flood — without caring about content.
When you'd use it
- A member keeps SHOUTING IN CAPS
- Zalgo text crashes mobile clients and obfuscates content
- Emoji-spam 👏 👏 👏 chains that aren't reactions
Settings
| Setting | What it does |
|---|---|
| Caps ratio | Trigger when this fraction of letters are uppercase. Default 0.7 (70%). |
| Caps min length | Don't apply to short messages. Default 10 letters — anything shorter ignored. |
| Block zalgo | Triggers when the message has 3+ consecutive combining diacritics (the ̀-ͯ range). |
| Max emoji | Cap on the total emoji count per message. Default 15. Counts both Unicode emoji AND custom server emoji. |
Tips
- Caps min length matters. Without it, "YES!!" trips the rule because 100% of its letters are uppercase. The 10-letter floor catches "SHUT UP AND LEAVE" but not "YEP" or "OK NO".
- The emoji count is the sum of Unicode + custom server emoji. A message with 10 thumbs-up and 6 custom Phantom emojis = 16 = trips the default.
- Zalgo is the only style with no tuning — it's binary "is it there or isn't it." Three combining marks is a low bar but the false-positive rate is essentially zero (legitimate text doesn't stack diacritics).
Common patterns
| Use case | Setup |
|---|---|
| Stop shouters | caps_ratio=0.7, min_length=10, actions: delete + warn |
| Zalgo only | block_zalgo=ON, actions: delete |
| Emoji spam | max_emoji=15, actions: delete (no warn — usually accidental) |
Limits
- 6 actions per rule
Behaviour
- Caps ratio is computed across letters only, not the whole string — so a long message of all-caps PLUS lots of punctuation still gets the right ratio.
- The same hit can match multiple subtypes (a zalgo CAPS message fires once with both types listed in
matched_info.hits).
Related pages
- Automod overview
- Spam — for "many short messages in a row"
