Command reference
Every slash command the bot registers. Options marked with * are required. "Needs" is what the handler checks, not just what Discord shows in its menu. Commands that need a server cannot be used in DMs.
This page is written by hand from the command definitions in internal/commands/*/public. If you change a command, update it here and in /help (internal/commands/help/help.go). The Features page explains the behaviour behind them.
Fun
Anyone can use these. /rps, /rpsstats and /rpsleaderboard work in servers only.
| Command |
Options |
What it does |
/ping |
|
Replies "Pong!" |
/joke |
type |
A random joke, optionally of a type |
/coinflip |
|
Heads or tails |
/dice |
expr* |
Rolls a dice expression: d20, 2d20+1, 2#d20+1 |
/rps |
hand* |
Rock paper scissors against the bot |
/rpsstats |
|
Your rock-paper-scissors record |
/rpsleaderboard |
|
The server's leaderboard |
Help
| Command |
What it does |
/help |
DMs you a command reference |
Leveling
| Command |
Options |
Needs |
What it does |
/slvl toggle |
|
Manage Server |
Turns leveling on or off |
/slvl set |
user, level |
Manage Server, leveling on |
Sets a member's level |
/slvl set-channel |
channel* |
Manage Server, leveling on |
Where level-up messages go |
/slvl set-message |
message* |
Manage Server, leveling on |
The level-up message. Variables: {user}, {level} |
/slvl set-reward |
level, role |
Manage Server, leveling on |
Role granted at a level |
/rank |
user |
Leveling on |
A rank card for you or another member |
/leaderboard |
|
Leveling on |
Top 10 in the server |
/rewards |
|
Leveling on |
The role rewards |
Music
| Command |
Options |
Needs |
What it does |
/play |
query* |
DJ role |
Plays a song by name or URL |
/queue |
|
DJ role |
Shows the queue |
/volume |
value* (0 to 150) |
DJ role |
Sets the volume |
/music toggle |
|
Manage Server |
Turns music on or off in this server |
Requires Lavalink. See Getting started.
Meeting rooms
Every subcommand needs Manage Server and works in servers only.
| Command |
Options |
What it does |
/meeting add-lobby |
channel* (voice) |
Makes a voice channel a lobby (up to 10 per server) |
/meeting remove-lobby |
channel* (voice) |
Stops using it as a lobby |
/meeting lobbies |
|
Lists the lobbies |
/meeting lock |
|
Locks the room you are in |
/meeting lock-private |
|
Locks it and hides it |
/meeting unlock |
|
Unlocks it |
/meeting invite |
user* |
Lets a user into a locked room |
/meeting uninvite |
user* |
Removes that access |
Moderation
Each subcommand checks the Discord permission in its "Needs" column.
| Command |
Options |
Needs |
What it does |
/moderation purge |
amount* (1 to 100) |
Manage Messages |
Deletes recent messages in the channel |
/moderation timeout |
user, duration (10m, 1h, 2h30m, up to 28d), reason |
Moderate Members |
Times a member out |
/moderation untimeout |
user*, reason |
Moderate Members |
Removes a timeout |
/moderation kick |
user*, reason |
Kick Members |
Kicks a member |
/moderation ban |
user*, delete_days (0 to 7), reason |
Ban Members |
Bans a member |
/moderation unban |
user_id*, reason |
Ban Members |
Unbans by ID |
/moderation slowmode |
channel, seconds (0 to 21600) |
Manage Channels |
Sets slowmode, 0 turns it off |
Timezone and scheduling
Anyone can use these.
| Command |
Options |
What it does |
/timezone set |
zone* (IANA name, such as Europe/Lisbon) |
Saves your timezone |
/timezone show |
|
Shows it |
/schedule create |
|
Opens a form (date, time, description) to request a session with a member |
/schedule list |
|
Your upcoming sessions |
/schedule reschedule |
id* (from /schedule list), datetime* (UTC, 2006-01-02 15:04) |
Proposes a new time |
Projects
| Command |
Needs |
What it does |
/projects list |
|
Active projects with creators and helpers |
/projects create |
Manage Server |
Opens a form to create a project |
/projects add-helper |
Manage Server |
Adds a helper to a project |
/projects close |
Manage Server |
Closes a project |
Server setup (/config)
Every subcommand needs Manage Server.
| Command |
Options |
What it does |
/config setwelcomechannel |
channel* |
Where welcome messages go |
/config setwelcomemessage |
message* |
Welcome template. {user} is a mention, {server} the server name |
/config setwelcomedm |
message* |
The welcome DM template |
/config setwelcomegif |
url* |
Image or GIF for the welcome embed |
/config setdefaultrole |
role* |
Role given on join |
/config setlogchannel |
channel* |
Where logs go |
/config enablelogging |
|
Turns logging on |
/config disablelogging |
|
Turns it off |
/config addstreamer |
username* |
Adds a Twitch streamer to watch |
/config removestreamer |
username* |
Removes one |
/config settwitchnotificationchannel |
channel* |
Where live alerts go |
Tickets
| Command |
Options |
Needs |
What it does |
/tickets setup |
channel*, log-channel, staff-role |
Manage Server |
Where tickets open and where closed ones are logged. staff-role creates a Support category if there are none yet |
/tickets category add |
name*, staff-role, emoji, description |
Manage Server |
Adds a category to the panel's dropdown |
/tickets category remove |
name* |
Manage Server |
Removes a category |
/tickets category list |
|
Manage Server |
Lists categories |
/tickets panel |
|
Manage Server |
Posts the panel, or updates it after changing categories |
/ticket add |
user* |
The opener or staff |
Adds someone to the ticket |
/ticket remove |
user* |
Staff |
Removes someone |
/ticket claim |
|
Staff |
Takes the ticket |
/ticket close |
reason |
The opener or staff |
Closes it and posts a transcript |
Security
All of these are hidden from members without Manage Server (and /lockdown from those without Manage Channels), but hiding is not the check. The handlers check again, and some need the server owner or someone on the trusted list whatever Discord permissions a person has.
In this table "Manage Server" also lets Administrators and trusted members through.
| Command |
Options |
Needs |
What it does |
/security status |
|
Manage Server |
What is on, and who is trusted |
/security toggle |
feature* (Join Gate, Raid mode, Anti-nuke, Heat), on* |
Manage Server to turn on; owner or trusted to turn off |
Turns a protection on or off |
/security alerts |
channel*, role |
Owner or trusted |
Alert channel and the role to ping |
/security quarantine-role |
role |
Owner or trusted |
Role given to quarantined members (empty for none) |
/security trust add |
user or role |
Owner only |
Exempts a user or role from anti-nuke |
/security trust remove |
user or role |
Owner only |
Removes that exemption |
/security quarantined |
|
Manage Server |
Lists quarantined members |
/security release |
user* |
Owner or trusted |
Releases a member and gives their roles back |
/security end-raid |
|
Owner or trusted |
Ends raid mode now |
/security snapshot |
|
Manage Server |
Saves roles and channels |
/security restore |
|
Owner or trusted |
Recreates deleted roles and channels from the latest snapshot |
/lockdown channel |
channel (default: this one) |
Manage Channels |
Locks a channel |
/lockdown server |
|
Manage Channels |
Locks every channel |
/lockdown joins |
action* (Kick or Ban) |
Manage Channels |
Kicks or bans new members until unlocked |
/unlock channel |
channel |
Owner or trusted |
Unlocks a channel |
/unlock server |
|
Owner or trusted |
Unlocks every channel |
/unlock joins |
|
Owner or trusted |
Lets people join again |
Beta
| Command |
Needs |
What it does |
/beta |
The bot's owner |
Shows how beta access is set up. Registered in the beta server only |
Beta features come and go. See Beta features.