Skip to main content

Overview

raze’s built-in message filter — automatically delete rule-breaking content and log violations.

What is the Filter?

The filter system automatically scans every message sent in your server and deletes content that breaks your rules. Each module is independent — enable only what you need, configure thresholds, exempt trusted roles, and send logs to a dedicated channel. All filter commands require the Manage Channels permission or a Fake Permission equivalent.
Messages from bots and members with Manage Server are never filtered.

Modules at a glance

Global log channel

Set a fallback log channel used by every filter module that doesn’t have its own log channel configured.
Per-module log channels take priority. The global log channel only receives violations from modules with no log channel of their own.

View configuration

Shows every filter module — enabled/disabled status, threshold (where applicable), exempt roles, and assigned log channel.

Punishments

By default a filter module only deletes the offending message. Set a punishment to also act on the member.
Applies to caps, spam, chatspam, spoilers, massmention, emoji, invites, links, and musicfiles.
;filter punishment requires Manage Server (or the Fake Permission equivalent) — stricter than the rest of the filter commands. duration is only used by timeout.
warn is the strongest option — it stacks with your warn thresholds, so repeat automod offenders escalate to whatever punishment your warn actions define instead of being punished identically every time.

Heat Automod

Instead of punishing a single message, heat tracks a running score per member. Every filter violation adds heat; heat decays over time, so occasional slip-ups fade away. When a member’s heat crosses the max, they collect a strike — and once strikes hit the cap, raze automatically times them out.

Configure

All three values are optional — pass only the ones you want to change.
Run with no subcommand to see the current max heat, decay rate, and strikes cap.
Heat pairs well with lenient per-module settings — let individual violations slide, but catch members who break many rules in a short burst.

Snipe configuration

Control which message types are stored by the snipe command.

How logging works

Every module has its own log channel. When a violation is caught the bot sends an embed showing:
  • Module — which filter triggered
  • Author — who sent the message
  • Reason — what was detected
  • Channel — where it happened
If you point multiple modules at the same log channel and abuse is heavy, the bot rate-limits itself to 1 log per second per channel. Any violations that couldn’t be logged are counted and shown as Suppressed: x violations on the next log that gets through.