Skip to main content
Version: Stable - 3.6.0

Sanction History

RaidProtect's sanction history lets you track and manage every sanction applied on your server. This system centralizes all moderation actions in a searchable and editable database, making your moderation team's work easier.

❓ How the history works​

The sanction history automatically records all moderation actions performed on your server:

  • Manual sanctions: All moderation commands (/ban, /tempban, /kick, /mute, /jail, /warn...) are recorded in the history.
  • Automatic sanctions: Sanctions applied by our protection modules (anti-spam, HoneyPot, ScamLens...) are also added to the history.
  • Bans, kicks and timeouts: Sanctions applied without using RaidProtect are added to the history.
  • Discord's AutoMod: Timeouts applied by Discord's AutoMod are recorded. Each message blocked by an AutoMod rule also creates a warning in the name of "Discord Automod", silent (no DM), unless the rule already applies a timeout. It is not given either when the member receives a heavier sanction (timeout, mute, jail, kick, softban, ban, quarantine) within 10 seconds of the block, for example from the HoneyPot or the anti-spam for the same message. This warn is enabled by default and can be turned off with "Warn on messages blocked by AutoMod": run the /settings command, "Moderation" tab, "Sanctions".
  • Sanction notifications: Sanctioned members receive a private message informing them of the sanction and its reason. The bot also sends a detailed acknowledgment confirming the delivery status: received, DMs closed, expired or silent (when the [--silent] option is used). For kicks, softbans and temporary bans, this message also includes a button with a server invite so the member can come back once the sanction is over.
info

Every recorded sanction contains: the sanctioned user, the responsible moderator, the reason (up to 512 characters), the date and time, as well as the sanction type and whether the user was notified.

The /sanctions search command lets you search for sanctions in the history using different criteria.

Use the command: /sanctions search [user] [moderator] [type] [reason] [date] [status] [moderator_type]

  • [user]: Search for all sanctions of a specific user. If this account is part of a group of alt accounts, the sanctions of the linked accounts also appear.
  • [moderator]: Search for all sanctions applied by a specific moderator.
  • [type]: Filter by sanction type (Ban, Unban, Kick, Jail, Unjail, Quarantine, Timeout, Untimeout, Mute, Unmute, Warn).
  • [reason]: Filter by reason (partial match).
  • [date]: Filter by sanction date.
  • [status]: Filter by sanction status (Active, Expired, Canceled).
  • [moderator_type]: Filter by moderator type (Human actions, Automated actions, RaidProtect actions, Discord actions, Antispam, Expiration, Antiscam, HoneyPot, Discord Automod, Discord Expiration).

Screenshot of sanctions search

tip

You can combine multiple criteria to refine your search. For example, search for all bans performed by a specific moderator.

ℹ️ View a sanction​

The /sanctions info command lets you get detailed information about a specific sanction.

Use the command: /sanctions info (id)

Replace (id) with the ID of the sanction you want to view.

Screenshot of sanction information

✏️ Edit a sanction​

The /sanctions edit command lets you edit the reason or duration of an existing sanction, useful for correcting a mistake or adding details.

Use the command: /sanctions edit (id) [reason] [duration]

Replace (id) with the ID of the sanction to edit, [reason] with the new reason (maximum 512 characters) and [duration] with the new duration (e.g., 1d 2h).

Screenshot of sanction editing

warning

Editing a sanction updates the record in the history but does not change the sanction applied on Discord (for example, a banned user will remain banned).

🗑️ Delete a sanction​

The /sanctions delete command lets you delete a sanction from the history. This action is irreversible.

Use the command: /sanctions delete (id) [reason]

Replace (id) with the ID of the sanction to delete. The [reason] parameter lets you justify the deletion, which will be recorded in the logs.

Screenshot of sanction deletion

Sanction statuses​

Sanctions can have different statuses:

StatusEmojisMeanings
Activeicon SanctionStatusACTIVEThe sanction is in progress.
Expiredicon SanctionStatusEXPIREDThe sanction has expired.
Canceledicon SanctionStatusCANCELEDThe sanction was canceled by a moderator.
Failedicon SanctionStatusFAILEDThe sanction failed (missing permissions).

Handling duplicates​

When an earlier, still active sanction is found, you can:

  • Merge the two sanctions: the durations will be added together if possible and the reasons will be concatenated.
  • Cancel the active sanction and create a new one.
  • Overwrite the active sanction with the information from the newly entered sanction.

Screenshot of sanction status management

⚙️ Sanctions configuration​

All sanction settings are on a single screen:

  1. Run the /settings command.
  2. Open the "Moderation" tab.
  3. Click "Configure" next to "Sanctions".
Sanctions configuration
Configure settings related to automatic sanctions and their logging on the server. It provides precise control over applied roles, sanction thresholds, and the visibility of moderation actions.

Jail
@Emprisonné
Synced Discord quarantine
Enabled
A member whom Discord's AutoMod quarantines (nickname, server tag) is quarantined with the jail role, and released when Discord lifts it. Only new quarantines count.
Mute
@Muet

Logs
#mod-logs
Passive moderation logs
Enabled
Show medias
Enabled
Sanctions Privacy
With reasons


Disable sanctions​

You can completely disable the sanctions system on your server. When sanctions are disabled, RaidProtect no longer records any sanction in the history and the related commands are unavailable.

  1. Run the /settings command.
  2. Open the "Moderation" tab.
  3. Click "Configure" next to "Sanctions".
  4. Click "Disable" to the right of the screen's title (or "Enable" to turn it back on).

Jail​

Configure the Jail to enable a role-based moderation sanction, more restrictive than a standard mute. Once configured, this role lets you isolate a member with heavily limited permissions and unlocks the /jail and /tempjail commands.

  1. Run the /settings command.
  2. Open the "Moderation" tab.
  3. Click "Configure" next to "Sanctions".
  4. Click "Edit" next to "Jail".
  5. Choose an existing role in the selector, or click "Create one for me".
Moderation configuration
Configure the Jail role to enable a role-based moderation sanction, more restrictive than a standard mute. Once configured, this role lets you isolate a member with heavily limited permissions and unlocks the /jail and /tempjail commands.

Jail
@Emprisonné
Information channel
#accès-restreint

Role handling on jailThe member keeps their roles, the jail role is added.
iconRoleAdd the jail role

The "Create one for me" button opens a window in which you name the role (default Jailed) and configure the information channel intended for jailed members:

  • Select an existing channel: it keeps its current visibility.
  • Create a new channel by entering a name (default restricted-access).

We remove the permission to see the server's channels from the role. In the information channel, jailed members can read the message and the history, but cannot write, react or create threads. This channel corresponds to the reserved slot in the information panels, automatically managed by the Jail configuration.

info

If a Jail role is already configured, you can change the information channel with the "Edit channel" button of the Jail screen.

warning

If the Jail role can still see some channels, the Jail screen lists them in a box: deny it the View Channel permission in those channels, or create a new role with "Create one for me". As long as active sanctions rely on the Jail or Mute role, you cannot change it: remove those sanctions or wait for them to expire.

info

Without a Jail role, the /jail and /tempjail commands are unavailable. Automatic modules (anti-spam, HoneyPot, false reporters) still offer Jail and Mute, with the note "Not configured, falls back to Timeout": the sanction applied is then a timeout.

Roles during jail​

In the Jail screen, the "Role handling on jail" selector controls what RaidProtect does with a member's roles while they are jailed. Two modes:

  • "Add the jail role" (default): the member keeps their roles, the jail role is added.
  • "Replace all roles": we remove all of the member's roles for the duration of the jail and restore them on release. Stricter, this prevents a role with explicit permissions from bypassing the Jail role's restrictions.

Synced Discord quarantine​

Discord's AutoMod can put a member whose profile breaks a rule (nickname, server tag) in quarantine. With this setting, we follow that quarantine: the member receives the jail role and a Quarantine sanction is recorded in the history. They leave it as soon as Discord lifts the quarantine.

  1. Run the /settings command.
  2. Open the "Moderation" tab.
  3. Click "Configure" next to "Sanctions".
  4. Click "Enable" next to "Synced Discord quarantine".
info

This setting requires a Jail role. Disabling it releases the quarantines it applied.

Message deletion on ban​

In the "Sanctions" screen, the "Message deletion on ban" selector sets the history deleted by default when you ban with /ban, ?ban or /tempban without specifying --delete-messages. Choose "No deletion" (default), 1 hour, 6 hours, 12 hours, 1 day, 3 days or 7 days. A value given in the command takes precedence.

Mute​

Configure the Mute role to use a role-based sanction instead of Discord's timeout for extended durations. When a mute duration exceeds the defined threshold, the bot will automatically assign the Mute role to the member instead of applying a Discord timeout.

  1. Run the /settings command.
  2. Open the "Moderation" tab.
  3. Click "Configure" next to "Sanctions".
  4. Click "Edit" next to "Mute".
  5. Choose an existing role in the "Mute Role" selector, or click "Create one for me" (we create the Muted role and remove its ability to write in all channels).

Mute threshold​

The mute threshold is set on the same screen as the role. It defines from which duration the bot uses the Mute role instead of Discord's timeout.

  1. On the Mute screen, open the "Mute Threshold" selector.
  2. Choose "Everytime", "1 hour" (default), "1 day", "Extended Timeout (=28 days)" or "Custom value" (from 0 to 28 days, e.g., 3d 1h 15m).

"Everytime" (a value of 0) never uses Discord's timeout: every mute goes through the role.

info

The 28-day timeout limit is imposed by Discord. Beyond this duration, the Mute role will always be used if configured. The [--force-timeout] option of the /mute command forces Discord's timeout despite the threshold.

info

Timeouts applied by Discord's AutoMod are automatically converted to a role-based mute when their duration exceeds the configured threshold, ensuring consistency with your manual sanctions.

Sanctions privacy​

Configure the sanctions privacy level to control what information members can access about their own sanctions, via the /my-sanctions command or the View my sanctions button.

  1. Run the /settings command.
  2. Open the "Moderation" tab.
  3. Click "Configure" next to "Sanctions".
  4. Click "Edit" next to "Sanctions Privacy".
  5. In the window, choose the desired "Access level":
LevelDescription
Disabled (default)Members cannot view their personal sanctions.
Sanctions onlyMembers can only view their sanctions and the remaining time, if applicable.
With reasonsMembers can view their sanctions along with the reasons, without the moderator's identity.
With reasons and moderatorsMembers can view all information about their sanctions.
note

Regardless of the selected level, moderators retain full access to the sanction history via the moderation tools.

Show media​

Configure the display of media in sanction reasons. When this option is disabled (default), links containing the following extensions are automatically removed from sanction reasons when displayed to members (via /my-sanctions or sanction notifications):

png, jpg, jpeg, gif, webp, webm, mp4

  1. Run the /settings command.
  2. Open the "Moderation" tab.
  3. Click "Configure" next to "Sanctions".
  4. Click "Enable" or "Disable" next to "Show medias".

✨ Sanction names Premium​

With the Premium version, you can customize the name of each sanction type to fit your server's vocabulary. Custom names replace the default names in logs, searches and menus. For each type, you can configure:

  • Name: Replace the default name with one of your choice, up to 32 characters (e.g., "Warn" → "Yellow Card").
  • Verb: Define the verb used in messages, up to 32 characters (e.g., "carded"). If left empty, the name is used.
  • DM Mode: Choose the wording of the private message sent to the sanctioned member:
    • "You have been [verb]" (default)
    • "You have received a [name]"

The customizable sanction types are: Ban, Softban, Unban, Kick, Jail, Unjail, Timeout, Untimeout, Mute, Unmute and Warn.

  1. Run the /settings command.
  2. Open the "Moderation" tab.
  3. Click "Configure" next to "Sanctions".
  4. Click the "Sanction names" button.
  5. Choose the sanction type to customize in the selector, then enter the name, verb and DM mode in the window.
Customize sanction names
Customize the names displayed for each sanction type. Custom names override default translations in logs, searches and menus.

Bannissement : Bannissement (banni)
Softban : Softban (softban)

Débannissement : Débannissement (débanni)

Expulsion : Expulsion (expulsé)

Emprisonnement : Emprisonnement (emprisonné)

Libération : Libération (libéré)

Timeout : Timeout (timeout)

Untimeout : Untimeout (untimeout)

Mute : Mute (mute)

Unmute : Unmute (unmute)

Avertissement : Carton Jaune (cartonné)
Select a sanction to customize


The "Export" and "Import" buttons on the screen let you save your names to a JSON file and paste them back (field "Paste JSON content"), for example to reuse them on another server.

tip

Leave the fields empty to reset a sanction type to its default name. The "Reset all" button resets every name.

📨 Appeal link Premium​

The appeal link lets sanctioned members contest their sanction: a button to your link is added to the DMs of all sanctions, except warnings.

  1. Run the /settings command.
  2. Open the "Moderation" tab.
  3. Click "Configure" next to "Sanctions".
  4. Click the "Appeal link" button.
  5. Paste your link in the window, or empty the field to remove it.

Accepted platforms: Discord, Google Forms, appeal.gg, Appy, DraftBot and FlaviBot.

info

The "Appeal link" button only appears on Premium servers.

🔗 Alt accounts Experiment​

As an experiment with the Identity Update (Premium public beta), the accounts a single person uses can be linked with the /alt command: banning one bans the others, and each sanction extends to the group according to your settings. Everything is explained on the Alt Accounts page.

📊 Sanctions logs​

For better organization, you can configure a logs channel dedicated specifically to sanctions, separate from your general logs.

Screenshot of a sanction log

Configure the sanctions logs channel​

  1. Run the /settings command.
  2. Open the "Moderation" tab.
  3. Click "Configure" next to "Sanctions".
  4. Click "Edit" next to "Logs".
  5. Choose the channel where sanctions logs will be sent, or use the "Create one for me" button.

You will find the same setting, with the other logs channels, in the "Logs" screen of the "Moderation" tab (see the moderation logs). Without a dedicated channel, sanctions logs go to the general logs channel.

note

The "Passive moderation logs" toggle (enabled by default) chooses whether RaidProtect also logs actions performed without going through the bot (ban from Discord, Discord's AutoMod...).

Color logic​

Sanctions logs configuration

📦 Import / Export sanctions​

RaidProtect lets you import or export your server's sanction history. The "Export" and "Import" buttons on the Sanctions screen direct you to our support server: contact us with your server's invite and, for an import, the moderation bot(s) you were using.

Frequently asked questions​

Why is the /jail command unavailable?​

It requires a Jail role. Set it up in /settings, "Moderation" tab, "Sanctions", then "Edit" next to "Jail", or let RaidProtect create one.

What happens if an automatic module must jail a member without a Jail role?​

The sanction falls back to a timeout. The same goes for Mute without a Mute role.

Can a member see their own sanctions?​

Yes, if you set the sanctions privacy to a level other than "Disabled". They then view them with /my-sanctions.

Do messages blocked by Discord's AutoMod count as sanctions?​

Yes, by default: each blocked message creates a silent warning in the name of "Discord Automod", unless the rule already applies a timeout or the member receives a heavier sanction at the same time. You can turn this warn off with "Warn on messages blocked by AutoMod" in /settings, "Moderation" tab, "Sanctions". These warnings are only logged if passive moderation logs are enabled.

Didn't find what you were looking for?

Search the whole documentation, the glossary and the blog.