Commands Reference

All moderation commands require the moderation feature to be active on your plan. It is on by default during the Basic trial.

Moderation is grouped into four slash commands. The Permission action column is the capability name used by the permission system — that is what actually decides who may run a command, and it is what you grant or deny per role on the dashboard.

/mod — member actions

CommandPermission actionDescription
/mod warn <user> <reason> [duration] [silent] [note] [evidence] [category]warnWarn a member and open a case. Give a duration to make it a temporary warning that stops counting toward escalation when it expires.
/mod warnings <user>warningsA member's warnings (expired ones shown struck through) plus where they stand on the escalation ladder.
/mod kick <user> <reason> [silent] [dm_message] [note] [evidence]kickKick a member from the server. They can rejoin via invite.
/mod ban <user> <reason> [delete_messages] [silent] [dm_message] [note] [evidence]banBan a user from the server, optionally purging their recent messages.
/mod unban <user_id> <reason>unbanLift a ban so the user can rejoin.
/mod tempban <user> <duration> <reason> [delete_messages] [silent] [note] [evidence]tempbanTemporarily ban a user — auto-unbanned when the duration expires. Survives bot restarts.
/mod timeout add <user> <duration> <reason> [silent] [note] [evidence]timeoutTimeout a member for any duration up to Discord's 28-day maximum — type it, e.g. 45m or 1h30m.
/mod timeout remove <user> <reason>timeoutRemove an active timeout before it expires.
/mod temprole add <user> <role> <duration> <reason> [silent] [note]temproleTemporarily add a role — auto-removed on expiry.
/mod temprole remove <user> <role> <duration> <reason> [silent] [note]temproleTemporarily remove a role — auto-restored on expiry.
/mod purge <amount> [user] [filter] [contains] [has_attachments] [include_pinned]purgeBulk-delete messages in this channel, with optional filters.
/mod nick <user> [nickname] [reason]nicknameChange or reset a member's nickname. Omit nickname to reset it.

/voice — voice actions

CommandPermission actionDescription
/voice mute <user> [reason]voice_muteServer-mute a member in voice channels.
/voice unmute <user> [reason]voice_unmuteRemove a member's voice server-mute.
/voice deafen <user> [reason]voice_deafenServer-deafen a member in voice channels.
/voice undeafen <user> [reason]voice_undeafenRemove a member's voice server-deafen.
/voice move <user> <channel> [reason]voice_moveMove a member to another voice channel.
/voice disconnect <user> [reason]voice_disconnectDisconnect a member from their voice channel.

/channel — channel actions

CommandPermission actionDescription
/channel lock [channel] [reason]lockPrevent @everyone from sending messages in a channel.
/channel unlock [channel] [reason]unlockRestore @everyone sending permissions in a locked channel.
/channel slowmode <seconds> [channel]slowmodeSet the slowmode delay for a channel (0 to disable).
/channel lockdown lock [reason] [category]lockdownLock all text channels at once — or just one category.
/channel lockdown unlock [reason] [category]lockdownUnlock all text channels locked by a previous lockdown.

/massmod — bulk actions

CommandPermission actionDescription
/massmod ban <reason> [delete_messages]massmodBan up to 10 members via a user picker.
/massmod kick <reason> [role]massmodKick members — pick specific users, or everyone with a role.
/massmod timeout <duration> <reason> [role]massmodTimeout members — pick specific users, or everyone with a role.
/massmod role <action> <role> [reason]massmodAdd or remove a role from up to 10 members via a user picker.
massmod is its own permission action Granting or denying ban does not affect /massmod ban — bulk actions are gated by the single massmod action, so you can hand out day-to-day moderation without handing out bulk tooling. Grant massmod deliberately.
Also available as text commands warn, warnings, kick, ban, unban, timeout, untimeout, purge, slowmode, lock, unlock, mute, unmute, deafen, undeafen, disconnect and nick keep their short, flat names — run them with your server prefix (default !) or by @mentioning the bot. Same permissions and mod-log behaviour as the slash versions, so !ban stays the fast path even though the slash command is now /mod ban. See Text Commands.
!mute now means voice-mute !mute and !unmute previously ran timeout / untimeout. They now run the voice server-mute, matching /voice mute. To time a member out from chat, use !timeout / !untimeout (or /mod timeout add).

/punish — jail, blacklist and other member actions

Actions Discord has no verb of its own for. Every one opens a case, DMs the member (with your appeal link) and can be reversed later.

CommandPermission actionDescription
/punish softban <user> <reason>softbanBan and immediately unban — removes the member and purges their recent messages, without leaving a standing ban.
/punish tempkick <user> <duration> <reason>tempkickKick, then remove them again on every rejoin until the duration expires.
/punish jail <user> <reason> [duration]jailStrip every role Azra can manage and assign the jail role. The removed roles are stored and restored on release. With a duration the release is automatic.
/punish unjail <user>unjailRelease from jail and put the stored roles back.
/punish quarantine <user> <reason>jailAdd the quarantine role and leave their other roles alone — the lighter form of jail.
/punish unquarantine <user>unjailRemove the quarantine role.
/punish blacklist <user> <reason>blacklistBar a user permanently — every time they join they are removed again, by kick or by ban (your choice in settings).
/punish unblacklist <user>unblacklistLift a blacklist (and the ban it left behind, if it used ban mode).
/punish lock <user> <reason>lock_userStop one member talking, reacting or speaking anywhere, without touching their roles. Useful where a timeout is too blunt and a jail too heavy.
/punish unlock <user>unlock_userLift a user lock.

/case — the moderation record

CommandPermission actionDescription
/case view <number>case_viewOne case in full — reason, moderator, duration, evidence, whether the DM landed, and every internal note.
/case history <user>case_viewA member's whole moderation record.
/case list [user] [active]case_viewThe server's recent cases, optionally only the punishments still in force.
/case note <number> <note>case_noteAdd an internal note. Staff only — never shown to the member.
/case reason <number> <reason>case_editCorrect a stated reason. The edit is itself recorded on the case.
/case undo <number> [reason]case_undoReverse a punishment — unban, unjail, remove a timeout, lift a blacklist. The reversal gets its own case.
/case escalation <user>escalation_previewPreview the next automatic punishment for a member before you warn them again.

Options every action shares

These are properties of the moderation system, not of individual commands — so every action supports them, and any action added later gets them automatically.

OptionWhat it does
reasonThe reason recorded on the case and sent to the member. Type to search your saved reasons — or ignore the suggestions and write your own.
silentTake the action with no DM and no public response. It is still logged and still filed as a case.
dm_messageReplace the default DM wording for this one action.
evidenceAttach a screenshot or file. It is stored on the case, shown in the log and linked in the member's DM.
noteAn internal note filed with the case. Staff only — the member never sees it.
categoryWhich moderation category this counts under (spam, toxicity, advertising…). Categories can have their own warning counters and their own escalation ladders.
durationOn any temporary action. Written by hand, so you are never boxed into preset lengths.
Dangerous actions ask first Bans, kicks, soft bans, temporary removals and blacklists show a confirmation with the target and reason before anything happens. You can switch that off in Dashboard → Punishments & Cases → Settings.

Context Menu Quick Actions

Right-click any user in your server — Apps menu — for one-click mod actions:

👆
Quick Ban
Instantly ban from the user profile context menu. Logged to mod actions.
👆
Quick Kick
Instantly kick. No confirmation — use with care.
👆
Quick Timeout
Apply a standard timeout directly from the context menu.

Duration Format

Tempban and temprole use a flexible human-readable duration format:

30s → 30 seconds  |  15m → 15 minutes  |  2h → 2 hours  |  3d → 3 days  |  1w → 1 week

Combine: 2h30m · 1d12h · 3d6h30m

Scheduled punishments (tempban expiry, temprole expiry) are persisted to the database and recovered automatically when the bot restarts.

Cases

Every moderation action — yours, the escalation ladder's, and Auto-Moderation's — files one numbered case.

A case is the whole record of an action: who did it, to whom, why, the DM that was sent, the evidence attached, when it expires, whether it was reversed, and every internal note staff added afterwards. Case numbers are per-server and sequential, so “see case #42” means the same thing to everyone on your team.

What a case carries

FieldNotes
Case numberPer-server and sequential. Quoted in the member's DM so an appeal can reference it.
Action & categoryWhat was done, and which counter it belongs to.
ModeratorAttribution — also written into Discord's own audit log, so it survives even if you never set up a log channel.
ReasonCorrectable later with /case reason; the correction is recorded.
EvidenceAttachments kept with the case and linked in the log and the member's DM.
Internal notesAppended by any staff member. Never shown to the member.
ExpiryOn temporary actions. Azra performs the reversal itself and closes the case.
Sourcemanual, escalation, automod or dashboard — so you can tell at a glance what the bot did on its own.
ReversalWho reversed it, when and why. The reversal is filed as its own case.

Appeals

Every punishment DM carries an Appeal this decision button alongside the member's case number. You set where it goes in Dashboard → Punishments & Cases → Settings, and there are two destinations because a punished member is not always still in your server:

DestinationUsed for
In this server — a channel you pickWarnings, timeouts, jail, quarantine, user locks, role punishments. The member is still here, so the button drops them straight into your ticket panel or appeals channel.
Outside Discord — an https linkKicks, bans, softbans, tempkicks and blacklists. They have been removed, so a channel here would open onto something they can no longer read. Point this at a form, a second Discord server, a website — anything reachable from outside.

Set either, or both. If you only set the link, it is used everywhere; if you only pick a channel, removed members simply get no button rather than a dead one.

Browse and act on cases from the dashboard Dashboard → Punishments & Cases → Cases gives you search by reason, filter by member, by action and by “still in force”, plus one-click add-note, correct-reason and reverse.
Automatic Punishment Escalation

Warnings add up, and a ladder decides what happens at each rung. Fully customisable — or leave it alone and use the built-in one.

The default ladder

Every server starts here, with nothing to configure:

WarningsPunishment
1DM warning
2Timeout (1 hour)
3Kick
5Ban

The moment you edit it, it becomes your ladder — Azra's future changes to the built-in one stop affecting your server.

Building your own

From Dashboard → Punishments & Cases → Escalation you can create as many ladders as you need, each with unlimited levels, and:

When more than one ladder could apply, the most specific wins: a category-matched ladder beats a general one, a role-scoped ladder beats a server-wide one, and your own priority setting breaks any remaining tie.

What a level can do

Each rung sets a warning threshold and a punishment, and can carry its own DM to the member, its own public response in the channel, and its own note for staff in the log.

PunishmentNotes
Warning · Temporary WarningRecords a warning; a temporary one stops counting when it expires.
Send DMMessage the member and nothing else — the gentlest rung.
Voice Mute · TimeoutTimeouts take a duration, up to Discord's 28-day maximum.
Quarantine · Jail · Temporary JailUse the shared roles configured on the Auto Moderation page.
Lock UserStops them talking anywhere without touching their roles.
Require VerificationSends them back through the captcha gate.
Assign Role · Remove RoleAny role Azra can manage. Optionally temporary.
Kick · Temporary Ban · Permanent BanThe top rungs.
Notify Staff · Log Only · Custom ActionRecord or alert without punishing. Custom Action posts an instruction for a human to carry out.

How the counting works

Test mode Turn test mode on for one ladder (or for every ladder at once) and Azra resolves the whole thing and logs exactly what it would have done — without punishing anyone. Combined with /case escalation <user> and the dashboard's preview box, you can see the consequences of a ladder before it has any.
Manual moderation always wins Escalation only ever adds to what your moderators do. Any punishment it applies is a normal case — visible in the case list, reversible with /case undo, and attributed to Azra rather than to whoever filed the warning that tipped it.
Moderation Logging

Every action is posted to Discord as a rich embed via a webhook styled with your Branding. Mod logging now lives on the central Logging page alongside every other module's logs.

Open Dashboard → Logging, enable logging, and pick a default channel (or a dedicated channel per event). You no longer paste webhook URLs — pick a channel and the bot creates and manages the webhook for you. Moderation events you can route individually:

EventTriggered By
Warn/mod warn command
Kick/mod kick, /massmod kick, quick kick context menu
Ban/mod ban, /mod tempban, /massmod ban, quick ban, anti-nuke bans
Unban/mod unban, expired tempban auto-unban
Timeout/mod timeout add, /massmod timeout, quick timeout
Other actionsLock, unlock, slowmode, purge, lockdown, nickname, voice actions, temp-role changes
AutomodEvery automod violation (caps, links, words, AI, mentions)
Anti-SpamAnti-spam triggers
Route each event to its own channel Send Ban to #bans, Warn to #warnings and Automod to #automod — or hit Quick Setup to have the bot build a private logging category and wire it all up in one click. See the Logging docs.
Moderation done outside Azra is logged too A ban, kick, timeout, voice mute or member prune performed straight from the Discord client — or by another bot — lands in the same channels, naming who did it and the reason they gave. Give Azra View Audit Log to get the person behind each action; see Who Did It, and Why.
Auto-Moderation

Powered by Discord's built-in AutoMod. When you enable a filter, Azra creates the matching AutoModeration rule in your server — so it keeps working even when Azra is briefly offline, applies to edited messages too, and blocks offending messages the instant they're posted.

Set-up requirement Azra needs the Manage Server permission to create and update these rules. If it's missing, the Moderation page shows a warning. Rules Azra creates are named Azra • … in Server Settings → AutoMod — leave those to Azra; your own AutoMod rules are never touched.

Word Presets

One-click Profanity, Sexual Content and Slurs filters backed by Discord's own continuously-updated, multi-language lists.

Blocked Words

Your server's custom words (and Azra's shipped default list) are pushed into Discord keyword rules — add anything specific to your community below.

Link Filter

Block messages containing links, with an Allowed Domains whitelist for the sites you want to permit.

Invite Filter

Block Discord server invites — discord.gg/…, discord.com/invite/… and common variants. Discord normalises many obfuscation attempts automatically.

Mention Spam

Block messages that ping more than your configured limit, plus optional raid protection for coordinated mention raids.

📢 Caps & AI (Azra)

The caps-percentage filter and optional OpenAI moderation run inside Azra — Discord's AutoMod has no equivalent for these two.

What runs where

Everything Discord's AutoMod can enforce is handled natively; the two checks it can't do stay inside Azra.

FilterDefaultEnforced by
Profanity / Sexual Content / Slurs presetsOffDiscord AutoMod (keyword presets)
Blocked words (custom + default list)Server default listDiscord AutoMod (keyword rules)
Block links + allowed domainsOffDiscord AutoMod (keyword rule)
Block Discord invitesOffDiscord AutoMod (keyword rule)
Max mentions (default 5) + raid protectionOffDiscord AutoMod (mention spam)
Caps threshold (70%) / min length (10)OffAzra (custom)
AI moderationOffAzra (OpenAI — requires an API key)
Logging Every block — native or custom — is recorded to your audit trail and posted to the channel you route Automod (and Anti-Spam) to on the Logging page, as a branded webhook.
Auto Moderation Engine

An enterprise-grade layer that sits on top of the native filters above. It adds every protection Discord's AutoMod can't express — anti-raid, anti-nuke, voice/thread/reaction abuse, username & profile scanning, attachment and image checks, and much more — with 180+ rules across 22 categories, each individually configurable.

Turn it on Open Dashboard → Auto Moderation, flip the master switch, and enable the rules you want. It is off by default — your existing native filters and security modules keep working exactly as before. Requires an active plan.

Every rule, individually configurable

Each rule exposes the same complete control set:

ControlWhat it does
Enable / DisableTurn any single rule on or off.
ModeEnforce (detect + punish + log), Test (detect + log, tagged TEST, but never punish — a dry run against live traffic), Simulate (count silently, no log, no punishment — to size a threshold before going live), or Log only.
PunishmentsPick any combination — they run in a safe order (content removal → member action → notification): Ignore, Log only, Delete, Block, Warn, Temp-warn, Timeout, Quarantine role, Jail, Remove dangerous roles, Require re-verification, Kick, Soft ban, Ban, Lock channel, Lock server, DM user, Notify staff, Custom webhook.
ThresholdsPer-rule counts, windows, percentages, limits and word/pattern lists.
ExceptionsExempt roles, users, channels, categories, threads, bots, webhooks, admins and moderators — or restrict a rule to only certain channels/roles. Plus account-age and membership-age gates.
CooldownDon't re-punish the same member for the same rule within N seconds.
EscalationRepeat offenders get harsher punishment tiers automatically (e.g. warn on the 1st hit, timeout on the 3rd within 30 days, ban on the 5th).
ScheduleMake a rule active only on chosen days / time windows.
Custom messageThe DM / block reason the offender sees.
StatisticsPer-rule detection & punishment counts over the last 30 days, shown on the page.

The rule catalogue

Rules are grouped into 22 categories. Filters marked Native are pushed onto Discord's own AutoMod where possible (and always run inside Azra too); the rest are enforced by Azra.

Keyword Filters Native

Bad words, profanity, slurs, hate speech, threats, scam/phishing/crypto terms, advertising, invites, URLs, domain & IP blocklists, email/phone, custom/wildcard/regex patterns, required phrases and whitelists.

Spam Detection Native

Message, duplicate, rapid, character, emoji, sticker, GIF, attachment, image, video, link, invite, mention, role-mention, @everyone/@here, thread, poll, embed and reaction spam.

Text Abuse

Excessive caps, invisible characters, Unicode/homoglyph abuse, Zalgo text, repeated characters, excessive punctuation, line-break, markdown and code-block spam.

Link Protection

Discord & external invites, scam, phishing, malware, URL shorteners, IP grabbers, trackers, adult, torrent, crypto-scam, fake-login and fake-Nitro links.

Image Moderation Optional

NSFW detection, QR & scam-QR decoding, OCR text scanning, offensive/advertisement/AI-scam imagery. Needs an OpenAI key or the optional QR/OCR packages.

Attachment Protection

Executables, scripts, dangerous / password-protected archives, oversized files and an allow-list mode for unsupported types.

Anti Raid

Join-flood, invite-join, alt / new / recently-created account, bot-raid, username-pattern, avatarless and scripted-cadence detection — with optional server lockdown.

Anti Nuke

Mass bans/kicks/timeouts, role & channel & category create/delete/update, webhook, emoji, sticker, invite, integration and bot-invite floods, and server-setting changes.

Username / Nickname

Offensive, fake-staff, fake-bot, scam, advertising, Unicode-abuse and invisible-character names — with optional auto-rename.

Profile Protection Optional

Offensive / NSFW / scam avatars and banners (needs image classification).

Voice Protection

Join/leave/switch, camera, screen-share, soundboard, mute and deaf toggle spam.

Threads · Reactions · Invites · Polls

Thread create/rename/archive spam, reaction flooding, invite-creation policy (external / permanent / temporary / vanity) and poll spam.

Webhooks · Bots · Roles · Channels

Unauthorized webhook management, dangerous/suspicious bot adds, dangerous-permission & Administrator role grants, mass role assignment, and channel rename/topic/overwrite abuse.

Emoji/Sticker & Server

Mass emoji/sticker creation and unauthorized updates; server name, icon, banner, vanity, community, verification and safety-setting changes.

Shared settings

A few settings are shared by every rule that uses them, set once at the top of the page: the Quarantine and Jail roles, the Staff role pinged by Notify staff, an optional alert webhook for the Custom webhook action, and the default DM message.

Start in Test mode Not sure a threshold is right? Set the rule to Test or Simulate mode and watch the per-rule statistics for a few days — it detects and counts against real traffic without punishing anyone. Switch to Enforce when you're happy.
Safe by design Azra never acts on the server owner or on anyone above its own highest role, admins and moderators are exempt by default, and a rule that can't run (e.g. an image rule with no OpenAI key) is simply skipped. Everything is logged to the channel you route Automod / Anti-Nuke / Anti-Spam to on the Logging page.
Anti-Spam

Uses Discord's native Spam filter, which automatically detects and blocks spammy, repeated and mass-posted content on Discord's side — no thresholds to tune.

Turn it on from Dashboard → Moderation → Anti-Spam — a single switch. When enabled, Azra adds Discord's Spam-content AutoMod rule to your server (it needs the Manage Server permission, same as Auto-Moderation). Blocked spam is recorded to your logs like any other moderation action.

Why no message-rate settings? Discord's Spam detection is maintained by Discord and adapts on its own, so there are no per-user message-limit or time-window fields to configure — flipping the switch is all it takes.
Mass Moderation

Take action on multiple users at once — ideal for raid cleanup after an attack.

/
massmod ban
Ban up to 10 members, chosen with a user picker. Optionally deletes their recent messages.
/
massmod kick
Kick specific members via the picker — or pass role to kick everyone holding that role.
/
massmod timeout
Timeout members for a shared duration, via the picker or by role.
/
massmod role
Add or remove a role from up to 10 members at once.

Every target is confirmed before anything runs, and each action is logged individually to your mod log.

Requires the massmod permission action Bulk actions are gated separately from single-target ones — granting ban does not grant /massmod ban. Ban and kick are irreversible: check the confirmation list before you approve it.