Skip to content

Bernard Punishment Commands

Overview

Punishment commands are the hands-on side of Bernard's moderation suite. Where AutoMod automatically identifies and acts on obvious violations, punishment commands give your moderators a complete toolkit to act on everything else - the judgment calls, the coordinated attacks, and the situations that need a human in the loop.

Every punishment command shares a common set of behaviors: most are recorded on the target's Rapsheet, all are subject to Bernard's role hierarchy, and each requires a specific administrative capability that you grant to your moderator roles. If OmniLogs is configured, moderation actions are also logged to your server's event record.

Punishment commands fall into a handful of families:

For the precise syntax, parameters, and requirements of any individual command, refer to the Punishment Commands section of the command reference.

Core Concepts

Before diving into individual commands, it helps to understand the behaviors that most punishment commands have in common.

Temporary and Permanent Punishments

Many punishments (such as bans and voice mutes) can be applied either temporarily or permanently. Temporary punishments take a duration, which combines a whole number quantity with a unit of time (for example, 15d for fifteen days or 6h for six hours). To apply a punishment permanently, use a phrase such as perm, perma, or permanent in place of a duration.

Temporary and permanent punishments are governed by separate administrative capabilities. For example, the Ban command requires the TEMP_BAN_MEMBERS capability to issue a temporary ban and the PERMA_BAN_MEMBERS capability to issue a permanent one. This lets you grant junior moderators the ability to issue short, time-limited punishments while reserving permanent actions for senior staff.

Note

When a temporary punishment's duration expires, Bernard automatically reverses it. There is no need to manually unban or unmute a user whose temporary punishment has run its course.

Rapsheet Recording

Most punishments record an entry on the target's Rapsheet, giving your moderation team a running history of a user's conduct. The reason you provide when issuing a punishment is stored on that entry, so future moderators can understand the context behind each action.

A few actions are intentionally excluded from the rapsheet:

Punishments issued through a community vote are recorded with a (Voteban) prefix on the reason so it is clear the action was community-driven.

Role Hierarchy and Peer Moderation

Bernard enforces your server's role hierarchy on every punishment. A moderator cannot take action against:

  • A user with an equal or higher position in the Discord role hierarchy.
  • The server owner.
  • Bernard itself.

By default, Bernard also prevents a moderator from reversing a punishment issued by another moderator at their own tier. This peer-override protection is an anti-corruption safeguard: it stops one moderator from quietly undoing a colleague's decision. If you prefer looser rules, this behavior is configurable through the peer moderation setting.

To learn how to design a moderation hierarchy that takes full advantage of these safeguards, see Server Moderation Structure and Server Permissions.

Removing a User

These commands remove a user from the server, either temporarily or permanently.

  • Kick - Removes a user from the server. A kick is not a ban; a kicked user can rejoin immediately if they have an invite. Useful as a firm warning that stops short of a ban.
  • Ban - Temporarily or permanently bans a user. Bans can optionally clean up a number of days' worth of the banned user's recent messages at the same time.
  • Unban - Reverses a ban.

Responding to Raids and Bulk Attacks

When your server faces a coordinated attack, acting on users one at a time is too slow. These commands let you respond at scale.

  • Massban - Bans multiple users in a single command. If one target is invalid (for example, the server owner), only that user is skipped and the rest are still banned.
  • Join Ban - Bans every user who joined the server within a given time window, defined either as a relative period or as specific dates and times. Ideal for catching a wave of accounts that joined during a raid.
  • Invite Ban - Bans every user who joined through a specific invite, whether that invite is still active or was recently deleted. Useful when a single invite link is the source of an attack. You can trace which users are associated with an invite using the Invite Source command.
  • Lock and Unlock - Temporarily prevent the default @everyone role from sending messages, adding reactions, speaking, or streaming in one or more channels (or the entire server). Locking down channels is often the fastest way to contain a raid while you deal with the individual accounts.

Restricting a User

Sometimes the right response is to limit what a user can do rather than remove them entirely.

  • Timeout and Remove Timeout - Uses Discord's built-in timeout feature to temporarily prevent a user from sending messages, adding reactions, speaking, or joining voice anywhere in the server. This is the recommended way to quickly restrict a disruptive user.
  • Voice Mute and Unmute - Temporarily or permanently mutes a user in voice channels server-wide.

Note

Bernard previously offered a role-based "silence" punishment. That feature is deprecated in favor of Discord's native timeouts and should no longer be used.

Documenting Behavior

Not every moderation action is a punishment. Sometimes you simply need a record.

  • Warn - Issues a formal warning that appears on the user's rapsheet. Warnings are primarily a documentation tool, showing that a moderator noticed a user's behavior and told them to stop.
  • Note - Adds an informational note to a user's rapsheet. A note is not a punishment and the user is not notified; it is a way for your moderation team to share context about a user among themselves (for example, "this user is a friend of a server booster").

Cleaning Up Messages

  • Cleanup - Deletes a user's recent messages across the whole server, or within specific channels or categories. Cleanup is typically used after another action (such as a kick or ban) or for privacy requests. It does not appear on the target's rapsheet.

Note

Bans, massbans, join bans, and invite bans can all clean up a limited number of days' worth of messages as part of the ban itself. When you need to remove more than a week of messages, or clean up without banning, use the dedicated Cleanup command instead.

Community-Driven Votes

Vote commands let your community weigh in on whether a punishment should be applied. When a vote is started, members react to a message to cast their votes, and Bernard applies the punishment if the vote passes.

  • Voteban - Starts a community vote on whether a user should be temporarily or permanently banned.
  • Votemute - Starts a community vote on whether a user should be voice-muted for a set duration, using the /votemute slash command.

Both votes follow the same pattern. Who is allowed to participate is controlled by a dedicated vote role, configured with the role vote command; you can review configured vote roles with role vote list.

See Also

  • Rapsheets - The per-user moderation history that punishment commands write to.
  • OmniLogs - The server-wide event record that captures moderation actions.
  • AutoMod - The automatic counterpart to these manual commands.
  • Command Reference: Punishment Commands - Exact syntax, parameters, and requirements for every command described here.