Commands
Command directory
1060 commands across 79 categories. This list is generated directly from the bot's code, so it only shows commands that actually exist.
Achievements
Milestones members earn automatically or by staff award
/achieve listList every achievement available here
/achieve mineShow the achievements a member has earned
[user:user]
/achieve grantAward an achievement
<user:user> <key:str>
Requires ManageGuild
/achieve revokeRemove an achievement
<user:user> <key:str>
Requires ManageGuild
/achieve createCreate a custom achievement for this server
<key:str> <name:str> <description:text>
Requires ManageGuild
/achieve removeDelete a custom achievement
<key:str>
Requires ManageGuild
/achieve topShow who has earned the most
Advanced moderation
Mass actions with previews, quarantine, watchlists and cleanup of bad nicknames
/advmod massbanBan many people by ID or filter, with a preview first. Large runs show progress
[users:str] [confirm:bool] [joined:dur] [created:dur] [name:str] [has_role:role] [no_roles:bool] [no_avatar:bool] [bots:bool] [duration:dur] [days:int] [dm:send|skip] [reason:text]
Requires BanMembers, ManageGuild
/advmod masskickKick many people by ID or filter, with a preview first
[users:str] [confirm:bool] [joined:dur] [created:dur] [name:str] [has_role:role] [no_roles:bool] [no_avatar:bool] [bots:bool] [dm:send|skip] [reason:text]
Requires KickMembers, ManageGuild
/advmod masstimeoutTime out many people by ID or filter, with a preview first
<duration:dur> [users:str] [confirm:bool] [joined:dur] [created:dur] [name:str] [has_role:role] [no_roles:bool] [no_avatar:bool] [bots:bool] [dm:send|skip] [reason:text]
Requires ModerateMembers, ManageGuild
/advmod massroleGive a role to many people, or take it away, by ID or filter
<action:add|remove> <role:role> [users:str] [confirm:bool] [joined:dur] [created:dur] [name:str] [has_role:role] [no_roles:bool] [no_avatar:bool] [bots:bool] [reason:text]
Requires ManageRoles, ManageGuild
/advmod mass-statusShow recent mass actions, or the progress of one
[id:int]
Requires ModerateMembers
/advmod mass-cancelStop a mass action that is still running
<id:int>
Requires ModerateMembers
/advmod quarantineStrip a member's roles and give only a holding role, optionally for a set time
<member:member> [role:role] [duration:dur] [dm:send|skip] [reason:text]
Requires ModerateMembers, ManageRoles
/advmod releaseEnd a quarantine and give the member their old roles back
<member:member>
Requires ModerateMembers, ManageRoles
/advmod quarantinedList quarantined members
[page:int]
Requires ModerateMembers
/advmod watchAdd a user to the watchlist. Staff are told when they join or talk
<user:user> [expires:dur] [reason:text]
Requires ModerateMembers
/advmod unwatchRemove a user from the watchlist
<user:user>
Requires ModerateMembers
/advmod watchlistShow the watchlist
[page:int]
Requires ModerateMembers
/advmod decancerReplace a member's unreadable nickname with plain text
<member:member>
Requires ManageNicknames
/advmod dehoistFix nicknames that use symbols to jump to the top of the member list
[limit:int]
Requires ManageNicknames
/advmod name-policyClean names automatically when people join or change them
[dehoist:bool] [decancer:bool]
Requires ManageGuild
/advmod purge-linksDelete recent messages containing links
[amount:int] [channel:channel]
Requires ManageMessages
/advmod purge-filesDelete recent messages with attachments
[amount:int] [channel:channel]
Requires ManageMessages
/advmod purge-invitesDelete recent messages containing Discord invites
[amount:int] [channel:channel]
Requires ManageMessages
/advmod purge-afterDelete messages sent after a given message
<message_id:id> [amount:int] [channel:channel]
Requires ManageMessages
/advmod voice-kickDisconnect a member from voice
<member:member> [reason:text]
Requires MoveMembers
/advmod voice-muteServer-mute a member in voice, optionally for a set time
<member:member> [muted:bool] [duration:dur] [reason:text]
Requires MuteMembers
/advmod voice-moveMove a member to another voice channel
<member:member> <channel:channel>
Requires MoveMembers
Away status
Tell people you are away, and see who mentioned you while you were gone
/afk setMark yourself as away. Mentions are saved for when you are back
[nickname:bool] [reason:text]
/afk offTurn your away status off
/afk pingsSee who has mentioned you while you are away
/afk listSee who is away
/afk checkCheck whether someone is away
<user:user>
/afk clearRemove someone's away status, for staff
<user:user>
Requires ManageMessages
Assisted review
Contextual message review and its queue. Runs only when rules flag something
/ai statusShow whether assisted review is available, and what it costs so far
/ai toggleTurn assisted features on or off in this server
<enabled:bool>
Requires ManageGuild
/ai moderationQueue messages flagged by rules for a contextual review. Flagged text goes to the provider
<enabled:bool> [action:alert|delete]
Requires Administrator
/ai image-textRead text in uploaded images and check it. Images are processed on this machine
<enabled:bool>
Requires Administrator
/ai thresholdSet the confidence a flag needs before it reaches the queue
<percent:int>
Requires ManageGuild
/ai limitSet how many provider requests this server may make per day
<requests:int>
Requires Administrator
/ai featureTurn one assisted feature on or off
<feature:tickets|incidents|handover|support|analysis|messagecheck> <enabled:bool>
Requires ManageGuild
/ai security-analysisRead a period's security activity: rule findings, plus a suggested reading when there is something to read
[within:dur]
Requires ManageGuild
/ai check-messageCheck one message: rules first, then a review if rules flag it or you ask
<message_id:id> [channel:channel] [force:bool]
Requires ModerateMembers
/ai usageShow provider requests and tokens used by this server
[days:int]
Requires ManageGuild
/ai reviewAsk for a second opinion on some text. The decision stays with you
<text:text>
Requires ModerateMembers
/ai queueList messages waiting for a human decision
[page:int]
Requires ModerateMembers
/ai inspectRead one queued message and why it was flagged
<id:int>
Requires ModerateMembers
/ai upholdAgree with a flag and record a warning against the author
<id:int> [reason:text]
Requires ModerateMembers
/ai dismissClose a flag with no action
<id:int>
Requires ModerateMembers
/ai false-positiveReport a flag as wrong, so it counts against the accuracy figure
<id:int>
Requires ModerateMembers
/ai accuracyShow how often flags were upheld by staff
Requires ModerateMembers
API keys
Create keys for the developer API. A key is shown only once
/apikey createCreate an API key for this server
<name:str> [scope:read|write]
Requires Administrator
/apikey listList this server's API keys
[page:int]
Requires Administrator
/apikey revokeRevoke an API key immediately
<id:str>
Requires Administrator
Appeals
Ask staff to review a moderation action, and let staff decide on appeals
/appeal submitSend an appeal to a server's staff. Works from DMs, so banned users can use it
<server_id:id> [case_no:int] <message:text>
/appeal statusCheck the status of your appeals in a server
<server_id:id>
/appeal viewRead an appeal with the case and the person's record, with buttons to decide
<id:int>
Requires ModerateMembers
/appeal decideApprove or deny an appeal. Approving reverses the case and tells them
<id:int> <outcome:approve|deny> [reverse:bool] [note:text]
Requires ModerateMembers
/appeal configChoose where appeals go, the wait after a denial and what approving does
[channel:channel] [enabled:bool] [cooldown_days:int] [require_case:bool] [notify:bool] [reverse:bool]
Requires ManageGuild
/appeal blockStop someone sending appeals, for people who abuse them
<user:user> [remove:bool]
Requires ModerateMembers
Applications
Let people apply for staff or other roles, and review what comes in
/apply channelChoose where new applications are announced
<channel:channel> [reviewer_role:role]
Requires ManageGuild
/apply formCreate a form. Separate questions with |. Start with ? if optional
<name:str> <questions:text>
Requires ManageGuild
/apply editSet a form's review channel, roles, rules and messages
<name:str> [title:str] [channel:channel] [reviewer_role:role] [reward_role:role] [remove_role:role] [required_role:role] [ping_role:role] [clear_rewards:bool] [cooldown:dur] [member_days:int] [account_days:int] [max_entries:int] [closes:str] [interview_panel:str] [accept_message:str] [deny_message:str]
Requires ManageGuild
/apply questionAdd or remove one question on a form
<name:str> <action:add|remove|clear> [label:str] [short:bool] [optional:bool] [position:int]
Requires ManageGuild
/apply formsList application forms and their questions
/apply close-formStop accepting a form
<name:str>
Requires ManageGuild
/apply open-formStart accepting a form again
<name:str>
Requires ManageGuild
/apply delete-formDelete a form. Submitted applications are kept
<name:str>
Requires ManageGuild
/apply panelPost buttons or a menu for applying
<form:str> [channel:channel] [also:str] [title:str] [style:buttons|select]
Requires ManageGuild
/apply startFill in an application form
<form:str>
/apply submitApply as text. Separate your answers with |, in question order
<form:str> <answers:text>
/apply listList applications
[status:pending|hold|approved|denied|withdrawn] [page:int] [form:str] [user:user]
/apply viewRead one application
<id:int>
/apply approveApprove an application, giving its reward roles
<id:int> [role:role] [note:text]
/apply denyDeny an application
<id:int> [note:text]
/apply holdPut an application on hold, or back in the queue
<id:int>
/apply interviewOpen a private ticket with an applicant
<id:int>
/apply withdrawTake back an application you submitted
<id:int>
/apply statsShow application numbers and review times per form
[days:int]
/apply mineCheck your applications
Approvals
Have staff propose sensitive actions for someone else to approve
/approval createPropose a command for someone else to approve
<command:str> [args:text]
/approval approveApprove a proposal. It runs once enough people agree
<id:int> [note:text]
/approval rejectReject a proposal
<id:int> [note:text]
/approval cancelWithdraw your own proposal
<id:int>
/approval pendingList proposals waiting for a decision
[page:int]
/approval historyList past proposals and who decided them
[page:int]
Requires ManageGuild
/approval ruleRequire approval for a command or a whole category, such as mod.ban or config.*
<pattern:str> <required:int> [approver_role:role]
Requires Administrator
/approval unruleStop requiring approval for a command or category
<pattern:str>
Requires Administrator
/approval rulesList approval rules
Requires ManageGuild
/approval settingsChoose where proposals go, when to remind and when to escalate
[channel:channel] [remind_hours:int] [escalate_hours:int] [escalate_role:role]
Requires Administrator
Archives
Search history your server chose to keep, and save channel snapshots
/archive retentionTurn message archiving on or off and set how long it is kept
<enabled:bool> [days:int] [store_text:bool]
Requires Administrator
/archive searchSearch kept messages, deleted and edited records, and attachments
[query:str] [author:user] [channel:channel] [within:dur] [before:dur] [kind:all|deleted|edited|attachments|links] [page:int]
Requires ManageMessages
/archive userShow kept messages from one person
<user:user> [kind:all|deleted|edited|attachments|links] [page:int]
Requires ManageMessages
/archive channelShow kept messages from one channel
<channel:channel> [kind:all|deleted|edited|attachments|links] [page:int]
Requires ManageMessages
/archive contextRead the messages kept around one message, with its edit history
<message_id:id> [around:int]
Requires ManageMessages
/archive statsShow how much is kept, from whom and where
Requires ManageMessages
/archive ignoreStop keeping messages from a channel, or start again. Can erase what is kept
<channel:channel> <ignored:bool> [erase:bool]
Requires Administrator
/archive recordsSearch moderation cases and security incidents
<query:str> [page:int]
Requires ManageMessages
/archive exportDownload kept messages as JSON, CSV or text. Access is logged
[query:str] [author:user] [channel:channel] [within:dur] [kind:all|deleted|edited|attachments|links] [format:json|csv|txt]
Requires ManageGuild
/archive eraseErase kept messages from one person, for example after a data request
<user:user> <confirm:bool>
Requires Administrator
/archive snapshot channelSave a channel's most recent messages now
[channel:channel] [limit:int] [name:text]
Requires ManageMessages
/archive snapshot pinsSave a channel's pinned messages
[channel:channel]
Requires ManageMessages
/archive snapshot listList snapshots
[page:int]
Requires ManageMessages
/archive snapshot viewRead part of a snapshot
<id:int> [page:int]
Requires ManageMessages
/archive snapshot searchSearch inside a snapshot
<id:int> <query:text>
Requires ManageMessages
/archive snapshot exportDownload a snapshot as a JSON file
<id:int>
Requires ManageMessages
/archive snapshot deleteForget a snapshot
<id:int>
Requires ManageGuild
Automations
Automations and an auto-mod rule engine: when something happens, do something
/auto createCreate an automation, for example: on message containing "hello", send a reply
<name:str> <trigger:message|join|leave|reaction|message-edit|message-delete|voice-join|voice-leave|role-add|role-remove|boost|case|schedule> <action:send|dm|add-role|remove-role|delete|react|reply|pin|nick|log|timeout|kick|ban|warn|wait> [role:role] [channel:channel] [emoji:str] [duration:dur] [delay:dur] [contains:str] [regex:str] [in_channel:channel] [on_emoji:str] [has_role:role] [lacks_role:role] [cooldown:dur] [chance:int] [every:dur] [text:text]
Requires ManageGuild
/auto add-actionAdd another action to an automation. Use delay or the wait action for pauses
<name:str> <action:send|dm|add-role|remove-role|delete|react|reply|pin|nick|log|timeout|kick|ban|warn|wait> [role:role] [channel:channel] [emoji:str] [duration:dur] [delay:dur] [text:text]
Requires ManageGuild
/auto remove-actionRemove a step from an automation, by its number in the info command
<name:str> <position:int>
Requires ManageGuild
/auto conditionsChange when an automation runs: text, roles, channels, account age and more
<name:str> [contains:str] [not_contains:str] [starts_with:str] [regex:str] [in_channel:channel] [not_in_channel:channel] [on_emoji:str] [has_role:role] [lacks_role:role] [changed_role:role] [min_account_age:dur] [max_account_age:dur] [min_member_age:dur] [has_attachment:bool] [has_link:bool] [case_action:str] [chance:int] [cooldown:dur] [match:all|any] [clear:bool]
Requires ManageGuild
/auto listList automations
[page:int]
Requires ManageGuild
/auto infoShow what an automation does
<name:str>
Requires ManageGuild
/auto enableTurn an automation on
<name:str>
Requires ManageGuild
/auto disableTurn an automation off
<name:str>
Requires ManageGuild
/auto deleteDelete an automation
<name:str>
Requires ManageGuild
/auto testSee whether a message would trigger an automation, and which conditions pass, without running it
<name:str> <text:text>
Requires ManageGuild
/auto runRun an automation now, for real, with you as the member
<name:str> <confirm:bool>
Requires ManageGuild
/auto runsShow an automation's run history, with each step's result
[name:str] [failed:bool] [page:int]
Requires ManageGuild
/auto optionsList available triggers and actions
/auto rule addAdd an auto-mod rule. Actions look like: delete, timeout 10m, warn 2, alert
<name:str> <kind:words|wildcard|regex|caps|emoji|zalgo|duplicate|attachments|links|invites|mentions|lines|spoilers> [actions:str] [threshold:int] [min_length:int] [window:dur] [allow:str] [block:str] [test:bool] [patterns:text]
Requires ManageGuild
/auto rule editChange a rule. add and remove edit its word list without replacing it
<name:str> [new_name:str] [actions:str] [threshold:int] [min_length:int] [window:dur] [allow:str] [block:str] [test:bool] [add:str] [remove:str] [patterns:text]
Requires ManageGuild
/auto rule listList auto-mod rules
[page:int]
Requires ManageGuild
/auto rule infoShow everything about a rule
<name:str>
Requires ManageGuild
/auto rule toggleTurn a rule on or off
<name:str> <enabled:bool>
Requires ManageGuild
/auto rule deleteDelete a rule and its hit history
<name:str> <confirm:bool>
Requires ManageGuild
/auto rule testCheck text against your rules without doing anything
[name:str] <text:text>
Requires ManageGuild
/auto rule scopeExempt channels or roles from a rule, or limit it to only them
<name:str> <mode:exempt|only> [channel:channel] [role:role] [remove:bool]
Requires ManageGuild
/auto rule ladderPunish repeat offenders harder: after this many hits in this time, do this
<name:str> [hits:int] [window:dur] [actions:str] [clear:bool]
Requires ManageGuild
/auto rule hitsShow what auto-mod caught, by rule or user
[name:str] [user:user] [test:bool] [page:int]
Requires ModerateMembers
/auto rule configSet server-wide auto-mod options: test mode, exemptions and the log channel
[enabled:bool] [test_mode:bool] [log_channel:channel] [exempt_staff:bool] [scan_edits:bool] [notice_seconds:int] [exempt_channel:channel] [exempt_role:role] [remove:bool]
Requires ManageGuild
/auto rule starterAdd a sensible set of rules in test mode, so you can see what they catch first
Requires ManageGuild
/auto rule nativeCopy a word rule into Discord's own AutoMod, which blocks messages before they appear
<name:str>
Requires ManageGuild
Backups
Back up this server's Clover data and structure, and restore it
/backup createBack up settings, records and server structure now
[note:text]
Requires ManageGuild
/backup listList backups
[page:int]
Requires ManageGuild
/backup infoShow details of one backup and its contents
<id:str>
Requires ManageGuild
/backup verifyCheck a backup's checksum and contents
<id:str>
Requires ManageGuild
/backup restoreReplace this server's Clover data with a backup. A safety backup is taken first
<id:str> <confirm:bool>
Requires Administrator
/backup deletePermanently delete a backup
<id:str> <confirm:bool>
Requires ManageGuild
/backup scheduleBack up automatically on a schedule
<every_hours:int> [retain:int]
Requires ManageGuild
/backup unscheduleStop scheduled backups
Requires ManageGuild
/backup schedule-infoShow the backup schedule
Requires ManageGuild
Birthdays
Remember birthdays, announce them and give a role for the day. Years are never stored
/birthday setSave your birthday. Only the month and day
<month:int> <day:int>
/birthday set-forSave a birthday for someone else
<user:user> <month:int> <day:int>
Requires ManageGuild
/birthday clearDelete your birthday
/birthday checkSee someone's birthday
[user:user]
/birthday upcomingList upcoming birthdays
[page:int]
/birthday todaySee whose birthday it is today
/birthday monthList birthdays in a month
<month:int>
/birthday channelChoose where birthdays are announced
<channel:channel>
Requires ManageGuild
/birthday roleGive a role on someone's birthday and take it back the next day
[role:role] [clear:bool]
Requires ManageRoles
/birthday messageSet the announcement. Use {users} for the people and {count}
[text:text]
Requires ManageGuild
/birthday countShow how many birthdays are saved
Bot registry
Register your own bots, keep tokens encrypted and track deployments. Clover never runs your code
/bots registerRegister a bot. You get a heartbeat key, shown once
<name:str> [app_id:id] [description:text]
/bots listList your bots
/bots infoShow a bot's details
<id:str>
/bots configureChange a bot's name or description
<id:str> [name:str] [description:text]
/bots set-tokenStore a bot token, encrypted. Slash command only
<id:str> <token:str>
/bots verify-tokenAsk Discord whether the stored token works
<id:str>
/bots new-heartbeat-keyReplace a bot's heartbeat key
<id:str>
/bots statusRecord a deployment step: configured, deploying, online, stopped or failed
<id:str> <status:registered|configured|deploying|online|offline|stopped|failed> [note:text]
/bots deploymentsShow deployment history
<id:str>
/bots logsShow a bot's recent logs
<id:str>
/bots backupBack up a bot's config, logs and file list. The token is never included
<id:str>
/bots storageShow a bot's storage allocation and usage
<id:str>
/bots deleteDelete a registered bot and destroy its stored token
<id:str> <confirm:bool>
Custom commands
Make your own text commands for this server
/cc addCreate a custom command. Text can use {user} {username} {server} {channel} {members}
<name:str> <response:text>
Requires ManageGuild
/cc editChange a custom command's response
<name:str> <response:text>
Requires ManageGuild
/cc removeDelete a custom command
<name:str>
Requires ManageGuild
/cc listList custom commands
[page:int]
/cc infoShow a custom command's details
<name:str>
/cc runRun a custom command
<name:str>
/cc topShow the most-used custom commands
Channel management
Create, organise and control access to channels
/channel infoShow details about a channel
[channel:channel]
/channel listList every channel
[page:int]
/channel createCreate a channel
<name:str> [kind:text|voice|announcement|forum|stage] [category:channel] [topic:text]
Requires ManageChannels
/channel categoryCreate a channel category
<name:text>
Requires ManageChannels
/channel deleteDelete a channel. Needs confirmation
<channel:channel> <confirm:bool>
Requires ManageChannels
/channel renameRename a channel
<name:str> [channel:channel]
Requires ManageChannels
/channel topicSet a channel's topic
<channel:channel> <topic:text>
Requires ManageChannels
/channel nsfwMark a channel as age-restricted or not
<enabled:bool> [channel:channel]
Requires ManageChannels
/channel cloneCopy a channel's settings to a new channel. Messages are not copied
[channel:channel]
Requires ManageChannels
/channel moveMove a channel into a category
<channel:channel> <category:channel>
Requires ManageChannels
/channel permsShow permission overrides on a channel
[channel:channel]
Requires ManageChannels
/channel allowAllow a role to do something in a channel
<role:role> <permission:str> [channel:channel]
Requires ManageChannels
/channel denyStop a role from doing something in a channel
<role:role> <permission:str> [channel:channel]
Requires ManageChannels
/channel clear-permRemove a role's overrides from a channel
<role:role> [channel:channel]
Requires ManageChannels
/channel syncMake a channel match its category's permissions
[channel:channel]
Requires ManageChannels
/channel pinsList pinned messages
[channel:channel]
/channel pinPin a message
<message_id:id> [channel:channel]
Requires ManageMessages
/channel unpinUnpin a message
<message_id:id> [channel:channel]
Requires ManageMessages
/channel sayPost a message as the bot. Mentions are disabled
[channel:channel] <text:text>
Requires ManageMessages
Chess
Full rules chess against another member, using standard move notation
/chess newStart a game. You play white
<opponent:member>
/chess moveMake a move, such as e4 or Nf3
<move:str>
/chess boardShow your current game
/chess legalList the legal moves in your game
/chess fenShow the position in FEN notation
/chess pgnShow the game in PGN notation
/chess resignResign your game
/chess historyList recent games
[page:int]
Colours
Convert colours and check contrast
/color infoShow a colour in hex, RGB and HSL
<hex:str>
/color rgbTurn RGB values into hex
<r:int> <g:int> <b:int>
/color lightenMake a colour lighter
<hex:str> <percent:int>
/color darkenMake a colour darker
<hex:str> <percent:int>
/color mixMix two colours evenly
<first:str> <second:str>
/color complementFind the opposite colour
<hex:str>
/color contrastCheck text and background contrast against accessibility guidelines
<text_color:str> <background:str>
/color randomPick a random colour
Configuration
Read and change this server's settings directly
/config getShow one setting, or a whole section
<path:str>
Requires ManageGuild
/config setChange a setting. The value is checked before saving
<path:str> <value:text>
Requires ManageGuild
/config resetPut one setting back to its default
<path:str>
Requires ManageGuild
/config keysList every setting name
[search:str] [page:int]
Requires ManageGuild
/config exportDownload this server's settings as a file
Requires ManageGuild
/config importApply settings from JSON text. Every value is checked first
<json:text>
Requires Administrator
/config prefixChange this server's text command prefix
<prefix:str>
Requires ManageGuild
/config diffShow which settings differ from the defaults
Requires ManageGuild
/config wipeReset every setting to its default. Needs confirmation
<confirm:bool>
Requires Administrator
Unit conversion
Convert between units
/convert lengthConvert length: mm cm m km in ft yd mi nmi
<value:num> <from:str> <to:str>
/convert massConvert mass: mg g kg t oz lb st
<value:num> <from:str> <to:str>
/convert volumeConvert volume: ml l m3 tsp tbsp cup pt qt gal
<value:num> <from:str> <to:str>
/convert areaConvert area: mm2 cm2 m2 km2 ft2 yd2 acre ha mi2
<value:num> <from:str> <to:str>
/convert speedConvert speed: m/s km/h mph knot ft/s
<value:num> <from:str> <to:str>
/convert timeConvert time: ms s min h d wk yr
<value:num> <from:str> <to:str>
/convert dataConvert data sizes: b kb mb gb tb kib mib gib tib
<value:num> <from:str> <to:str>
/convert pressureConvert pressure: pa kpa bar psi atm mmhg
<value:num> <from:str> <to:str>
/convert energyConvert energy: j kj cal kcal wh kwh btu
<value:num> <from:str> <to:str>
/convert temperatureConvert temperature: c f k
<value:num> <from:c|f|k> <to:c|f|k>
/convert unitsList every unit by category
Counting game
A channel where members count up together, with saves, maths and records
/counting setupChoose the counting channel
<channel:channel>
Requires ManageGuild
/counting rulesChoose whether people may count twice in a row, and whether sums like 6*7 count
[twice_in_a_row:bool] [maths:bool]
Requires ManageGuild
/counting savesGive the server saves. A mistake uses one instead of resetting the count
<amount:int>
Requires ManageGuild
/counting offTurn the counting channel off
Requires ManageGuild
/counting statusShow the current count, the record and the rules
/counting userShow how someone has counted
[user:user]
/counting topShow who has counted the most
/counting setSet the count to a number, for example after moving channels
<number:int>
Requires ManageGuild
/counting resetSet the count back to zero
Requires ManageGuild
Developer tools
Everyday helpers for developers
/dev jsonCheck and pretty-print JSON
<json:text>
/dev json-minifyRemove whitespace from JSON
<json:text>
/dev jwtDecode a JWT's header and claims. It is not verified. Never paste real tokens in public
<token:text>
/dev regexTest a regular expression. Patterns run under a time limit
<pattern:str> [flags:str] <text:text>
/dev uuidGenerate a random UUID
/dev snowflakeRead the creation time from a Discord ID
<id:id>
/dev http-statusExplain an HTTP status code
<code:int>
/dev portLook up a well-known port
<port:int>
/dev mimeLook up a file extension's MIME type
<extension:str>
/dev urlBreak a URL into its parts
<url:url>
/dev ipClassify an IP address. Makes no network requests
<ip:str>
/dev cidrShow the range of an IPv4 CIDR block
<cidr:str>
/dev semverCompare two semantic versions
<first:str> <second:str>
/dev diffCompare two lists of lines, separated by ||
<text:text>
/dev cronExplain a five-part cron expression
<expression:text>
Economy
A server currency with earning, banking, robbing and limits. Not real money
/eco balanceShow a wallet and bank balance
[user:user]
/eco dailyCollect your daily credits. Streaks pay more
/eco weeklyCollect your weekly credits
/eco monthlyCollect your monthly credits
/eco workEarn credits. Available once an hour
/eco crimeTake a risk for more credits. Get caught and you pay a fine
/eco robTry to take credits from someone's wallet. Fail and you pay them
<user:member>
/eco passiveTurn passive mode on or off. Passive members cannot rob or be robbed
<enabled:bool>
/eco paySend credits to another member
<user:user> <amount:str>
/eco depositMove credits from your wallet to the bank
<amount:str>
/eco withdrawMove credits from the bank to your wallet
<amount:str>
/eco topShow the richest members
[by:total|wallet|bank] [page:int]
/eco historyShow your recent transactions
[page:int]
/eco auditShow any member's transactions, for staff
<user:user> [kind:str] [page:int]
Requires ManageGuild
/eco statsShow how much money is in this server's economy
/eco giveCreate credits and give them to a member
<user:user> <amount:int> [note:text]
Requires ManageGuild
/eco give-roleGive credits to everyone with a role
<role:role> <amount:int>
Requires ManageGuild
/eco takeRemove credits from a member
<user:user> <amount:int> [note:text]
Requires ManageGuild
/eco resetReset one member's balance to zero. Needs confirmation
<user:user> <confirm:bool>
Requires ManageGuild
/eco interestClaim daily interest on your bank balance
/eco flipBet credits on a coin flip
<side:heads|tails> <amount:str>
/eco cooldownsSee when you can next collect, work, commit a crime or rob
Custom embeds
Post and edit formatted messages
/embed postPost an embed. It cannot ping anyone
[channel:channel] [title:str] [color:str] [footer:str] [image:url] <text:text>
Requires ManageMessages
/embed editChange an embed this bot posted
<message_id:id> [channel:channel] [title:str] [color:str] [footer:str] [image:url] <text:text>
Requires ManageMessages
/embed previewSee how an embed looks, visible only to you
[title:str] [color:str] [footer:str] [image:url] <text:text>
Requires ManageMessages
Encoding
Encode and decode text in common formats
/encode base64Encode text as Base64
<text:text>
/encode unbase64Decode Base64
<text:text>
/encode hexEncode text as hexadecimal
<text:text>
/encode unhexDecode hexadecimal
<text:text>
/encode urlPercent-encode text for a URL
<text:text>
/encode unurlDecode percent-encoded text
<text:text>
/encode binaryWrite text as binary
<text:text>
/encode unbinaryRead binary as text
<text:text>
/encode morseWrite text in Morse code
<text:text>
/encode unmorseRead Morse code
<text:text>
/encode rot13Apply ROT13
<text:text>
/encode caesarApply a Caesar shift
<shift:int> <text:text>
/encode htmlEscape text for HTML
<text:text>
/encode unhtmlUnescape HTML entities
<text:text>
Events
Plan events with sign-up buttons, capacity and waitlists, reminders and calendar files
/event createCreate an event with sign-up buttons. Times like 2d or friday 8pm work
<title:str> <starts:str> [channel:channel] [capacity:int] [remind_before:dur] [length:dur] [description:text]
Requires ManageEvents
/event viewShow an event
<id:int>
/event listList upcoming events
[page:int]
/event rsvpSay whether you are going
<id:int> <answer:yes|maybe|no>
/event waitlistSee who is waiting for a place
<id:int>
/event attendeesSee who is going
<id:int>
/event editChange an event's title, description or capacity
<id:int> [title:str] [capacity:int] [description:text]
/event rescheduleMove an event to a new time. People going are told
<id:int> <starts:str>
/event calendarDownload an event as a calendar file for Google, Apple or Outlook
<id:int>
/event cancelCancel an event
<id:int>
/event mineList events you are going to
/event remind-beforeChoose how long before an event its reminder goes out
<id:int> <before:dur>
Anonymous feedback
Let members tell staff things without giving their name, and follow what happens
/feedback sendSend anonymous feedback to staff
[type:general|idea|bug|complaint|praise] [rating:int] [named:bool] <text:text>
/feedback mineSee the status of feedback you sent, and any replies
/feedback channelChoose where feedback is posted
<channel:channel> [daily_limit:int]
Requires ManageGuild
/feedback panelPost buttons members can use to send feedback
[channel:channel] [title:str]
Requires ManageGuild
/feedback listRead feedback
[status:new|reviewing|planned|resolved|declined|all] [page:int] [type:general|idea|bug|complaint|praise]
Requires ManageGuild
/feedback statusSet a status and optionally reply to the sender
<id:int> <status:new|reviewing|planned|resolved|declined> [reply:text]
Requires ManageGuild
/feedback resolveMark feedback as handled
<id:int>
Requires ManageGuild
/feedback statsShow feedback volume, types, ratings and response time
[days:int]
Requires ManageGuild
/feedback deleteDelete a piece of feedback
<id:int>
Requires ManageGuild
/feedback block-senderStop whoever sent this from sending more, without revealing who it is
<id:int> <confirm:bool>
Requires ManageGuild
/feedback unblock-allLift all feedback blocks
Requires ManageGuild
Games
Casino games, board games against friends, word games and stats
/games rpsPlay rock, paper, scissors
<choice:rock|paper|scissors>
/games 8ballAsk the magic 8-ball
<question:text>
/games casino slotsSpin the slots with a bet
<bet:str>
/games blackjack startStart a game of blackjack with a bet
<bet:str>
/games blackjack hitTake another card
/games blackjack standKeep your hand and let the dealer play
/games words hangmanStart a game of hangman
/games words hangman-guessGuess a letter
<letter:str>
/games number startI think of a number. You guess it
[max:int]
/games number tryGuess the number
<number:int>
/games words scrambleUnscramble a word
/games words scramble-answerAnswer your scramble
<word:str>
/games tictactoe startChallenge someone to tic-tac-toe
<opponent:member>
/games tictactoe movePlace your mark on squares 1 to 9
<square:int>
/games tictactoe quitGive up your tic-tac-toe game
/games connect4 startChallenge someone to connect four, played with buttons
<opponent:member>
/games connect4 moveDrop a piece in a column, if you prefer typing to buttons
<column:int>
/games connect4 quitGive up your game of connect four
/games words wordleStart a five-letter word guessing game. Six tries
/games words wordle-guessGuess the five-letter word
<word:str>
/games casino rouletteBet on the roulette wheel: red, black, odd, even, low, high, green or a number
<bet:str> <space:str>
/games casino diceRoll 1 to 100 and bet over or under a target. Riskier targets pay more
<bet:str> <side:over|under> <target:int>
/games duelChallenge someone to a coin-flip duel for credits. They accept with a button
<opponent:member> <bet:str>
/games minesweeperGet a minesweeper board made of spoiler tags
[size:int] [mines:int]
/games statsShow a member's wins and losses in every game
[user:user]
/games leaderboardShow the best players of one game
<game:blackjack|slots|flip|roulette|dice|duel|connect4|ttt|wordle|hangman|trivia|crime|rob> [page:int]
Giveaways
Fair prize draws with requirements, bonus entries and one-click entry
/giveaway startStart a giveaway. Requirements and bonus entries can be added after
<duration:dur> [winners:int] [channel:channel] [role:role] [level:int] <prize:text>
Requires ManageGuild
/giveaway dropPost a prize that the first person to press Claim wins
[channel:channel] [role:role] <prize:text>
Requires ManageGuild
/giveaway enterEnter or leave a giveaway
<id:int>
/giveaway requireAdd entry requirements to a giveaway, or clear them
<id:int> [role:role] [blocked_role:role] [level:int] [account_days:int] [member_days:int] [clear:bool]
Requires ManageGuild
/giveaway bonusGive holders of a role extra entries. Use 0 to remove
<id:int> <role:role> <entries:int>
Requires ManageGuild
/giveaway editChange a running giveaway's prize or number of winners
<id:int> [winners:int] [prize:text]
Requires ManageGuild
/giveaway extendGive a running giveaway more time
<id:int> <by:dur>
Requires ManageGuild
/giveaway pausePause a giveaway. The clock stops and entries close
<id:int>
Requires ManageGuild
/giveaway resumeResume a paused giveaway with the time it had left
<id:int>
Requires ManageGuild
/giveaway endEnd a giveaway now and draw winners
<id:int>
Requires ManageGuild
/giveaway rerollDraw new winners from the entries who have not won
<id:int> [count:int]
Requires ManageGuild
/giveaway entrantsList who has entered and how many entries each has
<id:int> [page:int]
Requires ManageGuild
/giveaway listList giveaways
[status:running|ended|all] [page:int]
/giveaway infoShow one giveaway with its requirements
<id:int>
/giveaway mineList the running giveaways you have entered
/giveaway statsShow giveaway totals for this server
/giveaway cancelCancel a giveaway or drop without drawing
<id:int> <confirm:bool>
Requires ManageGuild
Shared bans
An opt-in network for sharing ban reports. Each server decides what to do with them
/globalban joinJoin the network, or change how this server treats reports
<policy:alert|review|enforce> [min_credibility:int]
Requires Administrator
/globalban leaveLeave the network. Your existing reports stay until withdrawn
Requires Administrator
/globalban reportShare a ban report with other servers
<user:user> <category:raid|scam|harassment|nuke|other> <reason:str> [evidence:url] [evidence_file:att]
Requires BanMembers
/globalban lookupSee reports about a user, with how much weight each one deserves
<user:user>
Requires BanMembers
/globalban evidenceOpen a report's stored evidence, or add a file to your own report
<report:int> [file:att]
Requires BanMembers
/globalban enforceBan a reported member here, as an ordinary case you can reverse
<report:int> [note:str]
Requires BanMembers
/globalban reviewConfirm or dispute another server's report
<report:int> <verdict:confirm|dispute> [note:str]
Requires BanMembers
/globalban withdrawWithdraw a report this server made. Bans it caused elsewhere are lifted
<report:int> [note:str]
Requires BanMembers
/globalban appealAppeal a report about you
<report:int> <message:text>
/globalban appealsList appeals against this server's reports
[page:int]
Requires BanMembers
/globalban decideDecide an appeal against this server's report
<appeal:int> <outcome:uphold|overturn> [note:str]
Requires BanMembers
/globalban statusShow this server's participation and reputation
Requires BanMembers
/globalban blacklistOwner: add or remove a user on the global blacklist
<action:add|remove> <user:user> [reason:str]
/globalban overturnOwner: overturn an appeal or report after a dispute
<appeal:int> [note:str]
Hall of Fame and Shame
One โญ nominates for Fame, one ๐ฉ for Shame. Configure and browse both
/hall configureSet a hall's channel and behaviour. Anything waiting is posted right away
<system:fame|shame> [channel:channel] [enabled:bool] [on_zero:keep|remove] [self_react:allow|ignore] [allow_bots:bool] [nsfw:skip|link] [nsfw_channel:channel] [only_channel:channel] [clear_only:bool]
Requires ManageGuild
/hall ignoreStop a channel's messages being nominated
<system:fame|shame> <channel:channel>
Requires ManageGuild
/hall unignoreLet a channel's messages be nominated again
<system:fame|shame> <channel:channel>
Requires ManageGuild
/hall channelSet a rule for one channel or category: block it, send it to its own hall, or a self-reaction policy
<system:fame|shame> <channel:channel> [mode:default|block|redirect] [destination:channel] [self_react:default|allow|ignore]
Requires ManageGuild
/hall blockBlock a person or role, or unblock them. Their messages cannot enter, and their reactions do not count
<system:fame|shame> <action:add|remove|list> [user:user] [role:role]
Requires ManageGuild
/hall configShow the current hall settings
/hall fameBrowse the Hall of Fame
[sort:top|recent] [page:int]
/hall shameBrowse the Hall of Shame
[sort:top|recent] [page:int]
/hall userShow one person's entries
<system:fame|shame> <user:user> [page:int]
/hall searchSearch a hall's saved messages
<system:fame|shame> <query:str> [user:user] [page:int]
/hall randomShow a random entry, with a button for another
<system:fame|shame> [user:user] [channel:channel]
/hall leaderboardRank authors, reaction givers, posts or channels. Buttons turn the page
<system:fame|shame> [kind:authors|givers|posts|channels] [days:int] [page:int]
/hall statsShow totals for both halls, or details for one hall, person or period
[system:fame|shame] [user:user] [within:dur]
/hall infoShow the stored record for a nominated message
<system:fame|shame> <message_id:id>
Requires ManageMessages
/hall refreshRe-read a message from Discord and update its entry
<system:fame|shame> <message_id:id> <channel:channel>
Requires ManageMessages
/hall removeTake a post down. It will not come back unless restored
<system:fame|shame> <message_id:id> [reason:text]
Requires ManageMessages
/hall restoreBring back a retracted entry, updating its count
<system:fame|shame> <message_id:id>
Requires ManageMessages
/hall pendingShow nominations waiting to post, and why
[page:int]
Requires ManageGuild
/hall flushTry to post every waiting nomination now
Requires ManageGuild
/hall recoverCatch up now: fix counts, find missed reactions in recent messages and post what is waiting
Requires ManageGuild
Hashing and tokens
Hashes, checksums, HMACs and random tokens
/hash digestHash text
<algorithm:md5|sha1|sha256|sha384|sha512> <text:text>
/hash allShow every hash of some text
<text:text>
/hash hmacWork out an HMAC. Use test keys only
<algorithm:sha1|sha256|sha512> <key:str> <text:text>
/hash crc32Work out a CRC-32 checksum
<text:text>
/hash compareCompare two hashes
<first:str> <second:str>
/hash identifyGuess a hash type from its length
<hash:str>
/hash tokenGenerate a random URL-safe token
[bytes:int]
/hash password-strengthEstimate a password's strength. Do not test real passwords in chat
<password:text>
Integrations
Send security and Hall events to your own services
/integration addSend events to an https webhook. The link is stored encrypted
<name:str> <event:security|hall|all> <url:url>
Requires Administrator
/integration listList integrations. Links are never shown
[page:int]
Requires ManageGuild
/integration testSend a test event
<name:str>
Requires ManageGuild
/integration enableTurn an integration on
<name:str>
Requires ManageGuild
/integration disableTurn an integration off
<name:str>
Requires ManageGuild
/integration removeDelete an integration
<name:str>
Requires Administrator
Invite tracking
See who invited whom, using Discord's invite counts
/invite leaderboardRank members by how many people they invited
[days:int]
Requires ManageGuild
/invite whoShow who invited a member
<user:user>
Requires ModerateMembers
/invite listList known invites and their use counts
[page:int]
Requires ManageGuild
/invite configureTurn tracking on or off and choose a log channel
[enabled:bool] [channel:channel]
Requires ManageGuild
Leveling
XP for chatting and voice, multipliers, weekly boards and role rewards
/level rankShow a member's level and XP
[user:user]
/level topShow the all-time XP leaderboard
[page:int]
/level weeklyShow who earned the most XP this week
[page:int]
/level add-xpGive a member XP. Level rewards apply
<user:user> <amount:int>
Requires ManageGuild
/level remove-xpTake XP away from a member
<user:user> <amount:int>
Requires ManageGuild
/level set-xpSet a member's XP exactly
<user:user> <amount:int>
Requires ManageGuild
/level resetReset a member's XP to zero
<user:user> <confirm:bool>
Requires ManageGuild
/level syncGive or take reward roles so they match a member's level
<user:user>
Requires ManageRoles
/level reward-addGive a role automatically at a level
<level:int> <role:role>
Requires ManageGuild
/level reward-removeRemove a level reward
<id:int>
Requires ManageGuild
/level rewardsList level rewards
/level reward-modeKeep every reward role, or only the highest one
<mode:stack|highest>
Requires ManageGuild
/level multiplierSpeed XP up or down for a role or channel. 100 is normal and removes the rule
<percent:int> [role:role] [channel:channel]
Requires ManageGuild
/level multipliersList XP multipliers
/level ignoreStop or restart XP in a channel or for a role
[channel:channel] [role:role]
Requires ManageGuild
/level ignoredList channels and roles that earn no XP
/level messageSet the level-up message. Use {user} {username} {level} {server}
[text:text]
Requires ManageGuild
/level toggleTurn XP earning on or off
<enabled:bool>
Requires ManageGuild
/level announceAnnounce level-ups, optionally in one channel
<enabled:bool> [channel:channel]
Requires ManageGuild
/level voice-xpGive XP for each minute in voice. 0 turns it off
<per_minute:int>
Requires ManageGuild
/level curveShow how much XP each level takes
[up_to:int]
/level statsShow leveling totals for this server
/level voice-statusShow how long you have been earning voice XP
Loans
Borrow play credits against a flat fee
/loan limitShow how much you can borrow
/loan takeBorrow credits
<amount:int>
/loan repayPay back some or all of your loan
<amount:str>
/loan statusShow your loan
[user:user]
Logging
Record server events to channels of your choice, and search what happened
/log channelChoose the default channel for server events
<channel:channel>
Requires ManageGuild
/log modlogChoose where moderation cases are posted
<channel:channel>
Requires ManageGuild
/log toggleChoose which events are logged
<category:messageedits|messagedeletes|bulkdeletes|joins|leaves|roles|nicknames|timeouts|voice|channelchanges|rolechanges|bans|invites|all> <enabled:bool>
Requires ManageGuild
/log routeSend one kind of event to its own channel. Leave the channel out to use the default
<category:messageedits|messagedeletes|bulkdeletes|joins|leaves|roles|nicknames|timeouts|voice|channelchanges|rolechanges|bans|invites> [channel:channel]
Requires ManageGuild
/log ignoreKeep a channel, role or user out of the logs, or log bots too
[channel:channel] [role:role] [user:user] [remove:bool] [bots:bool]
Requires ManageGuild
/log configShow logging settings
Requires ManageGuild
/log checkTest every log channel and report any that do not work, and how to fix them
Requires ManageGuild
/log auditShow recent actions recorded by Clover
[action:str] [actor:user] [page:int]
Requires ManageGuild
/log commandsShow recent command use
[user:user] [page:int]
Requires ManageGuild
/log failuresShow recent commands that failed, and why
[page:int]
Requires ManageGuild
Marketplace
Sell items to other members. Payment and delivery happen together or not at all
/market sellList an item for sale
<item:str> <price:int> [quantity:int]
/market browseSee what is for sale
[item:str] [page:int]
/market buyBuy a listing
<id:int>
/market cancelTake your listing down and get the items back
<id:int>
/market mineSee your listings
/market valueEstimate your wallet plus open listings
Math
A calculator and common math functions
/math calcWork out an expression, such as (2+3)*sqrt(16)
<expression:text>
/math gcdFind the greatest common divisor
<numbers:text>
/math lcmFind the least common multiple
<numbers:text>
/math primeCheck whether a number is prime
<number:int>
/math factorsFind prime factors
<number:int>
/math fibonacciFind the nth Fibonacci number
<n:int>
/math factorialWork out a factorial
<n:int>
/math percentWork out what percent one number is of another
<part:num> <whole:num>
/math percent-ofWork out a percentage of a number
<percent:num> <of:num>
/math changeWork out percentage change
<from:num> <to:num>
/math averageFind the mean
<numbers:text>
/math medianFind the median
<numbers:text>
/math modeFind the most common value
<numbers:text>
/math stddevFind the standard deviation
<numbers:text>
/math sumAdd up a list of numbers
<numbers:text>
/math rangeFind the smallest and largest
<numbers:text>
/math baseConvert a number between bases 2 to 36
<number:str> <from:int> <to:int>
/math romanWrite a number in Roman numerals
<number:int>
/math from-romanRead a Roman numeral
<numeral:str>
/math quadraticSolve axยฒ + bx + c = 0
<a:num> <b:num> <c:num>
/math hypotenuseFind the long side of a right triangle
<a:num> <b:num>
/math compoundWork out compound interest
<principal:num> <rate:num> <years:num>
/math combinationsCount combinations (n choose k)
<n:int> <k:int>
/math permutationsCount ordered arrangements (n pick k)
<n:int> <k:int>
Moderation
Ban, kick, time out, warn and purge, with a full case history
/mod banBan a user, for a set time if you give a duration
<user:user> [days:int] [duration:dur] [dm:send|skip] [proof:att] [reason:text]
Requires BanMembers
/mod unbanLift a ban
<user:user> [reason:text]
Requires BanMembers
/mod softbanBan and immediately unban to clear someone's recent messages
<member:member> [days:int] [dm:send|skip] [reason:text]
Requires BanMembers
/mod tempbanBan a user for a set time. The ban lifts automatically, even across restarts
<user:user> <duration:dur> [days:int] [dm:send|skip] [proof:att] [reason:text]
Requires BanMembers
/mod kickRemove a member from the server
<member:member> [dm:send|skip] [proof:att] [reason:text]
Requires KickMembers
/mod timeoutStop a member talking for a while. Over 28 days is renewed automatically
<member:member> [duration:dur] [dm:send|skip] [proof:att] [reason:text]
Requires ModerateMembers
/mod untimeoutEnd a member's timeout early
<member:member> [reason:text]
Requires ModerateMembers
/mod warnWarn a member. Points and repeated warnings can escalate automatically
<member:member> [points:int] [expires:dur] [dm:send|skip] [proof:att] [reason:text]
Requires ModerateMembers
/mod warningsList a member's active warnings
<user:user> [page:int]
Requires ModerateMembers
/mod warns clearRemove one warning by case number
<case_no:int> [reason:text]
Requires ModerateMembers
/mod warns clear-allRemove all of a member's warnings
<user:user> [reason:text]
Requires ModerateMembers
/mod warns pointsShow a user's active points and how close they are to the next tier
<user:user>
Requires ModerateMembers
/mod noteAdd a private staff note to a user's record
<user:user> <text:text>
Requires ModerateMembers
/mod caseShow one moderation case, with buttons to edit or reverse it
<case_no:int>
Requires ModerateMembers
/mod casesBrowse cases, filtered by user, moderator, action, source, age or reason text
[action:str] [user:user] [moderator:user] [active:bool] [days:int] [source:manual|automod|escalation|automation|mass|verify] [contains:str] [page:int]
Requires ModerateMembers
/mod reasonChange the reason on a case. Its mod log entry is updated too
<case_no:int> <reason:text>
Requires ModerateMembers
/mod edit durationChange when a temporary action ends, counted from now, or make it permanent
<case_no:int> [duration:dur] [permanent:bool]
Requires ModerateMembers
/mod edit deleteDelete a case from the record. A copy stays in the audit log
<case_no:int> <confirm:bool>
Requires ManageGuild
/mod historyShow a user's record, filtered by action, moderator, status or age
<user:user> [action:str] [moderator:user] [active:bool] [days:int] [contains:str] [page:int]
Requires ModerateMembers
/mod modstatsShow actions per moderator, with reversals and missing reasons
[days:int] [moderator:user]
Requires ModerateMembers
/mod purge messagesDelete recent messages from a channel, up to 100. Pinned messages are kept
<amount:int> [channel:channel]
Requires ManageMessages
/mod purge userDelete a user's recent messages from a channel
<user:user> [amount:int] [channel:channel]
Requires ManageMessages
/mod purge botsDelete recent messages sent by bots
[amount:int] [channel:channel]
Requires ManageMessages
/mod purge matchDelete recent messages containing some text
[channel:channel] <text:text>
Requires ManageMessages
/mod purge filterDelete up to 1000 messages matching every filter you give, with an optional preview
<amount:int> [channel:channel] [user:user] [contains:str] [regex:str] [bots:bool] [humans:bool] [attachments:bool] [embeds:bool] [links:bool] [invites:bool] [mentions:bool] [before:id] [after:id] [keep_pinned:bool] [old:bool] [preview:bool] [confirm:bool]
Requires ManageMessages
/mod slowmode setSet how long people wait between messages, optionally only for a while
<duration:dur> [channel:channel] [lasts:dur]
Requires ManageChannels
/mod slowmode offTurn slowmode off
[channel:channel]
Requires ManageChannels
/mod lockStop @everyone talking in a channel, optionally for a set time
[channel:channel] [duration:dur] [reason:text]
Requires ManageChannels
/mod unlockLet @everyone talk in a channel again, restoring its earlier permissions
[channel:channel]
Requires ManageChannels
/mod nickChange or clear a member's nickname
<member:member> [name:str]
Requires ManageNicknames
/mod evidenceAttach evidence to a case
<case_no:int> [file:att] [link:url] [note:text]
Requires ModerateMembers
/mod reverseUndo a moderation decision, tell the person and record why
<case_no:int> <reason:text>
Requires ModerateMembers
/mod setup preset-addSave a reason. Typing its name as the reason then uses the full text
<name:str> [duration:dur] [points:int] <text:text>
Requires ManageGuild
/mod setup preset-removeDelete a reason preset
<name:str>
Requires ManageGuild
/mod setup presetsList reason presets
[page:int]
Requires ModerateMembers
/mod setup tier-addPunish automatically when someone reaches a number of active points
<points:int> <action:timeout|kick|tempban|ban> [duration:dur]
Requires ManageGuild
/mod setup tier-removeRemove a point tier
<points:int>
Requires ManageGuild
/mod setup tiersList point tiers
Requires ModerateMembers
/mod setup dm-templateSet what people are told for an action. Placeholders: {reason} {duration} {case} {appeal}
<action:ban|tempban|softban|kick|timeout|warn|quarantine> [clear:bool] [text:text]
Requires ManageGuild
/mod setup dm-previewSee the message someone would get for an action
<action:ban|tempban|softban|kick|timeout|warn|quarantine>
Requires ModerateMembers
/mod setup policySet whether reasons are required, DMs, warning expiry and the appeal text
[require_reason:bool] [dm:bool] [warn_expiry_days:int] [default_timeout:dur] [warn_counts:bool] [appeal_text:text]
Requires ManageGuild
Monitoring
See how the bot itself is doing
/monitor pingShow gateway and database response times
/monitor uptimeShow how long the bot has been running
/monitor versionShow the bot and platform versions
/monitor aboutShow what Clover is and how many commands it has
/monitor healthCheck the database, jobs and gateway
/monitor memoryShow memory use
/monitor jobsShow background job counts and recent failures
/monitor metricsShow internal counters and timings
/monitor errorsShow recent errors from the log
/monitor db-statsShow database table sizes
/monitor serversList servers the bot is in
[page:int]
/monitor backup-nowBack up the whole database now
Network
Link servers, share templates and sync them with each server's approval
/network createCreate a network with this server as its hub
<name:str>
Requires Administrator
/network inviteCreate a one-time code another server's administrator can use to join
Requires Administrator
/network linkJoin a network with an invite code
<code:str>
Requires Administrator
/network unlinkLeave the network. Nothing already synced is removed
<confirm:bool>
Requires Administrator
/network statusShow this server's network, its policy and any waiting syncs
Requires ManageGuild
/network serversList the servers in this network
Requires ManageGuild
/network policyChoose what this server accepts from the network
[roles:bool] [channels:bool] [config:bool] [nicknames:bool] [member_roles:bool] [on_conflict:keep|overwrite]
Requires Administrator
/network templatesList the network's shared templates
[page:int]
Requires ManageGuild
/network template addSave a role, channel or setting from this server as a template
[role:role] [channel:channel] [setting:str]
Requires Administrator
/network template removeDelete a template. Nothing already synced changes
<id:int>
Requires Administrator
/network sync previewShow what a sync would change on each server. Changes nothing
[server:id]
Requires Administrator
/network sync runSend templates to linked servers. Sensitive changes wait for their approval
[server:id]
Requires Administrator
/network sync historyList past syncs
[page:int]
Requires ManageGuild
/network approveAllow a waiting sync on this server. It is re-checked first
<run:int>
Requires Administrator
/network rejectRefuse a waiting sync on this server
<run:int>
Requires Administrator
/network conflictsList what differs from the hub here, and choose per item
Requires Administrator
/network resolveChoose whether one differing item keeps local or takes the hub's version
<item:str> <choice:keep|overwrite>
Requires Administrator
/network compareCompare this server with another in the network
<server:id>
Requires ManageGuild
/network driftFind where linked servers have drifted from the templates
Requires ManageGuild
Personal notes
Private notes only you can read
/note addSave a private note
<text:text>
/note listList your notes
[page:int]
/note viewRead a note
<id:int>
/note editChange a note
<id:int> <text:text>
/note deleteDelete a note
<id:int>
/note searchSearch your notes
<query:str>
Notification centre
One place for what staff need to see, shared with the dashboard
/notifications listShow recent notifications
[unread:bool] [page:int]
Requires ModerateMembers
/notifications readMark a notification as read, or all of them
[id:int]
Requires ModerateMembers
Keyword alerts
Get a private message when a word you care about comes up
/notify addAlert you when a word is said in this server
<word:str>
/notify removeRemove a keyword alert
<word:str>
/notify listList your keyword alerts
/notify clearRemove all your alerts
Emergency panic
Lock the server down fast, even if the owner is away
/panic set-pinSet or change the panic PIN. It is stored only as a salted hash
<pin:str> [current:str]
/panic authorizeAdd or remove a trusted emergency operator, or list them
<action:add|remove|list> [user:user]
/panic activateLock every channel, stop new invites and alert staff
[reason:str] [pin:str]
/panic deactivateEnd panic mode and restore channels exactly as they were
[pin:str]
/panic requestOwner away: ask a second trusted operator to confirm panic mode, with no PIN
<action:activate|deactivate> [reason:str]
/panic respondConfirm or refuse another operator's emergency request
<request:int> <answer:confirm|refuse>
/panic statusShow whether panic mode is active, who can use it and what to do next
/panic historyShow every use of panic controls
[page:int]
Requires ManageGuild
/panic recoveryPause automatic responses while staff repair the server
<enabled:bool> [pin:str]
/panic summarySummarise the last emergency for staff
Requires ManageGuild
Permissions
Decide who can use which commands, by role, user and channel
/perm allowLet a user or role use a command or category, such as mod.ban or mod.*, optionally in one channel or for a while
<node:str> [user:user] [role:role] [channel:channel] [expires:dur]
Requires Administrator
/perm denyStop a user or role using a command, even if Discord would allow it, optionally in one channel
<node:str> [user:user] [role:role] [channel:channel] [expires:dur]
Requires Administrator
/perm clearRemove a permission rule
<node:str> [user:user] [role:role] [channel:channel]
Requires Administrator
/perm resetRemove every rule for a user or role, or every rule in the server
<confirm:bool> [user:user] [role:role]
Requires Administrator
/perm copyCopy every rule from one role to another
<from_role:role> <to_role:role>
Requires Administrator
/perm listList permission rules, filtered by user, role, command or channel
[user:user] [role:role] [node:str] [channel:channel] [page:int]
Requires ManageGuild
/perm checkExplain step by step whether a member can use a command, and why
<member:member> <command:str> [channel:channel]
Requires ManageGuild
/perm whoShow which roles and people can use a command, by rule and by Discord permission
<command:str> [channel:channel]
Requires ManageGuild
/perm disableTurn a command off for everyone except admins
<command:str>
Requires ManageGuild
/perm enableTurn a command back on
<command:str>
Requires ManageGuild
/perm disabledList commands that are turned off
Requires ManageGuild
/perm cooldownSet a command's cooldown in this server
<command:str> <seconds:int>
Requires ManageGuild
/perm block-channelStop a command being used in one channel
<command:str> <channel:channel>
Requires ManageGuild
/perm unblock-channelAllow a command in a channel again
<command:str> <channel:channel>
Requires ManageGuild
Polls
Button polls with up to 10 options, multiple picks and live or hidden results
/poll createStart a poll. Separate 2 to 10 options with |
<question:str> <options:str> [duration:dur] [channel:channel] [max_choices:int] [public:bool] [hide_results:bool] [role:role]
Requires ManageMessages
/poll voteVote for an option by number. Voting for your current pick removes it
<id:int> <option:int>
/poll unvoteTake back your vote in a poll
<id:int>
/poll resultsShow a poll's results
<id:int>
/poll votersSee who picked each option, for public polls
<id:int>
/poll add-optionAdd an option to an open poll
<id:int> <option:text>
Requires ManageMessages
/poll closeEnd a poll early
<id:int>
Requires ManageMessages
/poll reopenOpen a closed poll again, optionally for a set time
<id:int> [duration:dur]
Requires ManageMessages
/poll exportDownload a poll's results as a CSV file
<id:int>
Requires ManageMessages
/poll listList recent polls
[status:open|closed|all] [page:int]
/poll deleteDelete a poll and its message
<id:int>
Requires ManageMessages
User profiles
A personal card showing someone's bio, level, reputation and Hall record
/profile viewShow a profile
[user:user]
/profile bioSet your bio
<text:text>
/profile pronounsSet your pronouns
<text:str>
/profile colorSet your card colour
<hex:str>
/profile linkAdd a link to your profile
<kind:website|github|twitch|youtube|x> <url:url>
/profile unlinkRemove a link from your profile
<kind:website|github|twitch|youtube|x>
/profile clearDelete your profile
/profile avatarShow someone's avatar at full size
[user:user]
/profile whoisShow someone's account and server details
<member:member>
Quotes
Keep a book of the best things people have said
/quote addSave a quote
[user:user] <text:text>
/quote from-messageSave a message as a quote
<message_id:id> [channel:channel]
/quote randomShow a random quote
/quote getShow one quote
<id:int>
/quote byList someone's quotes
<user:user> [page:int]
/quote listList quotes
[page:int]
/quote removeDelete a quote
<id:int>
Requires ManageMessages
Random
Fair random numbers, choices and teams
/random numberPick a random number
<min:int> <max:int>
/random choosePick one option
<options:text>
/random shufflePut options in random order
<options:text>
/random coinFlip a coin
/random diceRoll dice, such as 2d6+3
<notation:str>
/random passwordGenerate a strong random password
[length:int]
/random teamsSplit names into random teams
<teams:int> <names:text>
/random memberPick a random member of this server
[role:role]
/random samplePick several options without repeats
<count:int> <options:text>
/random lotteryDraw lottery-style numbers
<picks:int> <max:int>
Reminders
Reminders at a time or after a while, repeating, or posted to a channel. They survive restarts
/remind meRemind you after a while, such as 10m or 2h
<when:dur> <text:text>
/remind atRemind you at a time, such as 18:00, tomorrow 9am or friday 6pm, in your time zone
<when:str> <text:text>
/remind everyA reminder that repeats, at least an hour apart
<interval:dur> [first:str] <text:text>
/remind channelPost a reminder in a channel, optionally pinging a role and repeating
<when:str> [channel:channel] [role:role] [repeat:dur] <text:text>
Requires ManageMessages
/remind listList your reminders
/remind serverList every channel reminder on this server
Requires ManageMessages
/remind infoShow one reminder
<id:int>
/remind editChange a reminder's text
<id:int> <text:text>
/remind cancelCancel a reminder
<id:int>
/remind snoozePush a reminder back
<id:int> <by:dur>
/remind clearCancel all your reminders
Reputation
Let members vouch for each other
/rep giveGive a member a reputation point
<user:user> [reason:text]
/rep checkShow a member's reputation
[user:user]
/rep topShow the most trusted members
[page:int]
/rep historyShow who vouched for a member
<user:user> [page:int]
/rep penalizeRemove reputation from a member
<user:user> <amount:int> [reason:text]
Requires ModerateMembers
/rep resetClear a member's reputation
<user:user> <confirm:bool>
Requires ManageGuild
Reporting
Report users or messages to staff privately, and work through them
/report userReport a user to staff
<user:user> [category:spam|harassment|scam|nsfw|other] [evidence:att] <reason:text>
/report messageReport a message by its link
<link:url> [category:spam|harassment|scam|nsfw|other] <reason:text>
/report listList reports
[status:open|resolved|dismissed] [page:int]
Requires ModerateMembers
/report viewRead one report
<id:int>
Requires ModerateMembers
/report claimTake a report, so other staff can see it is being handled
<id:int>
Requires ModerateMembers
/report resolveClose a report as acted on, and tell the person who filed it
<id:int> [note:text]
Requires ModerateMembers
/report dismissClose a report with no action, and tell the person who filed it
<id:int> [note:text]
Requires ModerateMembers
/report againstList reports about a user
<user:user>
Requires ModerateMembers
/report statsShow report totals, response times and who is reported most
Requires ModerateMembers
/report configChoose where reports go, who gets pinged, and how many someone can have open
[channel:channel] [staff_role:role] [max_open:int] [escalate_at:int] [notify_reporter:bool]
Requires ManageGuild
/report blockStop someone filing reports, for people who abuse them
<user:user> [remove:bool]
Requires ModerateMembers
Role management
Create, edit and assign roles, with hierarchy checks
/role infoShow details about a role
<role:role>
/role listList every role
[page:int]
/role addGive a role to a member
<member:member> <role:role>
Requires ManageRoles
/role removeTake a role from a member
<member:member> <role:role>
Requires ManageRoles
/role tempGive a role for a limited time. It is removed automatically
<member:member> <role:role> <duration:dur>
Requires ManageRoles
/role createCreate a role
<name:str> [color:str] [hoist:bool] [mentionable:bool]
Requires ManageRoles
/role deleteDelete a role. Needs confirmation
<role:role> <confirm:bool>
Requires ManageRoles
/role renameRename a role
<role:role> <name:text>
Requires ManageRoles
/role colorChange a role's colour
<role:role> <color:str>
Requires ManageRoles
/role hoistChoose whether a role shows separately in the member list
<role:role> <enabled:bool>
Requires ManageRoles
/role mentionableChoose whether anyone can mention a role
<role:role> <enabled:bool>
Requires ManageRoles
/role membersList members who have a role
<role:role> [page:int]
/role permsList the permissions a role grants
<role:role>
/role grant-permAdd a permission to a role. You cannot grant what you do not hold
<role:role> <permission:str>
Requires ManageRoles
/role revoke-permRemove a permission from a role
<role:role> <permission:str>
Requires ManageRoles
/role compareSee what permissions differ between two roles
<first:role> <second:role>
/role emptyList roles that nobody has
[page:int]
Requires ManageRoles
Scheduled messages
Post messages later, once or on repeat
/schedule messagePost a message after a delay, optionally repeating
<when:dur> [channel:channel] [repeat:dur] <text:text>
Requires ManageMessages
/schedule listList scheduled messages
[page:int]
Requires ManageMessages
/schedule infoShow one scheduled message
<id:int>
Requires ManageMessages
/schedule cancelCancel a scheduled message
<id:int>
Requires ManageMessages
/schedule editChange a scheduled message's text
<id:int> <text:text>
Requires ManageMessages
Search
Find messages, members, roles, channels, cases, tickets and files
/search messagesSearch the last 100 messages of a channel
<query:str> [channel:channel] [from:user]
/search membersFind members by name
<query:str>
/search rolesFind roles by name
<query:str>
/search channelsFind channels by name
<query:str>
/search casesSearch moderation reasons
<query:str>
Requires ModerateMembers
/search ticketsSearch ticket subjects
<query:str>
Requires ManageChannels
/search filesSearch this server's cloud files
<query:str>
Requires ManageGuild
/search auditSearch the audit log
<query:str>
Requires ManageGuild
/search commandsSearch Clover commands
<query:str>
/search emojiFind a custom emoji by name
<query:str>
Security
Protection, incidents, recovery and security drills
/security statusShow which protections are on and any active lockdown
Requires ManageGuild
/security timelineShow security events in order, with who did what
[hours:int] [actor:user] [page:int]
Requires ManageGuild
/security incidentShow the full report for one incident
<id:int> [summarize:bool]
Requires ManageGuild
/security snapshotSave the server's roles, channels and permissions for later recovery
[note:text]
Requires ManageGuild
/security snapshotsList saved snapshots
[page:int]
Requires ManageGuild
/security compareCompare the server, or a later snapshot, with a snapshot. Permission changes are named
[snapshot:int] [against:int]
Requires ManageGuild
/security rollback previewShow exactly what a rollback would do, and pick parts of it. Changes nothing
[snapshot:int]
Requires ManageGuild
/security rollback applyApply a previewed rollback. It never deletes anything
<operation:int> <confirm:bool>
Requires Administrator
/security recoveryList recovery operations, or read one report
[id:int] [page:int]
Requires ManageGuild
/security restoreRestore one role or channel from a snapshot. Shows a preview unless you confirm
<resource:str> [snapshot:int] [confirm:bool]
Requires Administrator
/security scoreShow this server's security score and how it was worked out
Requires ManageGuild
/security auditCheck permissions, webhooks, integrations and unusual activity
Requires ManageGuild
/security recommendationsList what would improve this server's security, most valuable first
Requires ManageGuild
/security permissionsShow which roles and members hold dangerous permissions
[page:int]
Requires ManageGuild
/security configurationCheck this server's security settings for problems
Requires ManageGuild
/security lockdownLock every text channel. With contain, also pause invites and gate new joins
[contain:bool] [gate:off|quarantine|kick] [minutes:int] [reason:text]
Requires ManageGuild
/security unlockEnd a lockdown or raid containment and restore each channel exactly as it was
Requires ManageGuild
/security staff-historyShow recent actions by a staff member
<user:user> [page:int]
Requires ManageGuild
/security correlateLook for accounts that resemble a member. Indicators only, never proof
<member:member>
Requires ModerateMembers
/security drill runTest your protection with simulated attacks. Nothing happens on Discord
<scenario:all|raid|guards|escalation|bot|spam|nuke>
Requires ManageGuild
/security drill resultsList past drills
[page:int]
Requires ManageGuild
/security drill reportRead a drill's gaps and what to do about them
[id:int]
Requires ManageGuild
/security module toggleTurn a protection module on or off
<module:antiraid|antinuke|antispam|antiflood|antimention|antiphish|antiinvite|linkfilter|accountage> <enabled:bool>
Requires ManageGuild
/security module masterTurn all protection on or off
<enabled:bool>
Requires Administrator
/security module dry-runMonitor mode: log what would happen without enforcing anything
<enabled:bool>
Requires ManageGuild
/security module log-channelChoose where security alerts are posted
<channel:channel>
Requires ManageGuild
/security module set-actionChoose how a module responds
<module:antiraid|antinuke|antispam|antiflood|antimention|antiphish|antiinvite|linkfilter> <action:str>
Requires ManageGuild
/security module set-thresholdTune a detection threshold, for example antiraid.joins
<path:str> <value:int>
Requires ManageGuild
/security module response-modeChoose what a high threat score does: alert, quarantine or respond automatically
<mode:alert|quarantine|auto> [quarantine_role:role]
Requires Administrator
/security module nuke-restoreOpt in: recreate what an attacker deleted once anti-nuke triggers
<enabled:bool>
Requires Administrator
/security module bot-vettingChoose what happens to bots added by someone untrusted
<action:alert|quarantine>
Requires Administrator
/security module webhook-guardChoose what happens to webhooks created by someone untrusted
<action:alert|delete>
Requires Administrator
/security module server-guardWatch the vanity URL and server settings, and optionally change them back
[enabled:bool] [action:alert|revert]
Requires Administrator
/security module raid-planSet up raid containment: join gate, account age, time limit, automatic start
[gate:off|quarantine|kick] [account_days:int] [minutes:int] [automatic:bool]
Requires Administrator
/security module digestPost a security report to the alerts channel on a schedule
<enabled:bool> [days:int]
Requires ManageGuild
/security case listList security incidents
[status:open|resolved|false_positive] [page:int]
Requires ManageGuild
/security case reportFile a security incident by hand
<severity:low|medium|high|critical> <title:text>
Requires ModerateMembers
/security case resolveMark an incident as resolved
<id:int>
Requires ManageGuild
/security case false-positiveMark an incident as a false positive, and optionally trust the domain
<id:int> [trust_domain:bool]
Requires ManageGuild
/security case summarySummarise security activity over a period
[within:dur] [narrative:bool] [export:bool]
Requires ManageGuild
/security case raidShow the progress of raid containment
Requires ManageGuild
/security trust addExempt a user, bot, role, domain or invite from detection
<kind:user|bot|role|domain|invite> <value:str> [note:text]
Requires Administrator
/security trust removeRemove something from the trusted list
<kind:user|bot|role|domain|invite> <value:str>
Requires Administrator
/security trust listShow the trusted users, bots, roles, domains and invites
[page:int]
Requires ManageGuild
/security trust protectMark a role or channel as protected, so touching it raises the threat score
<kind:role|channel> <value:str>
Requires Administrator
/security trust unprotectRemove protection from a role or channel
<value:str>
Requires Administrator
/security trust protectedList protected roles and channels
Requires ManageGuild
/security trust allowWhitelist a user, role or webhook for one action only
<action:channeldelete|channelcreate|roledelete|rolecreate|ban|kick|webhookcreate|webhookuse|permissionchange|escalation|botadd|integration|vanitychange|settingschange> [user:user] [role:role] [webhook:id] [note:text]
Requires Administrator
/security trust disallowRemove a whitelist entry for one action
<action:channeldelete|channelcreate|roledelete|rolecreate|ban|kick|webhookcreate|webhookuse|permissionchange|escalation|botadd|integration|vanitychange|settingschange> [user:user] [role:role] [webhook:id]
Requires Administrator
/security trust allowedList who is whitelisted for which action
[page:int]
Requires ManageGuild
/security trust vetApprove a bot under review, or remove it
<bot:user> <decision:approve|remove>
Requires Administrator
/security trust vettingList bots waiting for approval
[page:int]
Requires ManageGuild
/security domain blockTreat a domain as malicious in this server
<domain:str> [note:text]
Requires ManageGuild
/security domain unblockRemove a domain from the block list
<domain:str>
Requires ManageGuild
/security domain listShow this server's blocked domains
[page:int]
Requires ManageGuild
/security scan urlCheck a link for phishing signals and explain the verdict
<url:url>
Requires ManageMessages
/security scan textTest how the filters would treat a message
<text:text>
Requires ManageMessages
/security scan memberShow account-age and profile risk signals for a member
<member:member>
Requires ModerateMembers
/security scan wavesLook across join waves for accounts that seem coordinated
[hours:int] [min_size:int] [page:int]
Requires ModerateMembers
/security appeal listList ban and action appeals
[status:pending|approved|denied] [page:int]
Requires BanMembers
/security appeal approveApprove an appeal. If it concerns a ban, the ban is lifted
<id:int> [note:text]
Requires BanMembers
/security appeal denyDeny an appeal
<id:int> [note:text]
Requires BanMembers
Self roles and role menus
Let members pick their own roles with buttons, commands or drop-down role menus
/selfrole addLet members give themselves a role
<role:role> [label:str]
Requires ManageRoles
/selfrole removeStop a role being self-assignable
<role:role>
Requires ManageRoles
/selfrole listList roles you can give yourself
/selfrole getGive yourself a listed role, or remove it if you have it
<role:role>
/selfrole panelPost buttons for picking roles
[channel:channel] [title:text]
Requires ManageRoles
/selfrole menu-createCreate a drop-down role menu
<name:str> [mode:toggle|unique|add|remove] [min:int] [max:int] [required_role:role] [placeholder:str] [title:str]
Requires ManageRoles
/selfrole menu-addAdd a role to a role menu
<name:str> <role:role> [label:str] [description:text]
Requires ManageRoles
/selfrole menu-removeTake a role out of a role menu
<name:str> <role:role>
Requires ManageRoles
/selfrole menu-editChange a role menu's mode, limits, requirement or wording
<name:str> [mode:toggle|unique|add|remove] [min:int] [max:int] [required_role:role] [clear_required:bool] [placeholder:str] [title:str] [description:text]
Requires ManageRoles
/selfrole menu-postPost a role menu, or update the copy already posted in that channel
<name:str> [channel:channel]
Requires ManageRoles
/selfrole menu-listList role menus
/selfrole menu-infoShow a role menu's settings and roles
<name:str>
Requires ManageRoles
/selfrole menu-deleteDelete a role menu and its posted copies
<name:str> <confirm:bool>
Requires ManageRoles
Server management
Inspect and manage server-wide details
/server infoShow an overview of this server
/server iconShow the server icon at full size
/server bannerShow the server banner
/server membersBreak down members into humans and bots
/server boostsShow boost level and boosters
/server emojisList custom emojis
[page:int]
/server stickersList custom stickers
[page:int]
/server featuresList Discord features enabled for this server
/server invitesList invite links and their use counts
[page:int]
Requires ManageGuild
/server bansList banned users
[page:int]
Requires BanMembers
/server renameRename the server
<name:text>
Requires ManageGuild
/server recent-joinsShow the newest members
[limit:int]
Requires ModerateMembers
/server oldest-membersShow the longest-standing members
[limit:int]
/server new-accountsFind members whose Discord accounts are recent
[days:int]
Requires ModerateMembers
/server botsList bots in this server
[page:int]
/server adminsList members with the Administrator permission
Requires ManageGuild
/server perm-auditList roles carrying dangerous permissions
Requires ManageGuild
Server profile
Describe your server, list its links and publish its rules
/serverprofile viewShow this server's profile
/serverprofile aboutWrite this server's description
<text:text>
Requires ManageGuild
/serverprofile tagsSet up to 10 tags, separated by commas
<tags:text>
Requires ManageGuild
/serverprofile linkAdd a link to the profile
<name:str> <url:url>
Requires ManageGuild
/serverprofile unlinkRemove a link from the profile
<name:str>
Requires ManageGuild
/serverprofile rule-addAdd a server rule
<text:text>
Requires ManageGuild
/serverprofile rule-removeRemove a rule by its number in the list
<number:int>
Requires ManageGuild
/serverprofile rulesShow the server rules
/serverprofile post-rulesPost the rules in a channel
[channel:channel]
Requires ManageGuild
Shop
Spend credits on items and roles, with stock, limits and timed roles. Credits are play money
/shop item-addAdd an item to the shop. Roles can be timed, and stock and limits are optional
<name:str> <price:int> [role:role] [duration:dur] [stock:int] [limit:int] [required_role:role] [use_text:str] [description:text]
Requires ManageGuild
/shop item-editChange an item's price, stock, limit, requirement or description
<name:str> [price:int] [stock:int] [unlimited:bool] [limit:int] [required_role:role] [clear_required:bool] [description:text]
Requires ManageGuild
/shop item-removeTake an item off sale
<name:str>
Requires ManageGuild
/shop item-priceChange an item's price
<name:str> <price:int>
Requires ManageGuild
/shop item-infoShow everything about one item
<name:str>
/shop listSee what is for sale
[page:int]
/shop buyBuy an item
<item:str> [quantity:int]
/shop sellSell items back to the shop for half their price
<item:str> [quantity:int]
/shop useUse one of an item you own
<item:str>
/shop inventoryShow what someone owns
[user:user]
/shop giftGive an item to another member
<user:user> <item:str> [quantity:int]
/shop restockAdd stock to a limited item
<name:str> <amount:int>
Requires ManageGuild
Staff management
Staff roster, shifts, leave, handovers and activity reports
/staff addAdd a member to the staff roster
<member:member> [role:role] <title:text>
Requires ManageGuild
/staff removeRemove someone from the roster and hand over their tickets
<user:user>
Requires ManageGuild
/staff titleChange someone's staff title
<user:user> <title:text>
Requires ManageGuild
/staff rosterShow the staff roster
[page:int]
/staff strikeGive a staff member a strike, optionally for a set time
<user:user> [length:dur] <reason:text>
Requires ManageGuild
/staff strikesList a staff member's strikes
<user:user>
Requires ManageGuild
/staff clear-strikeRemove a strike
<id:int>
Requires ManageGuild
/staff shiftStart or end your shift, or see who is on shift
<action:start|end|list> [note:text]
/staff panelPost buttons for starting and ending shifts
[channel:channel]
Requires ManageGuild
/staff hoursShow someone's shift time
[user:user] [days:int]
/staff leave-startGo on leave now. Your tickets are handed over and come back after
[length:dur] [member:member] [reason:text]
/staff leave-endCome back from leave and get your tickets back
[member:member]
/staff leave-planBook leave between two dates (UTC)
<from:str> <until:str> [member:member] [reason:text]
/staff leave-cancelCancel or decline leave that has not started
<id:int>
/staff leave-approveApprove a leave request
<id:int>
Requires ManageGuild
/staff on-leaveSee who is on leave and who has leave booked
/staff handoverSummarise what the next shift needs to know
[hours:int] [channel:channel]
Requires ModerateMembers
/staff handover-noteLeave a note for the next shift
<text:text>
Requires ModerateMembers
/staff handover-logSee past posted handovers and who read them
[page:int]
Requires ModerateMembers
/staff workloadShow open tickets per staff member right now
[page:int]
Requires ModerateMembers
/staff activityShow what one staff member has done recently
[user:user] [days:int]
Requires ModerateMembers
/staff reportCompare activity across the roster against your targets
[days:int] [export:bool]
Requires ManageGuild
/staff configSet leave, shift, target and handover options
[log_channel:channel] [leave_role:role] [leave_approval:bool] [hand_back:bool] [max_shift_hours:int] [target_hours:int] [target_tickets:int] [handover_every_hours:int] [handover_channel:channel]
Requires ManageGuild
Analytics
See how your server is doing over time
/stats overviewSummarise activity for the last days
[days:int]
Requires ManageGuild
/stats metricChart one metric, such as messages or mod.ban
<name:str> [days:int]
Requires ManageGuild
/stats metricsList metrics recorded in this server
Requires ManageGuild
/stats growthCompare joins and leaves
[days:int]
Requires ManageGuild
/stats commandsShow the most-used commands
[days:int]
Requires ManageGuild
/stats top-chattersShow who has sent the most messages
/stats securityShow security activity over time
[days:int]
Requires ManageGuild
/stats moderationShow moderation activity by type
[days:int]
Requires ManageGuild
Sticky roles
Give people their roles back when they rejoin
/sticky toggleTurn sticky roles on or off. Roles with staff permissions are never restored
<enabled:bool>
Requires ManageGuild
/sticky excludeNever restore this role
<role:role>
Requires ManageGuild
/sticky includeAllow this role to be restored again
<role:role>
Requires ManageGuild
/sticky listList members waiting to get roles back
[page:int]
Requires ManageGuild
Cloud storage
Your server's and your own private file storage
/storage uploadSave an attached file. Uploading the same name adds a new version
<file:att> [name:str] [folder:str] [scope:server|me]
/storage listList files and folders
[folder:str] [page:int] [scope:server|me]
/storage folderCreate a folder
<name:str> [folder:str] [scope:server|me]
/storage infoShow a file's metadata
<file:str> [scope:server|me]
/storage downloadGet a private download link that expires in 10 minutes
<file:str> [version:int] [scope:server|me]
/storage previewShow the start of a text file
<file:str> [scope:server|me]
/storage renameRename a file or folder
<file:str> <name:str> [scope:server|me]
/storage moveMove a file or folder
<file:str> [folder:str] [scope:server|me]
/storage deleteMove a file or folder to the trash
<file:str> [scope:server|me]
/storage trash listList items in the trash
[scope:server|me]
/storage trash restoreBring an item back from the trash
<id:str> [scope:server|me]
/storage trash purgePermanently delete an item in the trash. This cannot be undone
<id:str> <confirm:bool> [scope:server|me]
/storage searchSearch files by name or description
<query:str> [scope:server|me]
/storage versionsList a file's previous versions
<file:str> [scope:server|me]
/storage revertMake an old version current again. History is kept
<file:str> <version:int> [scope:server|me]
/storage shareCreate a share link, optionally with expiry, download limit or password
<file:str> [expires:dur] [limit:int] [password:str] [scope:server|me]
/storage meta sharesList a file's share links
<file:str> [scope:server|me]
/storage revokeRevoke a share link
<file:str> <share_id:str> [scope:server|me]
/storage meta expireSet when a file is automatically moved to the trash
<file:str> [after:dur] [scope:server|me]
/storage meta describeAdd a searchable description
<file:str> [scope:server|me] <text:text>
/storage meta tagReplace a file's tags, separated by commas
<file:str> <tags:str> [scope:server|me]
/storage access addGive a user or role access to a file or folder
<file:str> <level:read|write|manage> [user:user] [role:role]
Requires ManageGuild
/storage access removeRemove someone's access to a file or folder
<file:str> [user:user] [role:role]
Requires ManageGuild
/storage access listList who has been given access to a file
<file:str>
Requires ManageGuild
/storage quotaShow storage used and remaining
[scope:server|me]
/storage usageShow a storage report by type, with the largest files
[scope:server|me]
/storage duplicatesFind identical files
[scope:server|me]
/storage verifyRe-hash stored files and report any corruption
[scope:server|me]
/storage activityShow recent file activity
[page:int] [scope:server|me]
/storage manifestWrite a metadata manifest for this storage area to disk
[scope:server|me]
/storage backupSave a restore point: which version of every file is current
[scope:server|me]
/storage restoreReturn files to a restore point. Shows what would change unless you confirm
[point:str] [confirm:bool] [scope:server|me]
Suggestions
Collect ideas with voting buttons and discussion threads, and track decisions
/suggest setupChoose where suggestions are posted
<channel:channel>
Requires ManageGuild
/suggest anonymousChoose whether suggester names are hidden
<enabled:bool>
Requires ManageGuild
/suggest submitSuggest something
<text:text>
/suggest voteVote for or against a suggestion. Voting the same way again removes it
<id:int> <side:up|down>
/suggest editChange your own suggestion while it is still open
<id:int> <text:text>
/suggest approveApprove a suggestion
<id:int> [note:text]
Requires ManageGuild
/suggest denyDeny a suggestion
<id:int> [note:text]
Requires ManageGuild
/suggest considerMark a suggestion as under consideration
<id:int> [note:text]
Requires ManageGuild
/suggest implementMark a suggestion as done
<id:int> [note:text]
Requires ManageGuild
/suggest reopenPut a decided suggestion back up for votes
<id:int>
Requires ManageGuild
/suggest viewShow one suggestion
<id:int>
/suggest listList suggestions
[status:pending|approved|denied|considering|implemented] [sort:newest|top] [page:int]
/suggest topShow the most supported open suggestions
[page:int]
/suggest statsShow how suggestions have gone
/suggest deleteDelete a suggestion and its post
<id:int>
Requires ManageMessages
/suggest mineList your own suggestions
Support
A knowledge base members can search before opening a ticket
/support addAdd a help article
<title:str> <text:text>
Requires ManageGuild
/support editChange an article
<id:int> <text:text>
Requires ManageGuild
/support detailsSet an article's title, search tags, category or image
<id:int> [title:str] [tags:str] [category:str] [image:url]
Requires ManageGuild
/support removeDelete an article
<id:int>
Requires ManageGuild
/support listList help articles
[page:int] [category:str]
/support readRead a help article
<id:int>
/support searchSearch help articles
<query:text>
/support askAsk a question and get an answer from the help articles
<question:text>
/support popularShow the most-read articles and how helpful they were
/support gapsSee questions the articles could not answer
[page:int]
Requires ManageGuild
/support panelPost a search button members can use
[channel:channel] [title:str]
Requires ManageGuild
/support autoreplyAnswer questions in a channel with a matching article
<channel:channel> <enabled:bool>
Requires ManageGuild
Tags
Saved answers anyone can pull up by name, with aliases, owners and usage counts
/tag addSave a new tag
<name:str> <text:text>
/tag getShow a tag
<name:str>
/tag rawShow a tag's text without formatting, for copying
<name:str>
/tag editChange a tag
<name:str> <text:text>
/tag renameRename a tag
<name:str> <new_name:str>
/tag aliasGive a tag another name, or remove one
<name:str> <alias:str> [remove:bool]
/tag transferGive a tag you own to someone else
<name:str> <user:user>
/tag claimTake over a tag whose owner has left the server
<name:str>
/tag removeDelete a tag
<name:str>
/tag listList tags
[page:int]
/tag topShow the most used tags
/tag mineList the tags you own
[user:user]
/tag searchSearch tags by name, alias or text
<query:str>
/tag infoShow who made a tag and how often it is used
<name:str>
Server templates
Save a server's roles and channels, then apply them later
/template saveSave this server's roles and channels as a template. Members and messages are not included
<name:str>
Requires ManageGuild
/template listList saved templates
Requires ManageGuild
/template previewShow what applying a template would add. Changes nothing
<name:str>
Requires ManageGuild
/template applyAdd whatever this server is missing from a template. Nothing is deleted
<name:str> <confirm:bool>
Requires Administrator
/template deleteDelete a saved template
<name:str>
Requires ManageGuild
Text tools
Transform, count and tidy text
/text upperMake text UPPERCASE
<text:text>
/text lowerMake text lowercase
<text:text>
/text titleMake Text Title Case
<text:text>
/text sentenceMake text sentence case
<text:text>
/text reverseReverse text
<text:text>
/text countCount words, characters and lines
<text:text>
/text slugTurn text into a URL slug
<text:text>
/text repeatRepeat text
<times:int> <text:text>
/text replaceReplace every copy of some text
<find:str> [with:str] <text:text>
/text sort-linesSort lines alphabetically. Separate lines with new lines or " | "
<text:text>
/text unique-linesRemove duplicate lines
<text:text>
/text shuffle-linesPut lines in random order
<text:text>
/text leetWrite in l33t
<text:text>
/text mockwRiTe LiKe ThIs
<text:text>
/text clapPut ๐ between ๐ words
<text:text>
/text acronymMake an acronym
<text:text>
/text palindromeCheck whether text reads the same backwards
<text:text>
/text anagramCheck whether two words are anagrams
<first:str> <second:str>
/text wrapWrap text to a line width
<width:int> <text:text>
/text stripRemove extra spaces and blank lines
<text:text>
/text emojifySpell words in regional letter emoji
<text:str>
/text loremGenerate placeholder text
[sentences:int]
/text char-infoShow the Unicode details of characters
<text:str>
Tickets
Private support channels with panels, SLA timers, ratings and analytics
/ticket setupChoose the staff role, category and channels for tickets
<staff_role:role> [category:channel] [transcript_channel:channel] [log_channel:channel]
Requires ManageGuild
/ticket createOpen a private ticket with staff
[category:str] [member:member] <subject:text>
/ticket closeClose a ticket and save its transcript
[number:int] [delete_channel:bool] [delay:dur] [reason:text]
/ticket reopenReopen a closed ticket
<number:int>
/ticket claimTake ownership of a ticket
[number:int] [force:bool]
/ticket unclaimRelease a ticket
[number:int]
/ticket assignAssign a ticket to a staff member
<member:member> [number:int] [force:bool]
/ticket prioritySet a ticket's priority and SLA targets
<level:low|normal|high|urgent> [number:int]
/ticket addLet another member see a ticket
<member:member> [number:int]
/ticket removeRemove a member from a ticket
<member:member> [number:int]
/ticket noteAdd a private staff note. The opener cannot see it
[number:int] <text:text>
/ticket notesRead a ticket's private staff notes
[number:int]
/ticket transcriptSave a transcript and download it as an HTML file
[number:int] [public:bool]
/ticket infoShow a ticket's details
[number:int]
/ticket listList tickets, with filters
[status:open|pending|closed] [page:int] [assignee:user] [opener:user] [priority:low|normal|high|urgent] [panel:str] [unassigned:bool] [overdue:bool]
/ticket mineList your own tickets
[page:int]
/ticket analyticsShow response times, SLA results, ratings and workload
[days:int] [member:user] [panel:str] [export:bool]
/ticket slaShow a ticket's response and resolution targets
[number:int]
/ticket rateRate how a closed ticket was handled
<number:int> <stars:int> [comment:text]
/ticket panel createCreate a ticket type with its own category, staff and welcome
<name:str> [category:channel] [staff_role:role] [title:str] [label:str] [welcome:text]
Requires ManageGuild
/ticket panel editChange a panel. Posted messages update by themselves
<name:str> [category:channel] [staff_role:role] [title:str] [label:str] [description:str] [color:blue|grey|green|red] [priority:low|normal|high|urgent] [per_user:int] [capacity:int] [first_response:int] [resolution:int] [channel_name:str] [required_role:role] [group:str] [auto_assign:bool] [ping_staff:bool] [welcome:text]
Requires ManageGuild
/ticket panel questionAdd or remove a form question, up to 5 per panel
<name:str> <action:add|remove|clear> [label:str] [long:bool] [optional:bool] [hint:str] [position:int]
Requires ManageGuild
/ticket panel postPost a panel to a channel, with buttons or a select menu
<name:str> [channel:channel] [also:str] [style:buttons|select]
Requires ManageGuild
/ticket panel listList ticket panels
[page:int]
/ticket panel viewShow one panel's settings
<name:str>
/ticket panel deleteDelete a panel. Open tickets stay open
<name:str> <confirm:bool>
Requires ManageGuild
/ticket manage waitingMark a ticket as waiting on the opener, or undo it
[number:int]
/ticket manage renameChange a ticket's subject
[number:int] <subject:text>
/ticket manage escalateRaise priority and alert the escalation role
[number:int] [reason:text]
/ticket manage moveMove a ticket to another panel and its staff
<panel:str> [number:int]
/ticket manage close-requestAsk the opener if a ticket can close, closing after a wait
[number:int] [wait:dur] [reason:text]
/ticket manage cancel-closeStop a delayed close
[number:int]
/ticket manage holdKeep a ticket safe from auto-close, or undo it
[number:int]
/ticket manage timelineShow everything that happened on a ticket
[number:int] [page:int]
/ticket config slaSet SLA targets and who is alerted when one is missed
[first_response_min:int] [resolution_min:int] [escalate_role:role] [warn_at_percent:int]
Requires ManageGuild
/ticket config hoursSet support hours. SLA clocks only run while support is open
<start:int> <end:int> [days:str] [utc_offset_minutes:int]
Requires ManageGuild
/ticket config categoriesSet the ticket categories, separated by commas
<names:text>
Requires ManageGuild
/ticket config limitsSet how many tickets can be open, and how often
[per_user:int] [total:int] [cooldown:int]
Requires ManageGuild
/ticket config closingSet how tickets close
[delay:int] [delete_after_min:int] [need_reason:bool] [opener_can_close:bool] [rating:bool] [dm_transcript:bool] [close_on_leave:bool] [closed_category:channel] [reasons:text]
Requires ManageGuild
/ticket config autocloseWarn about and then close silent tickets
[silent_hours:int] [warn_hours:int] [only_waiting:bool]
Requires ManageGuild
/ticket config assignmentSet auto-assignment and claim locking
[mode:off|workload] [claim_lock:bool] [on_shift_first:bool]
Requires ManageGuild
/ticket config viewShow all ticket settings
/ticket blacklist addStop someone opening tickets
<user:user> [length:dur] [reason:text]
/ticket blacklist removeLet someone open tickets again
<user:user>
/ticket blacklist listSee who cannot open tickets
[page:int]
/ticket canned addSave a reply. Use {user} {staff} {number} {subject}
<name:str> <text:text>
/ticket canned editChange a saved reply
<name:str> <text:text>
/ticket canned removeDelete a saved reply
<name:str>
/ticket canned listList saved replies
[page:int]
/ticket canned sendSend a saved reply into a ticket
<name:str> [number:int]
Time and dates
Your time zone, other people's local time, Discord timestamps and date maths
/time zone-setSave your time zone so times you type are read in it
<zone:str>
/time zone-clearForget your time zone
/time forSee the local time for someone who saved their time zone
<user:user>
/time parseCheck how a time like "friday 6pm" is read, as a timestamp
<when:str>
/time nowShow the current time in a time zone
[zone:str]
/time convertShow a moment in another time zone
<date:str> <zone:str>
/time timestampMake Discord timestamps that show in each reader's own time
<date:str>
/time unixConvert between a date and a Unix timestamp
<value:str>
/time untilCount down to a date
<date:str>
/time betweenWork out the time between two dates
<first:str> <second:str>
/time addAdd days to a date
<date:str> <days:int>
/time weekdayFind what day of the week a date falls on
<date:str>
/time leapCheck whether a year is a leap year
<year:int>
/time weekFind the ISO week number of a date
<date:str>
/time ageWork out how old something is from a date
<date:str>
To-do lists
A personal to-do list with priorities and due dates
/todo addAdd a to-do, optionally with a priority and a due date like friday 5pm
[priority:high|normal|low] [due:str] <text:text>
/todo listShow your to-dos, most important first
[show:open|done|all] [page:int]
/todo doneTick off a to-do
<id:int>
/todo undoUntick a to-do
<id:int>
/todo editChange a to-do's text
<id:int> <text:text>
/todo priorityChange a to-do's priority
<id:int> <level:high|normal|low>
/todo dueSet or clear a due date
<id:int> [when:str] [clear:bool]
/todo overdueShow to-dos that are past their due date
/todo removeDelete a to-do
<id:int>
/todo clear-doneDelete everything you have ticked off
/todo progressSee how far through your list you are
Simulated trading
Trade made-up assets with play credits. Nothing here is real or financial advice
/trade pricesShow current simulated prices
/trade chartChart a simulated price for the last two days
<asset:iron|copper|silver|gold|ruby|void>
/trade buyBuy a simulated asset
<asset:iron|copper|silver|gold|ruby|void> <quantity:int>
/trade sellSell a simulated asset
<asset:iron|copper|silver|gold|ruby|void> <quantity:int>
/trade portfolioShow your holdings and their value
[user:user]
/trade quoteShow how much a trade would cost
<asset:iron|copper|silver|gold|ruby|void> <quantity:int>
Trivia
Multiple-choice quizzes with buttons, typed questions, categories, streaks and scores
/trivia quizPost a multiple-choice question. First correct answer scores
[category:any|science|geography|history|tech|general]
/trivia askAsk a typed question in this channel
/trivia answerAnswer the typed question
<answer:text>
/trivia skipReveal the typed answer and move on
/trivia scoresShow the trivia leaderboard
[page:int]
/trivia rankShow someone's trivia record
[user:user]
/trivia categoriesList quiz categories and how many questions each has
/trivia addAdd your own typed question
<question:str> <answer:text>
Requires ManageGuild
/trivia removeRemove one of your server's questions
<id:int>
Requires ManageGuild
/trivia questionsList your server's questions
[page:int]
Requires ManageGuild
Verification
Gate new members behind challenges, account age checks and a time limit
/verify setupChoose the verified role, the challenge, age gates and the time limit
<role:role> [mode:button|math|word|multi] [steps:str] [unverified_role:role] [min_account_days:int] [age_action:deny|kick] [min_member_minutes:int] [kick_after_minutes:int] [max_attempts:int] [lockout_minutes:int] [log_channel:channel] [rules:text]
Requires ManageGuild
/verify panelPost the verification button in a channel
[channel:channel] [title:str] [text:text]
Requires ManageGuild
/verify statusShow verification settings and numbers
Requires ManageGuild
/verify disableTurn verification off. Existing roles are left alone
Requires ManageGuild
/verify manualVerify a member by hand
<member:member>
Requires ManageRoles
/verify revokeRemove a member's verified role. Any time limit starts again
<member:member>
Requires ManageRoles
/verify pendingList members who have not verified, and when each joined
[page:int]
Requires ModerateMembers
/verify sweepKick members who joined this long ago and still have not verified, with a preview
<older_than:dur> [confirm:bool]
Requires KickMembers
Voice rooms
Temporary voice channels people create by joining, and a role for being in voice
/voice setupChoose the channel people join to get their own room
<channel:channel> [category:channel] [name_template:str]
Requires ManageGuild
/voice offStop creating temporary rooms
Requires ManageGuild
/voice roleGive people a role while they are in voice, or clear it
[role:role]
Requires ManageGuild
/voice renameRename your temporary room
<name:str>
/voice limitSet how many people can join your room. 0 means no limit
<users:int>
/voice lockStop or allow new people joining your room
<locked:bool>
/voice listList temporary rooms
Requires ManageChannels
/voice forgetRemove a room from the list without deleting its channel
<id:int>
Requires ManageChannels
Webhooks
Manage this server's Discord webhooks. Webhook tokens are never shown
/webhook listList every webhook in the server
[page:int]
Requires ManageWebhooks
/webhook createCreate a webhook. Use Discord's channel settings to copy its link
<name:str> [channel:channel]
Requires ManageWebhooks
/webhook deleteDelete a webhook
<id:id> <confirm:bool>
Requires ManageWebhooks
/webhook renameRename a webhook
<id:id> <name:str>
Requires ManageWebhooks
/webhook sayPost through a webhook. Mentions are disabled
<id:id> <text:text>
Requires ManageWebhooks
/webhook auditList webhooks in a channel, and who owns them
[channel:channel]
Requires ManageWebhooks
Welcome and autorole
Greet new members in a channel or by DM, and give them roles automatically
/welcome setTurn on welcome messages. See placeholders for what you can use
<channel:channel> [message:text]
Requires ManageGuild
/welcome offTurn off welcome messages
Requires ManageGuild
/welcome embedShow the welcome as an embed with an optional title, or as plain text
<enabled:bool> [title:str]
Requires ManageGuild
/welcome dmSend new members a private message. Leave the text out to stop
[message:text]
Requires ManageGuild
/welcome delete-afterRemove welcome messages after a while. 0 keeps them
[after:dur]
Requires ManageGuild
/welcome testRun the full welcome for yourself, exactly as a new member would get it
Requires ManageGuild
/welcome goodbyeTurn on goodbye messages
<channel:channel> [message:text]
Requires ManageGuild
/welcome goodbye-offTurn off goodbye messages
Requires ManageGuild
/welcome previewSee your welcome, DM and goodbye messages as they will appear
Requires ManageGuild
/welcome placeholdersList the placeholders welcome messages can use
/welcome autorole-addGive a role to every new member, or to every new bot
<role:role> [bots:bool]
Requires ManageRoles
/welcome autorole-removeStop giving a role to new members or bots
<role:role>
Requires ManageRoles
/welcome autorole-delayWait before giving autoroles, for example until members pass screening
[after:dur]
Requires ManageRoles
/welcome autorole-listList autoroles