Developer Portal
Experimental The bot & app platform is in active development. Self-hosted server support shipped on 2026-08-13 with a smaller feature surface than cloud. See what's supported.
← Docs

Slash commands

Application commands register exactly as they do on Discord — the same endpoints, the same payloads, the same libraries. One rule is different: GameVox ships built-in commands of its own, and their names are reserved.

Registering

Unchanged from Discord. All four routes work, global and per-guild, create and bulk-overwrite:

POST /api/v10/applications/{application_id}/commands
PUT  /api/v10/applications/{application_id}/commands
POST /api/v10/applications/{application_id}/guilds/{guild_id}/commands
PUT  /api/v10/applications/{application_id}/guilds/{guild_id}/commands

Reserved names

GameVox answers the commands below itself. Registering one of these names is refused with 400 and Discord error code 50035; the message names the command so the failure is obvious in your deploy log.

The reason is the member, not the platform. GameVox shows built-in and app commands in a single picker with no namespace, so two commands called ban appear as two identical rows with nothing to choose between them. For a moderation command that is worse than an error — nobody should have to wonder which /ban they just ran.

GroupReserved namesWhat GameVox does with them
Moderation ban unban kick clear slowmode Acts on the server directly, under the caller's own GameVox permissions.
Fun 8ball flip choice ascii qrcode love Answers in the channel.
Info serverinfo userinfo avatar Shows what the caller can already see in the UI.
Member afk remindme welcome goodbye Away notes, reminders, and the join/leave message for the server.
Client me poll shrug tableflip unflip lenny Handled by the GameVox client without reaching a server.

Matching is case-insensitive and ignores surrounding whitespace: Ban collides with ban, because the picker matches names that way too.

If you already registered one

A command registered before its name was reserved stays in the database, but it is dropped from the member's picker and refused if invoked. Rename it and re-register; nothing else about your app is affected.

Names that are not reserved

Only exact matches are taken. banish, clearall and server-info are all yours. So is warn: GameVox has no warning command, because reporting a member is handled through the report flow instead.

Prefixing your commands with something short and specific to your app is worth doing anyway, reserved or not — it is what stops two installed apps colliding with each other, which GameVox does not arbitrate.

Permissions still apply

Reserving a name has nothing to do with who may run your commands. That is unchanged and default-deny: a registered command is runnable by the server owner until an operator grants it to a group in Server Settings → Integrations. See Permissions.