BLUSH tools

Automatic filters

Anti-spam, invite, phishing, and language filters. All opt-in.

Four automatic protections run before the rest of message handling. All four are opt-in and default off.

  • They skip bots, webhooks, immune roles, and filter-exempt channels.
  • Invite, phishing, and language filters also re-check edited messages. Editing a link in later does not sneak it past.

Anti-spam

Catches the classics: bursts, floods of long back-to-back messages, same-channel repeats, cross-channel copies, mass mentions, repeated tags of one person or role, messages that hammer one word or repeated segment, and runs of keyboard mash. The first copy of a repeat usually stays; the extras go.

  • Escalation: a brief mute, then a warning plus a 5-minute mute, then a warning plus a longer timeout. Five clean minutes resets the ladder.
  • Severe cases (everyone/here, or long text across channels) skip the first-offense grace.
  • One pattern skips the ladder entirely: messages landing in several different channels within seconds reads as a compromised account or spam bot. Instant ban, recent messages removed.

Invite filter

Removes foreign Discord invites in every disguise.

  • Catches short links, obfuscation, masked links, embeds, forwards, and code blocks.
  • This server's own invites and vanity URL stay, as do invites that resolve to an allowlisted sister server.
  • Expired or unresolvable invites count as foreign. No benefit of the doubt.
  • Staff can optionally attach a warning.

Phishing filter

Local pattern matching runs first: lookalike domains of protected brands, "free nitro" bait, masked links, and shorteners paired with pressure language. When Google Web Risk is configured, unflagged links may also be checked against Google's threat lists; only the URL string is sent, never message text or user IDs.

  • High-confidence hits are deleted with a change-your-password reminder. Staff can optionally attach a warning.
  • Weak signals leave the message alone; staff may get a silent mod-log alert.
  • Each server keeps its own domain allowlist. Adult links alone are never a signal.

Language filter

Removes extreme slurs only. Nothing else qualifies.

  • Ordinary profanity and kink vocabulary never match. This server would go very quiet otherwise.
  • Matching is local and tolerant of leet, masking, and Unicode evasion, while sparing innocent containing words.
  • Staff can optionally attach a warning.