Developer Portal
Experimental The bot & app platform is in active development and currently works only on cloud-hosted GameVox servers. Self-hosted servers are not supported yet.
← Docs

Permissions

Bots receive permissions as a Discord-shape 53-bit integer bitfield. The bits and meanings match Discord; the values come from GameVox's native group + channel permission tables. Bits without a GameVox equivalent return 0.

Native → Discord mapping

Discord bitHexGameVox source
ADMINISTRATOR0x8groups.group_type IN ('owner', 'admin')
VIEW_CHANNEL0x400channel_permissions.view_channel / group_permissions.view_channels
READ_MESSAGE_HISTORY0x10000Same as VIEW_CHANNEL (no separate history toggle)
SEND_MESSAGES0x800send_messages
MANAGE_MESSAGES0x2000manage_messages
EMBED_LINKS0x4000can_post_links
ATTACH_FILES0x8000send_files
ADD_REACTIONS0x40add_reactions
MENTION_EVERYONE0x20000Admin-only in v1
CONNECT (voice)0x100000join_voice
SPEAK0x200000speak_in_voice
STREAM (screen share)0x200screen_share
USE_VAD0x2000000use_vad (default true; setting false forces PTT)
KICK_MEMBERS0x2kick_users != 'deny'
BAN_MEMBERS0x4ban_users != 'deny'
MUTE_MEMBERS0x400000mute_users != 'deny'
MOVE_MEMBERS0x1000000move_users != 'deny'
MANAGE_CHANNELS0x10create_channels / edit_channels / delete_channels all not 'deny'
MANAGE_GUILD0x20edit_server != 'deny'
MANAGE_ROLES0x10000000manage_members
MANAGE_WEBHOOKS0x20000000Owner / admin in v1
VIEW_AUDIT_LOG0x80Owner / admin in v1

Bits that always return zero

These have no equivalent in GameVox yet and are reported as unset. Bots that depend on them should degrade gracefully (most libraries treat a denied bit as "feature not supported here" already).

  • MANAGE_THREADS, USE_PUBLIC_THREADS, USE_PRIVATE_THREADS — threads are stubbed in v1.
  • MODERATE_MEMBERS (timeout) — no native equivalent.
  • USE_EMBEDDED_ACTIVITIES — no Activities feature.
  • USE_SOUNDBOARD, SEND_VOICE_MESSAGES — not implemented.
  • Monetization bits — no Premium Apps.

Permission computation

Identical to Discord's 7-step algorithm:

  1. Start with @everyone permissions for the guild.
  2. OR in every role the member has.
  3. If the result includes ADMINISTRATOR, short-circuit — they have everything.
  4. Apply @everyone channel overwrites (allow then deny).
  5. Apply each role's channel overwrites (allow then deny).
  6. Apply the user's channel overwrites (allow then deny).
  7. If the channel is in a category, the category's overwrites apply at the role / user step too.

Role hierarchy

Native groups.rank maps to Discord role.position. A bot can manage roles strictly below its own highest role's position, matching Discord's rules. Calls to PATCH .../members/{id}/roles/{rid} with a role at or above the bot's top role return 403.

Timeouts

Discord's communication_disabled_until field has no GameVox equivalent in v1. A PATCH to a member with that field set returns 400 with a clear error. Use kick / mute / ban instead.

← Back to docs