Spam Filter

Spam filters detect typical spam patterns automatically and react based on your rules. Each filter is configured separately and runs live on incoming chat messages.

Dashboard overview

On this page you configure each filter card with Active/Inactive, action, timeout duration, and thresholds. Optionally you can post a chat notice per filter (with text or @mention). All settings are per channel.

Filter types and logic

  • Links: Checks all detected links. Allows whitelist domains and optionally Twitch clips.
  • Caps: Measures uppercase ratio in messages above a minimum length.
  • Emotes: Counts total and unique emotes (Twitch, optional 7TV).
  • Paragraph: Triggers on too many characters or lines.
  • Special characters: Ratio of non-alphanumeric characters (after removing spaces).
  • Repetition: Too many identical characters in a row or too many repeated words.

Check order (important)

  • Filters run in a fixed order: Links → Caps → Emotes → Special characters → Repetition → Paragraph.
  • Per message, at most one filter triggers (the first hit stops the chain).

Exceptions and roles

  • Broadcaster is always ignored.
  • Mods are only moderated if the bot is sending as the streamer.
  • For Caps, Emotes, Paragraph, Special characters, and Repetition there are exceptions for Subs/VIPs.
  • For the Link filter you can explicitly allow: Subs, VIPs, Mods, and Twitch clips.

Actions and timeout

  • Action per filter: Delete message, Warning, Timeout, Ban.
  • Timeout duration field appears when Timeout is selected.
  • If deletion fails, a 1s timeout is set as fallback.

Chat notice (optional)

  • You can post a notice per filter (plain chat message or with @mention).
  • The text is sanitized (max. 200 characters, no line breaks).
  • You can use these placeholders in the notice: {user}, {login}, {display}, {channel}, {filter}, {reason}.
  • Depending on the filter, additional values are available, e.g. {ratio}, {threshold}, {domain}, {total}, {unique}.

Link allowlist

  • One domain per line, wildcards like *.example.com are allowed.
  • Protocol and path are ignored (https://, www. are removed).
  • Maximum 50 entries; only valid domain characters are accepted.

Permit (link exemption)

  • With the !permit command you can temporarily allow users to post links.
  • Set the default duration for !permit in the Link filter.
  • !permit only works when the Link filter is enabled.
Spam Filter | ByteMate Docs