Skip to main content
This reference is generated from the bot’s command definitions, interaction inventory and reviewed public descriptions. Discord’s command picker shows the exact available arguments. Optional context menus are off by default. Server controls, current permissions, hierarchy and registration determine availability.

Help in your server

Use /help for the commands available to your current membership, channel, permissions and enabled protections. Use /help command:warn (or another listed command) for inputs, required Pup and Discord permissions, target checks and side effects. Help is private and performs no moderation action. Workspace links point to the current server and appear only when you have dashboard access.

Slash and prefix commands

Every slash command and subcommand below also works with the server’s configured prefix. With prefix ^, use ^ban, ^poll create, or ^anonymous submit. Pup opens a private command panel. Enter or review the inputs and choose Run; opening the panel does not execute the command. The same permissions, limits, confirmations, and server boundaries apply to both forms. Your original message is visible in its channel. For confidential reasons, reports, suggestions, or anonymous text, send only the command and subcommand; enter the content in the private panel. Panels belong to the member who opened them and expire after ten minutes. Start again if a panel expires or Pup restarts. You can supply inputs as --option=value, quoting values that contain spaces. For example, ^help --command=ban opens help for bans. Existing ^warn @member reason syntax also works. Missing required inputs are collected privately; invalid inputs explain what to correct. Prefix and slash forms share one command control. Other bots retain only explicitly supported bot commands and must use a configured, accessible response channel.

Identity assets

Use /avatar user or /banner user for yourself or another current member of the server. Choose the server-specific or global identity, an approved image size, and PNG, JPEG, WebP, GIF, or automatic format. Automatic format preserves animation; asking for GIF on a static asset safely returns WebP instead. A server-specific asset falls back to the current global asset, and avatars fall back to Discord’s current default when neither custom avatar exists. Use /avatar server for the current server icon and /banner server for its current banner. Results are private to the person running the command and show the Discord ID, full-size asset link, and, for users, the stable Discord profile link. Pup reads the current Discord provider state for each request. It does not store or expose previous avatars, banners, or icons; moderation event summaries remain available to authorized moderators until explicitly deleted.

All supported commands

/timeout

Temporarily prevent a member from interacting Authorized moderators; current server permissions, command restrictions and target hierarchy apply. Prefix: configured-prefix timeout. Inputs and results are collected privately. Inputs: user (required) — Member to timeout; duration (required) — Compact duration, for example 5m, 36h, or 7d; reason (required) — Reason for the timeout.

/untimeout

Remove a member’s timeout Authorized moderators; current server permissions, command restrictions and target hierarchy apply. Prefix: configured-prefix untimeout. Inputs and results are collected privately. Inputs: user (required) — Member whose timeout to remove; reason (required) — Reason for removing the timeout.

/mute

Apply the server’s configured mute role temporarily Authorized moderators; current server permissions, command restrictions and target hierarchy apply. Prefix: configured-prefix mute. Inputs and results are collected privately. Inputs: user (required) — Current member to restrict; duration (required) — Compact duration, for example 5m, 36h, or 7d; reason (required) — Reason for the restriction.

/hardmute

Apply the server’s configured mute role until explicitly reversed Authorized moderators; current server permissions, command restrictions and target hierarchy apply. Prefix: configured-prefix hardmute. Inputs and results are collected privately. Inputs: user (required) — Current member to restrict; reason (required) — Reason for the persistent restriction.

/unrestrict

Explicitly reverse a persistent mute role restriction Authorized moderators; current server permissions, command restrictions and target hierarchy apply. Prefix: configured-prefix unrestrict. Inputs and results are collected privately. Inputs: user (required) — Current restricted member; reason (required) — Reason for reversal.

/quarantine

Contain a member with the reviewed quarantine role Authorized moderators; current server permissions, command restrictions and target hierarchy apply. Prefix: configured-prefix quarantine. Inputs and results are collected privately. Inputs: user (required) — Current member to quarantine; reason (required) — Reason for containment.

/unquarantine

Restore a member from Pup’s recorded quarantine Authorized moderators; current server permissions, command restrictions and target hierarchy apply. Prefix: configured-prefix unquarantine. Inputs and results are collected privately. Inputs: user (required) — Current quarantined member; reason (required) — Reason for restoration.

/kick

Remove a member from the server Authorized moderators; current server permissions, command restrictions and target hierarchy apply. Prefix: configured-prefix kick. Inputs and results are collected privately. Inputs: user (required) — Member to kick; reason (required) — Reason for the kick.

/ban

Ban a user from the server Authorized moderators; current server permissions, command restrictions and target hierarchy apply. Prefix: configured-prefix ban. Inputs and results are collected privately. Inputs: reason (required) — Reason for the ban; delete-history (required) — Days of recent messages to delete; user (optional) — User to ban (or provide their ID below); user-id (optional) — Discord user ID, including for someone no longer in the server.

/massban

Preview or ban several selected users Authorized moderators; current server permissions, command restrictions and target hierarchy apply. Prefix: configured-prefix massban. Inputs and results are collected privately. Inputs: reason (required) — Reason recorded for each selected user; delete-history (required) — Days of recent messages to delete; member-ids (optional) — Comma-separated Discord user IDs to include; source-role (optional) — Include current members who have this role; members (optional) — Filter role targets by Discord account type; confirm (optional) — Apply the exact private preview; omit for a no-side-effect preview.

/softban

Remove a member and their recent messages, then immediately unban them Authorized moderators; current server permissions, command restrictions and target hierarchy apply. Prefix: configured-prefix softban. Inputs and results are collected privately. Inputs: user (required) — Current member to remove; reason (required) — Reason for the soft-ban; delete-history (required) — Preview: delete this many days of recent messages before immediate unban.

/tempban

Ban a member temporarily Authorized moderators; current server permissions, command restrictions and target hierarchy apply. Prefix: configured-prefix tempban. Inputs and results are collected privately. Inputs: user (required) — Member to temporarily ban; duration (required) — Compact duration, for example 36h or 7d; reason (required) — Reason for the temporary ban; delete-history (required) — Days of recent messages to delete.

/unban

Remove a user’s server ban Authorized moderators; current server permissions, command restrictions and target hierarchy apply. Prefix: configured-prefix unban. Inputs and results are collected privately. Inputs: user (required) — User to unban; reason (required) — Reason for removing the ban.

/deafen

Deafen a voice-connected member Authorized moderators; current server permissions, command restrictions and target hierarchy apply. Prefix: configured-prefix deafen. Inputs and results are collected privately. Inputs: user (required) — Member to deafen; reason (required) — Reason for the voice deafen.

/nickname set

Set or replace a member nickname Authorized moderators; current server permissions, command restrictions and target hierarchy apply. Prefix: configured-prefix nickname set. Inputs and results are collected privately. Inputs: user (required) — Member to rename; name (required) — Nickname, up to 32 characters; reason (required) — Reason for the nickname change.

/nickname reset

Reset a member nickname Authorized moderators; current server permissions, command restrictions and target hierarchy apply. Prefix: configured-prefix nickname reset. Inputs and results are collected privately. Inputs: user (required) — Member to reset; reason (required) — Reason for resetting the nickname.

/undeafen

Restore a voice-connected member Authorized moderators; current server permissions, command restrictions and target hierarchy apply. Prefix: configured-prefix undeafen. Inputs and results are collected privately. Inputs: user (required) — Member to restore; reason (required) — Reason for restoring voice.

/note

Record a private moderator note about a user Authorized moderators; current server permissions, command restrictions and target hierarchy apply. Prefix: configured-prefix note. Inputs and results are collected privately. Inputs: user (required) — User the note is about; note (required) — Private moderator note.

/purge

Delete recent eligible messages from this channel Authorized moderators; current server permissions, command restrictions and target hierarchy apply. Prefix: configured-prefix purge. Inputs and results are collected privately. Inputs: amount (required) — Maximum eligible messages to delete, from 1 to 100; confirm (optional) — Preview ID to confirm; cancel (optional) — Preview ID to cancel; author (optional) — Only this author; text (optional) — Text contained in a message; before (optional) — ISO date; messages before it; after (optional) — ISO date; messages after it; older_than_hours (optional) — Only messages at least this many hours old; attachments (optional) — Only messages with attachments; embeds (optional) — Only messages with embeds; links (optional) — Only messages with links; bots (optional) — Only bot messages; system (optional) — Only system messages; pinned (optional) — Include pinned messages; clear_reactions (optional) — Also clear reactions on these exact messages.

/slowmode

Preview and set a channel’s message rate limit Authorized moderators; current server permissions, command restrictions and target hierarchy apply. Prefix: configured-prefix slowmode. Inputs and results are collected privately. Inputs: channel (required) — Text channel to change; seconds (required) — 0 clears; Discord allows up to six hours; reason (required) — Reason for this change; restore-after (optional) — Optional restoration delay, for example 5m or 2h.

/lock

Prevent everyone from sending messages in a channel Authorized moderators; current server permissions, command restrictions and target hierarchy apply. Prefix: configured-prefix lock. Inputs and results are collected privately. Inputs: channel (required) — Text channel to lock; reason (required) — Reason for locking the channel; duration (optional) — Optional lock duration, for example 5m, 36h, or 7d.

/unlock

Restore a channel overwrite saved by pup Authorized moderators; current server permissions, command restrictions and target hierarchy apply. Prefix: configured-prefix unlock. Inputs and results are collected privately. Inputs: channel (required) — Text channel to unlock; reason (required) — Reason for unlocking the channel.

/warn

Record a warning for a member Authorized moderators; current server permissions, command restrictions and target hierarchy apply. Prefix: configured-prefix warn. Inputs and results are collected privately. Inputs: user (required) — Member to warn; reason (required) — Reason for the warning.

/warnings

List a member’s active warnings Authorized moderators; current server permissions, command restrictions and target hierarchy apply. Prefix: configured-prefix warnings. Inputs and results are collected privately. Inputs: user (required) — Member whose warnings to list.

/warning revoke

Revoke an active warning Authorized moderators; current server permissions, command restrictions and target hierarchy apply. Prefix: configured-prefix warning revoke. Inputs and results are collected privately. Inputs: warning (required) — Warning’s server case number; reason (required) — Reason for revocation.

/cases

Show the server’s recent moderation cases Authorized moderators; current server permissions, command restrictions and target hierarchy apply. Prefix: configured-prefix cases. Inputs and results are collected privately. Inputs: limit (optional) — Number of recent cases to show, from 1 to 15.

/history

Show a user’s recent moderation case history Authorized moderators; current server permissions, command restrictions and target hierarchy apply. Prefix: configured-prefix history. Inputs and results are collected privately. Inputs: user (required) — User whose history to show; limit (optional) — Number of recent cases to show, from 1 to 15.

/case

Show a moderation case Authorized moderators; current server permissions, command restrictions and target hierarchy apply. Prefix: configured-prefix case. Inputs and results are collected privately. Inputs: number (required) — Server case number.

/reason

Update a moderation case reason Authorized moderators; current server permissions, command restrictions and target hierarchy apply. Prefix: configured-prefix reason. Inputs and results are collected privately. Inputs: case (required) — Server case number; reason (required) — Replacement reason.

/avatar user

Show a current member identity asset Current server members. Prefix: configured-prefix avatar user. Inputs and results are collected privately. Inputs: member (optional) — Member; defaults to you; source (optional) — Prefer the server-specific or global asset; size (optional) — Image size; defaults to 1024; format (optional) — Image format; automatic preserves animation.

/avatar server

Show this server’s current identity asset Current server members. Prefix: configured-prefix avatar server. Inputs and results are collected privately. Inputs: size (optional) — Image size; defaults to 1024; format (optional) — Image format; automatic preserves animation.

/banner user

Show a current member identity asset Current server members. Prefix: configured-prefix banner user. Inputs and results are collected privately. Inputs: member (optional) — Member; defaults to you; source (optional) — Prefer the server-specific or global asset; size (optional) — Image size; defaults to 1024; format (optional) — Image format; automatic preserves animation.

/banner server

Show this server’s current identity asset Current server members. Prefix: configured-prefix banner server. Inputs and results are collected privately. Inputs: size (optional) — Image size; defaults to 1024; format (optional) — Image format; automatic preserves animation.

/anonymous submit

Preview an anonymous confession before publishing Members allowed by the server’s anonymous submission policy. Prefix: configured-prefix anonymous submit. Inputs and results are collected privately. Inputs: text (required) — Text to publish after you confirm (1–1,200 characters).

/anonymous mine

Privately check your submissions and withdrawal IDs Members viewing or withdrawing their own submissions. Prefix: configured-prefix anonymous mine. Inputs and results are collected privately. Inputs: page (optional) — Page of submissions.

/anonymous withdraw

Withdraw your submission or delete your published post Members viewing or withdrawing their own submissions. Prefix: configured-prefix anonymous withdraw. Inputs and results are collected privately. Inputs: id (required) — Submission ID from /anonymous mine.

/report

Privately report a member or message to this server’s moderators Current server members, when reports are enabled. Explicit consent shares the reporter identity and reason with authorized reviewers; the report and reason remain until explicitly deleted. Prefix: configured-prefix report. Inputs and results are collected privately. Inputs: member (required) — Member this report concerns; reason (required) — What happened? Only authorized reviewers can read this (1–2,000 characters); consent (required) — Share your identity and reason with moderators until deleted. Choose True to submit.; message (optional) — Optional Discord message link from this server (message content is not copied).

/suggest

Preview and submit a suggestion for staff review Members allowed by the server’s suggestion policy. Prefix: configured-prefix suggest. Inputs and results are collected privately. Inputs: text (required) — Your suggestion (mentions are not accepted); attachment (optional) — Optional image or document for reviewers.

/ticket-attachment

Attach one approved file to a private ticket preview The member who owns the unsubmitted ticket preview, when attachments are allowed. Prefix: configured-prefix ticket-attachment. Inputs and results are collected privately. Inputs: draft (required) — Private preview reference; attachment (required) — Approved file for staff.

/poll create

Create a timed poll Members with a configured poll creator role, in an allowed channel. Prefix: configured-prefix poll create. Inputs and results are collected privately. Inputs: question (required) — The poll question; options (required) — 2–10 options separated by |; author (required) — Whether the published poll names you; choices (required) — Single or multiple choice; minutes (optional) — How long voting stays open; max_selections (optional) — Maximum selections for multiple choice; eligible_role (optional) — Optional role required to vote; vote_changes (optional) — Whether members may change votes; result_timing (optional) — When results are visible; result_audience (optional) — Who may read the results.

/poll vote

Cast or change your vote Members meeting this poll’s eligibility rules while voting is open. Prefix: configured-prefix poll vote. Inputs and results are collected privately. Inputs: id (required) — Poll ID; options (required) — Option numbers, separated by commas.

/poll results

See results when visible Members when the poll’s result audience and timing allow it. Prefix: configured-prefix poll results. Inputs and results are collected privately. Inputs: id (required) — Poll ID.

/poll close

Close a poll according to its result privacy The poll creator or staff with Manage polls; lifecycle, privacy, and server policy restrictions apply. Prefix: configured-prefix poll close. Inputs and results are collected privately. Inputs: id (required) — Poll ID.

/poll cancel

Cancel your open poll The poll creator or staff with Manage polls; lifecycle, privacy, and server policy restrictions apply. Prefix: configured-prefix poll cancel. Inputs and results are collected privately. Inputs: id (required) — Poll ID.

/poll extend

Extend your open poll The poll creator or staff with Manage polls; lifecycle, privacy, and server policy restrictions apply. Prefix: configured-prefix poll extend. Inputs and results are collected privately. Inputs: id (required) — Poll ID; minutes (required) — Minutes to add.

/poll rerun

Rerun your closed or canceled poll The poll creator or staff with Manage polls; lifecycle, privacy, and server policy restrictions apply. Prefix: configured-prefix poll rerun. Inputs and results are collected privately. Inputs: id (required) — Poll ID; minutes (required) — New duration.

/poll export

Download poll results and history The poll creator or staff with Manage polls; lifecycle, privacy, and server policy restrictions apply. Prefix: configured-prefix poll export. Inputs and results are collected privately. Inputs: id (required) — Poll ID.

/help

Show commands and settings available to you here Current server members. Prefix: configured-prefix help. Inputs and results are collected privately. Inputs: command (optional) — A listed command to explain in detail.

history (member menu)

Show a user’s recent moderation case history Authorized moderators; current server permissions, command restrictions and target hierarchy apply.

history (message menu)

Show a user’s recent moderation case history Authorized moderators; current server permissions, command restrictions and target hierarchy apply.

Permissions by interaction

Native permission names in this table correspond to Discord’s permission settings. Every interaction also requires access to the relevant server and enabled module. Reading moderation records additionally requires module.moderation.view. See permissions and hierarchy.

Warn a member

/warn The command applies authorization and hierarchy checks before recording the warning and its delivery work.

List member warnings

/warnings Staff receive a bounded warning summary designed to reveal only the information needed for moderation.

Revoke a warning

/warning revoke Revocation preserves an auditable lifecycle while keeping warning totals and escalation decisions accurate.

Add a staff note

/note Notes use the same authorization, ordering, and audit foundations as moderation actions without triggering punishment.

List recent cases

/cases The command returns a bounded, newest-first summary that omits reasons and internal record identifiers.

Review member history

/history The command provides a bounded, privacy-conscious history without creating or changing moderation records.

Open a case

/case Case detail brings related state and timeline information together behind explicit staff authorization.

Update a case reason

/reason Reason changes are revision-aware and preserve the case timeline instead of rewriting history silently.

Timeout a member

/timeout The command validates duration, permissions, and hierarchy before recording and delivering the timeout.

Remove a timeout

/untimeout The removal is recorded as a durable moderation action and remains safe to recover after provider uncertainty.

Kick a member

/kick The action respects staff capability, native permission, and role hierarchy before it reaches Discord.

Ban a user

/ban The command records its intended outcome before delivery and supports bounded message-history cleanup.

Temporarily ban a member

/tempban A scheduled recovery path records and delivers the later unban without losing the original moderation context.

Soft-ban a member

/softban One durable case preserves the separate ban, history-cleanup, and unban outcomes and recovers partial provider delivery safely.

Unban a user

/unban The action is authorized, recorded, and safely recoverable when the provider has already reached the desired state.

Purge recent messages

/purge Purge freezes a private, actor-bound preview of up to 100 exact message IDs before confirmation. Filter by author, text, attachments, embeds, links, bot or system type, pinned state, age, and ISO date bounds; optional reaction clearing applies only to that frozen set. Confirmation records the case and a retryable, content-free delivery outcome.

Manage channel slowmode

/slowmode The action previews the exact replacement and restores only when no newer manual change would be overwritten.

Lock a channel

/lock The channel permission change is recorded and can be retried without creating a second moderation action.

Unlock a channel

/unlock Unlock uses the same durable, authorization-aware channel action workflow as locking.

Deafen a voice member

/deafen The command checks current voice state, protected subjects, hierarchy, and native permissions before durable delivery.

Restore a voice member

/undeafen The restoration uses the same authorization, case, delivery, and recovery guarantees as deafen.

Manage a member nickname

/nickname The requested value is previewed and recorded before delivery, with protected-subject, hierarchy, and Manage Nicknames checks.

History context menus

The optional member menu opens the existing moderation-history operation for the selected member. The optional message menu opens that operation for the message author. Both use the same history authorization and data boundary. They are interaction variants, not separate moderation products.

Delivery and recovery

After a mutating command, inspect its case and delivery state. Use the existing case’s authorized retry when a notification fails; do not issue a duplicate punishment to resend a message. See dashboard workflows.