All docs
Moderation & Safety

Moderation

Warn, mute, kick and ban — with a record of every action

Moderation in Hez is built around *cases*, not one-off actions. Every warn, timeout, kick and ban gets a number, a reason, and a moderator attached to it — so six months from now, /moderation history for a member reads like a paper trail instead of a guess.

Almost everything under this module can be switched off individually without touching the rest, so you can run a lean setup (just bans and warns) or the full kit as your team grows into it.

Turning it on or off

Every server chooses for itself — switch Moderation on or off from your dashboard, under Moderation & Safety. When it's off: your moderators can still use Discord's own tools, but nothing will be logged or counted.

Setting it up

  1. 1

    Switch the module on

    It's on by default for new servers, but confirm it under Server Settings → module toggles if you're not sure.

  2. 2

    Point it at a log channel

    Every case gets posted there, so your team sees moderator activity without needing to run /moderation history on people.

  3. 3

    Decide on warn decay

    A short decay (say, 30–90 days) keeps old mistakes from stacking forever; leave it off if you want warnings to be permanent.

  4. 4

    Turn off sub-features you don't need

    If your server has no voice channels worth moderating, or you don't need case evidence, switching those off keeps the command list shorter for your team.

  5. 5

    Lock commands down with Command Permissions

    By default, dangerous commands already require the matching Discord permission (ban requires Ban Members, etc.) — only add a role restriction if you want a narrower group, like a junior-mod role that can warn but not ban.

Cases and history

Every punishment becomes a case with its own number. /moderation case looks one up, /moderation edit fixes a reason after the fact, and /moderation revoke reverses a case without deleting the record — the case stays, just marked reversed. /moderation history shows a member's full record in one place.

If Command Permissions restricts who can run these, the case history is still visible to anyone your permissions allow — it isn't tied to who created the case.

Warn decay and auto-escalation

Warnings don't have to last forever. Set a decay period and a warning stops counting toward escalation after that much time passes — useful so a mistake from a year ago doesn't still contribute to a ban today.

There's also a rolling window, separate from decay: instead of every non-decayed warning counting, only warnings from the last N seconds count toward the escalation ladder at the moment a new one is given. Decay fixes an expiry date at the time a warning is recorded; the rolling window is evaluated fresh every time.

Cross-server ban sync

If you run more than one server — a main community and an alt/affiliate server, for example — /moderation bansync create starts a network and hands you a key. Other servers join with /moderation bansync join and that key, and from then on a ban in one member server propagates to the rest of the network. /moderation bansync leave and bansync status manage membership.

Sub-features you can turn off individually

Each of these has its own switch on the module's dashboard page — turning one off hides its commands and stops it running, without touching the rest of Moderation.

Moderator notes

Private staff-only notes on a member (/moderation note), separate from formal warnings.

User reports

The Report User / Report Message context-menu entries, plus /moderation config reportchannel to route them somewhere your team watches.

Voice moderation

Server-mute, deafen, move and kick from voice channels via /moderation voice.

Nickname moderation

Force-set or reset a nickname, and de-hoist names that use symbols to jump to the top of the member list.

Timed roles

Give or remove a role for a fixed duration and have it revert automatically — handy for a temporary mute role or a probation role.

Mass-ban import/export

Bulk-import a ban list (from another bot or a plain list of IDs) or export your current one.

Cross-guild ban sync

The bansync network described above.

Case evidence attachments

Attach screenshots or files to a case. Requires S3-compatible storage to be configured for your bot — ask support if you're not sure it is.

Commands

Tips & things people get wrong

  • Hez can only act on members below its own role in your server's role list — if a ban silently fails, that's almost always why.
  • Report User / Report Message do nothing useful until you've set a report channel — reports are otherwise just recorded with nowhere for your team to see them land.
  • Ban sync assumes every server in the network trusts every other server's moderators — don't share the key outside servers you actually co-run.

Ready to try Moderation?