Files
velox-bot/docs/commands.md
T
FernandoJVideiraandClaude Sonnet 5.5 30cbd9a798 Help and docs for the new commands
- /help is sent as a few messages (Discord caps an embed at 6000 characters), with a test for the limits
- command reference, features, self-hosting, beta and getting-started pages describe the commands; the SQL section is gone
- development and contributing: every setting needs a command

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-23 02:11:44 +01:00

12 KiB

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
/slvl remove-reward level* Manage Server, leveling on Removes a level's role reward
/slvl status Manage Server Shows the leveling settings
/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
/music skip DJ role Skips the current song
/music pause, /music resume DJ role Pauses or resumes
/music stop DJ role Stops and clears the queue
/music repeat mode* (off, song, queue) DJ role Repeats the song, the queue, or nothing
/music remove position* (its number in /queue) DJ role Removes a queued song
/music move from, to DJ role Moves a queued song

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
/moderation bans Ban Members Lists banned users, with their IDs
/moderation timeouts Moderate Members Lists members who are timed out now

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 view Shows the welcome, default role, logging and Twitch settings
/config clear setting* (welcome-channel, welcome-message, welcome-dm, welcome-gif, default-role, log-channel) Clears one
/config toggletwitch enabled* Turns Twitch live notifications on or off
/config streamers Lists the watched streamers
/config beta-features enabled Lets testers use beta features here. Only the server owner can change it. Leave out enabled to see the state
/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 category edit name*, new-name, staff-role, clear-staff-role, emoji, description Manage Server Changes a category (- removes the emoji or description)
/tickets panel Manage Server Posts the panel, or updates it after changing categories
/tickets settings enabled, panel-title, panel-description, max-open Manage Server Shows the settings, or changes the ones you give
/tickets list status (open or closed) Manage Server Lists recent tickets
/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 settings Manage Server Shows every setting
/security history Manage Server Shows the latest security events
/security joingate check check* (no-avatar, new-account, invite-in-name, blocked-names, unverified-bot, unauthorized-bot), action* Owner or trusted What happens when a check catches a new member
/security joingate account-age days* (1 to 365) Owner or trusted How old an account must be
/security words add, remove list* (username or chat), word* Owner or trusted Blocked words for new members' names (Join Gate) or messages (heat)
/security words list list* Manage Server Shows a list
/security raid join-count, join-seconds, action, pause-invites, quiet-minutes Owner or trusted Tunes raid mode
/security antinuke set window-seconds, lock-server, auto-restore Owner or trusted Tunes anti-nuke
/security antinuke limit action, count (0 to 100) Owner or trusted How many times someone may do an action in the window (0: never)
/security heat strictness, action, timeout-minutes, escalate, panic-members, mention-lockdown Owner or trusted Tunes the spam heat system
/security alert-dms on* Owner or trusted DM critical alerts to the owner and trusted users
/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 status The bot's owner, in a DM with the bot Shows how beta access is set up
/beta set The bot's owner, in a DM server-id* and role-id*: chooses the beta server and the Beta Tester role
/beta off The bot's owner, in a DM Turns beta features off for everyone
/beta servers The bot's owner, in a DM Lists the servers that opted in
/beta remove-server The bot's owner, in a DM server-id*: takes a server out of the beta

/beta is registered globally but only works in a direct message with the bot, so it is in no server's menu. A server opts itself in with /config beta-features (its owner). Other beta commands appear only in the beta server and in servers that opted in, and only testers can run them. See Beta features.