Moderation
Last updated Sep 27, 2026Open in dashboard

Moderation - Taking Action

This page explains how the actions behave beyond their one-line descriptions. The full option list is on the Commands page.

Writing durations

/timeout, /mute and /ban take a duration made of numbers and units, with or without spaces:

UnitMeaningExample
sseconds90s
mminutes30m
hhours2h
ddays7d
wweeks2w

Combine them freely: 1h30m, 1w 2d. Anything else is refused with a message showing the format.

Timeouts

/timeout uses Discord's native timeout: the member cannot send messages, react, speak or join voice until it ends. Without a duration, the server default applies (1 hour unless you change it on the Commands tab).

Timeouts longer than 28 days work even though Discord caps a single timeout at 28 days. The bot applies the first 28 days, remembers when the full timeout ends and renews it on the last day of each window, until the end you asked for. This survives bot restarts, and a member who leaves and rejoins is timed out again right away. /untimeout, or removing the timeout in Discord, ends it for good. If a long timeout stops being renewed (its case was deleted, say), it ends when Discord's current window runs out, and the bot notices that within a few minutes.

Roles removed while timed out

A Discord timeout already stops a member from talking, but they can still read and browse. To shut more away while it lasts (image channels, a voice lounge, event pings), pick roles under Remove these roles while timed out in Settings:

  1. When a member is timed out, the bot takes off the listed roles they have and remembers exactly which ones. Every timeout counts: /timeout, an automation rule, an infraction threshold, anti-spam, and a timeout given in Discord itself.
  2. When the timeout ends, the bot gives back the roles it took, if they still exist and the member does not have them already. That covers /untimeout, removing the timeout in Discord, and a timeout that simply runs out (the bot notices within about two minutes; Discord announces nothing when a timeout expires).
  3. Changing the list applies right away to members who are timed out now: a role you add comes off them (and comes back when their timeout ends), a role you take off the list is given back to those it was taken from.

A few details:

  • The bot can only take and give roles below its own highest role that no integration manages. It skips the others and posts a bot alert once, so move the bot's role up or take them off the list. A held role that ends up above the bot's role before the timeout ends is not lost: the bot keeps it owed and gives it back, retrying with increasing delays, once its role is above it again (or someone gives it by hand).
  • A timeout given in Discord itself is booked until the end Discord set, and its roles come off before the When a member is timed out automation rules run.
  • Leaving and rejoining treats held roles like the roles kept for a rejoin: they come back only with Restore roles when a member rejoins on, and never a staff role (one with Administrator or a moderation or manage permission), which staff give back by hand. A member who rejoins while still timed out stays without the listed roles, also those another feature gives on join (a welcome role, an automation): they are taken off again a few seconds after the join and come back when the timeout ends. If the timeout ended while they were away, the held roles come back when they return.
  • A member who is banned loses the held roles for good, like the roles kept for a rejoin: an unban never hands them back.
  • The role changes appear in Discord's audit log with the timeout's case number and the moderator behind them, so Mod Logs credits the right person.
  • Timeouts given while the bot was offline are caught up when it starts again.

The Automations trigger When a member's timeout ends runs once for every end, whichever way it came, so a rule can welcome the member back or post to a staff channel.

Mutes

/mute gives the Mute Role set in Settings instead of a Discord timeout. Use it when you want a mute you control with channel permissions, or one with no end at all:

  • Leave duration empty for an indefinite mute, or give one and the bot removes the role when it runs out (within about two minutes).
  • A member who leaves while muted gets the role back when they rejoin.
  • /unmute, or taking the role off by hand, ends the mute; a later rejoin does not restore it.
  • A mute sends no DM.

/mute needs the bot to have Manage Roles and the mute role to sit below the bot's highest role.

Bans

UseFor
/banA member in the server. Add a duration (for example 7d) for a timed ban that the bot lifts when it runs out, even across restarts. delete_days (0 to 7) removes that many days of their messages; the default is set on the Commands tab.
/forcebanAnyone by user ID, including people who never joined. Refused if they are already banned.
/softbanRemoving a member and their recent messages (1 to 7 days, default 1) without keeping them banned. They can rejoin with an invite.
/unbanLifting a ban by user ID. Refused if the user is not banned.

A timed ban is only lifted if it is still the ban the bot made: if someone unbans and re-bans the user in the meantime, or a later /ban or /unban replaces it, the automatic unban is cancelled. If the bot cannot lift a ban (for example it lost Ban Members), it posts a bot alert once and keeps retrying with increasing delays.

Ban appeals

The ban DM includes a link to your ban appeal form when all of these are true: the Forms module is enabled, and you have an appeal form that is enabled. The link is only in the DM for /ban and /forceban; softbans, kicks and other DMs never carry it. Accepting an appeal in Forms unbans the member and records an Unban case. See the Forms guide for setting up the appeal form.

Mass actions

/massban, /massunban and /massmute act on up to 200 user IDs at once. Paste the IDs separated by spaces, commas or new lines; duplicates are ignored.

  1. Run the command with the IDs and an optional reason.
  2. The bot asks privately, for example "Ban 12 user(s)?". Click Confirm within 60 seconds, or Cancel.
  3. The bot reports how many users it acted on, how many failed and how many it skipped.

/massban and /massmute skip anyone the single commands would refuse: you, the bot, the server owner, and members at or above your highest role or the bot's. /massmute also skips users who are not in the server or already muted. /massunban counts users who are not banned as failed.

Each user gets a case, but no DM, no infraction points, no case log post and no automation trigger. Instead, the whole batch is logged as one Mod Logs entry (Mass Ban, Mass Unban or Mass Mute). /massban uses Discord's bulk ban, which needs the bot to have Ban Members and Manage Server, and does not delete messages. /massmute needs the mute role to be set, and mass-muted members stay muted if they leave and rejoin.

Besides the Discord permission, the mass commands need the bot's Staff level (a Staff role or admin).

Cleaning up messages

/clean count:<1-200> scans that many recent messages in the current channel (a text channel, voice channel chat or thread) and deletes those that match:

  • member keeps only that member's messages.
  • contains keeps only messages containing that text (not case sensitive).

The purge is logged once, as a Channel Clean entry in Mod Logs with an archive of the deleted messages, rather than as individual message deletes. /clean needs the bot Staff level and Manage Messages; the bot needs Manage Messages and Read Message History.

Restoring roles when a member rejoins

Turn on Restore roles when a member rejoins in Settings (off by default) and the bot remembers a member's roles when they leave, then gives them back if they return. Some roles are never given back automatically:

  • roles above the bot's highest role, and roles managed by an integration;
  • the mute role (it only comes back with an active mute, see Mutes);
  • roles with Administrator or a moderation or management permission, such as Ban Members, Manage Messages or Manage Roles. Staff give those back by hand; the staff log entry lists which were held back.

A member who was banned has no roles kept, so an unban never hands them back. The saved roles are used once, on the next join.