Moderation
Warns, mutes, kicks and bans with a numbered case history. 22 case types, a warning ladder, appeals on the web, reports from your members, and lockdowns that restore what they changed.
On this page
Moderation is the half of protection where a person decides. Its twin, Auto Moderation, is the half where the bot decides, and both file cases through the same engine, so a filter's action and a moderator's action look the same in a member's history.
Moderation
Everything your staff do, recorded as a numbered case they can quote.
Cases in 30 days
128
warning 52 · mute 31 · ban 12 · kick 9
In force
9
Bans, mutes and roles that have not lifted yet.
Reports waiting
3
Members can report each other with /report.
Appeals waiting
1
Approving one lifts the punishment.
What happened lately
The last eight cases, newest first.
Ban throwaway_84
Raid participation · by mira
Mute loud.tim
Arguing in #general after a warning · by nova
Warning kito
Backseat modding in #events · by nova
Unban juno
Appeal accepted · by mira
Kick drifter_22
Alt of a banned account · by mira
Mute pixelfox
Mass mention · by Arclo
Warning orion.wav
Advertising another server · by Arclo
Warning sable
Spoilers outside #spoilers · by mira
Banthrowaway_84
Raid participation · 3 hours ago · by mira
Muteloud.timLifts in 19 hours
Arguing in #general after a warning · 5 hours ago · by nova
Warningkito
Backseat modding in #events · 22 hours ago · by nova
Setting it up
Switch it on
Essentials → Moderation. The page has 8 tabs; General is where you start.
Name your moderator roles
Moderator roles may use every moderation command that is not admin-only,
/banincluded. Separately, Administrator roles can also delete cases, change another moderator's case reason, run/role all, and start and end a lockdown.Set immunity
Server-wide under Who can't be moderated, and per punishment type, so a role can be warnable but not bannable. The server owner and Arclo are always out of reach, and by default nobody can punish somebody above them in the role list, or another moderator. An immune member is refused before anything happens: no case and no DM, only a log line saying the action was refused.
Choose how a mute works
Discord timeout (Discord's own, no setup, capped at 28 days per application; Arclo renews longer mutes automatically), a Muted role, or Both. Arclo can build the muted role for you.
Point the logger at a channel
On the Logging tab, or from Logging.
The eight tabs
| Tab | What lives there |
|---|---|
| General | Moderator and admin roles, immunity, how a mute works, what a punishment records, what people can see about a case, and general behavior |
| Punishments | A tile per punishment: default duration, DM, announcement, immunity, roles, the warning thresholds, and the reason shortcuts |
| Lockdown | Which channels and roles a lockdown covers, who can still talk, the notices it posts, and how long it lasts |
| Reports | Who may report, what a report must contain, where it lands, and what Arclo does about repeats |
| Appeals | The public appeal page, its rules, and the queue |
| Cases | The searchable case history, its numbers, and the latest cases |
| Logging | The Moderation logger and its per-action switches |
| Commands | Per-command settings and reply text |
Cases
Every action opens a numbered case. There are 22 types, covering members, channels and the server itself.
| Case type | What it records | Timed |
|---|---|---|
| Warning | was warned | No |
| Mute | was muted | Yes |
| Unmute | was unmuted | No |
| Kick | was kicked | No |
| Ban | was banned | Yes |
| Unban | was unbanned | No |
| Softban | was softbanned | No |
| Voice mute | was muted in voice | Yes |
| Voice unmute | was unmuted in voice | No |
| Deafen | was deafened | Yes |
| Undeafen | was undeafened | No |
| Voice disconnect | was disconnected from voice | No |
| Nickname change | had their nickname changed | No |
| Role given | was given a role | Yes |
| Role removed | had a role removed | No |
| Note | had a note added | No |
| Purge | had messages purged | No |
| Channel locked | was locked | Yes |
| Channel unlocked | was unlocked | No |
| Lockdown | went into lockdown | Yes |
| Lockdown lifted | came out of lockdown | No |
| Slowmode | had its slowmode changed | Yes |
- Case numbers are allocated atomically, so two simultaneous bans can never share one.
/case view <case>opens a case; the rest of/casechanges its reason, duration or evidence, pardons it, deletes it, searches and counts./modlogs <member>shows a member's whole history, and the Cases tab edits cases from the dashboard.- Bans, kicks, timeouts and unbans done through Discord's own interface are picked up from the audit log and filed as cases, so the history has no holes. The member is DMed about one only if DM people punished outside Arclo is on (it is off by default).
- Deleting a case removes it from the record. A punishment it holds that is still in force is lifted first.
/notekeeps private staff notes on a member. They sit beside the case history rather than in it, and are never numbered.
Punishments
The full order of operations (immunity, escalation, the case, the DM before the action, the expiry) is on Punishments. Per punishment, you can set:
- Default duration
- For punishments that can expire. Used when a moderator gives no duration: leaving a command's duration blank means use this; typing
permanentmeans never expire. A mute lasts an hour by default, everything else is permanent, and Longest a moderator may set caps what a command can ask for. - Tell the member
- An editable DM sent before the punishment lands, which can name the moderator and offer an appeal.
- Announce it in the channel
- An editable public message. Off by default, and never sent for Auto Moderation's punishments.
- Roles immune to this specifically
- On top of the server-wide immune roles.
- Take their other roles away too
- On Mute: strips a muted member's other roles and hands them back when the mute lifts. Works for every mute method, not only the muted role.
- Also give them these roles
- And …and take these away: roles to add or remove when this punishment lands.
- What Discord's audit log says
- The template written into Discord's audit log, separate from the reason your members see. Empty means
{moderator}: {reason}. - Always show the form first
- Sends the moderator through a review form before a slash command goes through.
Each tile also has its own switch (a switched-off punishment's command refuses), a default reason and Require a reason for this punishment, and where they fit, Delete their recent messages (ban and softban), warning points and an expiry (warn), and Ask before a mass action hits more than.
Reason shortcuts
Map an alias to a full wording (spam → “Repeated spam in public channels”) and optionally a duration, up to ten of them, each limited to the punishments you pick. It expands inside the engine, so commands, the Warn Member menu and report-card buttons all get it. An explicit duration on the command still wins.
You have been banned
Nebula CollectiveToday at 3:11 AM
Appeal thisMember banned (case #1284)
Reason
Duration
History deleted
ID
1290465318820544572throwaway_84 · ModerationToday at 3:11 AM
Privacy
Per audience (the public announcement and the DM), you choose whether to include who did it, the attached evidence, the message it was about, the case number and how long it lasts. A withheld moderator reads “a moderator”; anything else withheld is left out. The DM goes out before the case exists, so it never carries a case number.
Escalation
Warning thresholds turn repeated warnings into something stronger: three warnings in seven days becomes a mute. Switch them on with Enable warning thresholds (off by default) and add up to 15 rungs, counting warnings or, if you weigh them, warning points. A rung can mute them, kick them, ban them, softban them, give them a role or only notify staff. Each rung names its own window, but a warning that has already expired (Warnings stop counting after) never counts.
Automatic warnings climb the same ladder
A filter that warns somebody escalates exactly as a moderator's warning would. That is usually right, and it is a reason to be careful with a filter that fires often.
Reports
/report, or right-click → Apps → Report Member or Report Message, lets your members bring something to staff. Reports are off until you switch on Enable reports. A report card lands in the channel you choose with buttons on it.
- Where reports land
- The channel. Left empty, reports go to the moderation log channel.
- Who may report
- Allow and block lists, roles that cannot be reported at all, and account-age and time-in-server gates.
- What a report must say
- Template reasons offered by autocomplete, a minimum length, and optionally a required attachment.
- Card actions
- Which punishments the card's buttons offer: Warn, Mute, Kick, Ban and Delete their messages, all on by default. Claim, History and Dismiss are always there.
- When Arclo acts on its own
- X members report one member within Y days → do Z. Each member counts once however often they report, dismissed reports never count, and one report can only advance the ladder one rung. Up to five rungs.
- Auto-close
- Close untouched reports after a while. Off by default.
The automatic actions are nine: warn them, mute them, kick them, ban them, softban them, give them a role, take a role away, send them a message or only ping the staff. The last two deliberately file no case: a server that wants “three reports and they hear about it” should not have to reach for a punishment to say it. A role given this way can be temporary.
Appeals
A banned member is not in your server: no command, no channel and no DM thread reaches them. So appeals live on a public page at /appeal/<your-server>, which they can open from the ban DM. Appeals are off by default, and you choose which punishments can be appealed (bans, mutes, kicks and warnings to begin with). Members still in the server can also use /appeal submit.
- The member signs in with Discord and fills in the form on the web page. The appeal gets its own number.
- Arclo posts a card into your staff channel with Approve, Deny and History buttons.
- Staff decide: in Discord, or from the Appeals tab on the dashboard. Either way the decision is logged, and by default the member is told and an approval lifts the punishment (Tell the member the outcome, Approving lifts the punishment).
Note
Appeal pages are not indexed by search engines: the contents are one person's business.
Lockdown
Locks a channel, a list of channels, whole categories or the whole server, with an optional automatic end. Voice, stage, forum and media channels lock too: nobody new joins or speaks in a locked voice channel. The Lockdown tab decides which roles are locked out, which can still talk, which channels stay open, and whether a lockdown also raises Discord's verification level or pauses invites. A single /lock posts a notice in its channel; a lockdown posts in up to the first five channels it locks; both post again when the lock lifts.
Unlock restores, it does not grant
Arclo records every permission bit it changed on every channel it locked, and puts each one back. A naive unlock grants Send Messages to @everyone in channels that never had it, which is how a lockdown ends with the announcement channel open to the world.
Clearing messages
/clear deletes up to 1,000 messages at once, with a filter that picks which: any, from one member, bots, humans, containing text, matching a pattern, links, invites, images, files, embeds, pings or emoji, plus one that strips every reaction and leaves the messages. Pinned messages are skipped unless the General tab says otherwise.
Discord's 14-day wall
Discord refuses to bulk-delete anything older than two weeks, and deleting old messages one at a time is rate-limited in hours. Every purge in Arclo works inside that window; older messages are counted and reported rather than deleted.
Commands
Moderation registers 26 slash commands. The punishments are kept flat on purpose (/ban, /kick, /mute and /warn are muscle memory from every other bot), and the rest group their operations as subcommands (/case, /note, /role, /mass, /lockdown and more). There are also three user context commands and one message context command.
/ban <member> [reason] [duration] [delete] [silent] [evidence] [message] [review]Ban MembersCannot be undoneBans a member, permanently, or for a duration that lifts itself. Works on somebody who has already left.
/unban <user> [reason]Ban MembersLifts a ban. Accepts a user id or picks from the ban list.
/softban <member> [reason] [delete] [silent] [message] [review]Ban MembersCannot be undoneBans and immediately unbans. The way to wipe somebody's recent messages without keeping them out.
/kick <member> [reason] [silent] [message] [review]Kick MembersRemoves a member from the server. They can rejoin with a new invite.
/mute <member> [duration] [reason] [scope] [strip-roles] [silent] [message] [review]Timeout MembersStops a member talking, with Discord's timeout, a muted role, or both, whichever this server uses.
/unmute <member> [reason] [scope]Timeout MembersLets a member talk again. Lifts the timeout, the muted role, or both.
/warn <member> <reason> [points] [silent] [evidence] [message] [review]ModeratorsWarns a member and records it. Crossing a threshold can mute, kick or ban them automatically.
/unwarn <case> [reason]ModeratorsCannot be undoneRemoves a single warning by its case number.
/hardmute <member> [duration] [reason] [scope] [silent] [message] [review]Timeout MembersMutes a member AND takes every role they have away. A temporary hardmute hands the roles back when it expires; a permanent one leaves them off.
/mass ban [members|name|created|joined] [full] [duration] [reason] [delete] [silent]Ban MembersCannot be undoneBans everybody in a list of members or user ids, in one go.
/mass kick [members|name|created|joined] [full] [reason] [silent]Kick MembersKicks everybody in a list of members, in one go.
/mass mute [members|name|created|joined] [full] [duration] [reason] [silent]Timeout MembersMutes everybody in a list of members, in one go.
/mass warn [members|name|created|joined] [full] [reason] [points] [silent]ModeratorsWarns everybody in a list of members, in one go. Each warning counts toward that member's own threshold ladder.
/deafen <member> [duration] [reason]Deafen MembersServer-deafens a member so they can't hear voice channels. Optionally timed.
/undeafen <member> [reason]Deafen MembersLifts a server deafen.
/voicekick <member> [reason]Move MembersDisconnects a member from voice. They can come straight back. It is a nudge, not a punishment.
/warnings list <member> [include-expired]ModeratorsShows a member's warnings, their points and which ones have expired.
/warnings clear <member> [reason]ModeratorsCannot be undoneWipes every warning a member has.
/modlogs <member> [type] [page]ModeratorsThe full moderation history of a member. Every case, newest first.
/case view <case>ModeratorsOne case in full. Reason, moderator, duration, evidence and its appeal.
/case reason <case> <reason>ModeratorsRewrites a case's reason. The fix for the one typed in a hurry.
/case duration <case> <duration>ModeratorsChanges how long a timed punishment lasts, or makes it permanent.
/case evidence <case> [file] [link]ModeratorsAttaches a screenshot or a message link to a case, so it survives the deleted message.
/case pardon <case> [reason]ModeratorsLifts a punishment and marks the case pardoned. It stays in the history, but stops counting.
/case delete <case> [reason]AdministratorsCannot be undoneErases a case entirely. The history will not show it happened.
/case search [member] [moderator] [type] [contains] [page]ModeratorsFinds cases by member, moderator, type or a word in the reason.
/case stats [moderator] [days]ModeratorsHow much moderating has been done, and by whom. The leaderboard for a staff team.
/note add <member> <note> [pin]ModeratorsRecords a private staff note about a member. Never shown to them, and never counts as a punishment.
/note list <member>ModeratorsEvery staff note about a member.
/note remove <member> <number>ModeratorsCannot be undoneRemoves one note by its number.
/note clear <member>ModeratorsCannot be undoneRemoves every note about a member.
/clear <count> [filter] [channel] [member] [text] [pattern] [prefix] [reason]Manage MessagesCannot be undoneDeletes the last N messages in a channel. Everything, or only what the filter matches (one member, bots, links, invites, images, files, embeds, pings, emoji, text, a regular expression). It can also strip every reaction and leave the messages.
/slowmode <interval> [channel] [duration] [reason]Manage ChannelsSets or clears a channel's slowmode, optionally lifting itself after a while.
/lock [channel] [duration] [reason] [silent]Manage ChannelsStops everyone talking in a channel. Optionally unlocks itself after a set time.
/unlock [channel] [reason]Manage ChannelsOpens a locked channel again.
/lockdown start [duration] [reason]AdministratorsLocks every channel on your lockdown list at once. The raid button.
/lockdown end [reason]AdministratorsLifts a lockdown and restores every channel to what it was before.
/lockdown statusModeratorsWhether the server is locked down, which channels, and for how much longer.
/nickname set <member> <nickname> [reason]Manage NicknamesChanges a member's nickname.
/nickname reset <member> [reason]Manage NicknamesClears a member's nickname, putting their username back.
/nickname decancer <member> [reason]Manage NicknamesRewrites an unreadable name (fancy fonts, Zalgo, invisible characters) as plain letters.
/nickname freeze <member> [nickname] [reason]Manage NicknamesLocks a member's nickname where it is. Arclo puts it back if they change it.
/nickname unfreeze <member>Manage NicknamesLets a member change their own nickname again.
/role add <member> <role> [reason]Manage RolesGives a member a role.
/role remove <member> <role> [reason]Manage RolesTakes a role away from a member.
/role toggle <member> <role> [reason]Manage RolesGives the role if they don't have it, takes it if they do.
/role temp <member> <role> <duration> [reason]Manage RolesGives a role that takes itself away again after a set time.
/role all <role> <action> [only] [with-role] [reason]AdministratorsCannot be undoneGives (or removes) a role for every member at once. Runs in the background.
/role list [page]ModeratorsEvery role in the server, with how many members hold each.
/role members <role> [page]ModeratorsWho holds a role.
/report <reason> [member] [message-link] [evidence]EveryoneReports a member, or one specific message, to the staff. The reason can be picked from this server's own list. Anybody can use it.
/appeal submit [case]EveryoneFiles an appeal against a punishment, for the staff to review.
/appeal statusEveryoneWhere a member's own appeals stand.
/appeal list [status] [page]ModeratorsThe appeals waiting for staff to decide.
/appeal review <appeal> <decision> [note]ModeratorsApproves or denies an appeal, lifting the punishment if it's approved.
Right-click a member → Apps → Moderation HistoryModeratorsRight-click a member → Apps → Moderation History
Right-click a member → Apps → Moderation History. Their full case list without typing a name.
Right-click a member → Apps → Warn MemberModeratorsRight-click a member → Apps → Warn Member
Right-click a member → Apps → Warn Member. Opens a box for the reason and files the warning.
Right-click a member → Apps → Report MemberEveryoneRight-click a member → Apps → Report Member
Right-click a member → Apps → Report Member. Files a report without a command.
Right-click a message → Apps → Report MessageEveryoneRight-click a message → Apps → Report Message
Right-click a message → Apps → Report Message. Reports the message and its author together, with the text attached.
Still stuck? Ask in the support server: somebody there has almost certainly configured this before.

