A record of what
your staff actually did.
Infractions with a reason attached, moderation actions with a numbered case, and one running history — so "why was this person demoted in March" has an answer.
Included free Infractions, moderation cases and audit history are free on every plan. Your history is not something we hold back.
Infractions, with a reason on every one
Four kinds, a required reason you can set a minimum length for, and an optional expiry so an old warning stops counting against somebody forever.
Issue an infraction
Sam O. — record
- WarningBreaking character after being askedToday
- Activity NoticeMissed quota — February3 Mar
- StrikeExpired — no longer countingNov
2 active of 3 on record. An expired infraction stops counting but is never deleted.
Four kinds, and no invented fifth
Warning, activity notice, strike and demotion. Demotion carries real rank machinery, so it goes through the same promotion path everything else does rather than being a label.
Expiry is read, not swept
An expired infraction simply stops counting when anybody looks. No job deletes it, so the record of what happened survives even after it stops mattering.
Escalation reports, never acts
Set a threshold and reaching it tells the person issuing it what the total is. There is no automatic punishment, because a destructive action with no human in the loop is not something we will ship.
Settings that do something
Minimum reason length, expiry window, escalation threshold, and where infractions are logged. Every setting on the page changes behaviour — there are no decorative toggles.
Moderation actions, with a case number
Warn, timeout, kick, ban or temporarily ban from the bot, and the action arrives in your log channel with a number, a reason and who did it — including in Discord's own audit log.
| Case | Action | Member | By | Status |
|---|---|---|---|---|
| #0042 | Temp ban — 7 days | Ellis B. | Priya N. | Active |
| #0041 | Timeout — 1 hour | Sam O. | Rowan A. | Expired |
| #0040 | Warning | Sam O. | Priya N. | Logged |
Recent actions
- RankRowan A. promoted to Officer by Priya N.Today
- InfractionWarning issued to Sam O. by Priya N.Today
- TrainingPatrol certification granted to Rowan A.Yesterday
Names, not IDs. Permission changes are deliberately kept out of this summary and shown only to people who can already see them.
Who it is for
Staff teams of more than one
The moment two people can act, "who did this and why" stops being something anybody reliably remembers.
Servers that hear appeals
A reason on every infraction and a case number on every action, so an appeal is a thing you can look up rather than argue about.
Servers with activity standards
Activity notices sit alongside warnings, so falling behind on a quota is recorded in the same place as everything else.
Setting it up
Pick your log channels
Where infractions and moderation actions are posted. A staff-only channel is the usual answer.
Set the infraction rules
Minimum reason length, whether infractions expire, and whether reaching a total should say so. All optional — the defaults behave exactly as the bot did before these existed.
Grant the permissions
Who may issue an infraction, who may run a moderation action, and who may see the history — three separate decisions.
Check the bot can act
Moderation needs Discord's own permissions and the right role order.
/doctortells you if either is wrong before you find out mid-incident.
What moderation does not do
Moderation actions are run from Discord, not from the dashboard — the dashboard shows the history and the settings, and cannot ban anybody. There is no automatic punishment at any threshold, no auto-moderation of message content, no infraction points system, and infractions are not sent to the member as a direct message.
History is kept for a fair recent window per server rather than forever, and that window is the same on every plan.
Ready to keep a proper record?
Free on every plan. Pick a server and set your log channels.
Get Started — Pick a Server