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.
| Group | Reserved names | What 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.