MDA docs

Moderation

Every action creates a case, DMs the user if you let it, and logs itself.

The moderation page
Cases, reports, and the settings behind every punishment.

#Cases

Bans, kicks, mutes, warns and their undos all create one, with a short ID. /case view <id> pulls it up, /history <user> shows every case on one person, /unwarn <id> removes a warning.

Reply to a message with m!ban and that message is captured as proof - text, author, attachments. /setproof attaches it after the fact.

/reason and /caseupdate edit a case. Both keep the original, so it reads as edited rather than rewritten.

#Punish settings

Setting What it does
DM on punish / unpunish Tell the user what happened, and when it is lifted
Force reason Refuse the command with no reason given
Use role hierarchy Staff can only act on people below them
Allow multiple mutes Whether a second mute on a muted user is allowed
Extend timeouts A new mute extends the existing one instead of replacing it
Confirm on recent case Ask before punishing someone just punished
Cache deleted messages Keep deleted messages so proof survives
Purge pinned messages Whether /purge takes pins. Off by default

#Immune roles

Roles moderation cannot touch, globally or per action - so staff can be ban-immune but still muteable. Checked before anything happens, so an immune user is refused rather than half-punished.

#What the user is told

Under Privacy: Show proof and Show author. Turning the author off keeps individual staff out of an argument with a banned member.

The DM is a template. Put your appeal link in it.

#Predefined reasons

An alias that expands. Set raid to mean the full sentence and m!ban @user raid records all of it.

#Warn thresholds

A warn count triggers an action: three warns becomes a mute, five a ban. The escalation creates its own case, so the record shows both.

#Channel locking

/lock denies Send Messages for @everyone here. /lockall does it server-wide.

Ignored roles keep talking through a lock. Channels to lock limits what /lockall touches - empty means every text channel the bot can see.

Unlocking restores what was actually there before, rather than guessing.

#User reports

Members report someone to a channel staff watch. /report-blacklist blocks a member from reporting when the feature is being misused.

#Commands

Command What it does Also Who
/ban <user> [reason] Ban a user from the server m!ban Staff
/unban <user> [reason] Unban a user m!unban Staff
/kick <user> [reason] Kick a user from the server m!kick Staff
/mute <user> <duration> Timeout (mute) a user m!mute Staff
/unmute <user> [reason] Remove timeout from a user m!unmute Staff
/warn <user> <reason> Warn a user m!warn Staff
/unwarn <case id> Remove a warning by case ID or user m!unwarn Staff
/purge <amount> [user] Delete messages from a channel m!purge Staff
/timeban <user> <duration> Ban accounts created in a time window m!timeban Staff
/timemute <user> <duration> Mute accounts created in a time window m!timemute Staff
/timewarn <user> <duration> Warn accounts created in a time window m!timewarn Staff
/timekick <user> <duration> Kick accounts created in a time window m!timekick Staff
/softban <user> [reason] Ban and unban to clear their messages m!softban Staff
/restrict <user> [duration] Jail a user and strip their roles m!restrict Staff
/unrestrict <user> Lift a restrict and restore roles m!unrestrict Staff
/lock Lock the current channel m!lock Staff
/unlock Unlock the current channel m!unlock Staff
/lockall Lock all text channels in the server m!lockall Staff
/unlockall Unlock all text channels in the server m!unlockall Staff
/slowmode <seconds> Set slowmode in this channel m!slowmode Staff
/case View moderation cases m!case Staff
m!cases <user> List every case on a user - Staff
/history View a user's full moderation history m!history Staff
/reason Edit the reason on a case m!reason Staff
/caseupdate Change a case reason or duration m!caseupdate Staff
/setproof Attach proof to a moderation case m!setproof Staff
/note Add a private staff note m!note Staff
/usernotes View notes on a user m!usernotes Staff
/massban Ban multiple users at once m!massban Staff
/masskick Kick multiple users at once m!masskick Staff
/massmute Mute several users at once m!massmute Staff
/masswarn Warn multiple users at once m!masswarn Staff
/nameban Ban usernames matching a pattern m!nameban Staff
/namekick Kick usernames matching a pattern m!namekick Staff
/namemute Mute usernames matching a pattern m!namemute Staff
/namewarn Warn usernames matching a pattern m!namewarn Staff
/report Report a user to moderators m!report Everyone
/report-blacklist Block a user from reporting m!report-blacklist Staff
/reply-to-appeal Reply to an open appeal - Staff