Skip to content

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

SettingWhat it does
Caps ratioTrigger when this fraction of letters are uppercase. Default 0.7 (70%).
Caps min lengthDon't apply to short messages. Default 10 letters — anything shorter ignored.
Block zalgoTriggers when the message has 3+ consecutive combining diacritics (the ̀-ͯ range).
Max emojiCap 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 caseSetup
Stop shouterscaps_ratio=0.7, min_length=10, actions: delete + warn
Zalgo onlyblock_zalgo=ON, actions: delete
Emoji spammax_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).

Phantom is a product of Hydra Labs. The bot is run as a managed service; you do not need to host it yourself.