Voice State Object
Used to represent a user’s voice connection status.Voice State Structure
| Field | Type | Description |
|---|---|---|
| guild_id? | snowflake | the guild id this voice state is for |
| channel_id | ?snowflake | the channel id this user is connected to |
| user_id | snowflake | the user id this voice state is for |
| member? | guild member object | the guild member this voice state is for |
| session_id | string | the session id for this voice state |
| deaf | boolean | whether this user is deafened by the server |
| mute | boolean | whether this user is muted by the server |
| self_deaf | boolean | whether this user is locally deafened |
| self_mute | boolean | whether this user is locally muted |
| self_stream? | boolean | whether this user is streaming using “Go Live” |
| self_video | boolean | whether this user’s camera is enabled |
| suppress | boolean | whether this user’s permission to speak is denied |
| request_to_speak_timestamp | ?ISO8601 timestamp | the time at which the user requested to speak |
Example Voice State
Voice Region Object
Voice Region Structure
| Field | Type | Description |
|---|---|---|
| id | string | unique ID for the region |
| name | string | name of the region |
| optimal | boolean | true for a single server that is closest to the current user’s client |
| deprecated | boolean | whether this is a deprecated voice region (avoid switching to these) |
| custom | boolean | whether this is a custom voice region (used for events/etc) |
List Voice Regions
Returns an array of voice region objects that can be used when setting a voice or stage channel’srtc_region.
Get Current User Voice State
Returns the current user’s voice state in the guild.Get User Voice State
Returns the specified user’s voice state in the guild. If the specified user is connected to a voice channel, the current user must have permission to connect to the channel.Modify Current User Voice State
Updates the current user’s voice state. Returns204 No Content on success. Fires a Voice State Update Gateway event.
JSON Params
| Field | Type | Description |
|---|---|---|
| channel_id? | snowflake | the id of the channel the user is currently in |
| suppress? | boolean | toggles the user’s suppress state |
| request_to_speak_timestamp? | ?ISO8601 timestamp | sets the user’s request to speak |
Caveats
There are currently several caveats for this endpoint:channel_idmust currently point to a stage channel.- current user must already have joined
channel_id. - You must have the
MUTE_MEMBERSpermission to unsuppress yourself. You can always suppress yourself. - You must have the
REQUEST_TO_SPEAKpermission to request to speak. You can always clear your own request to speak. - You are able to set
request_to_speak_timestampto any present or future time.
Modify User Voice State
Updates another user’s voice state. Returns204 No Content on success. Fires a Voice State Update Gateway event.
JSON Params
| Field | Type | Description |
|---|---|---|
| channel_id? | snowflake | the id of the channel the user is currently in |
| suppress? | boolean | toggles the user’s suppress state |
Caveats
There are currently several caveats for this endpoint:channel_idmust currently point to a stage channel.- User must already have joined
channel_id. - You must have the
MUTE_MEMBERSpermission. (Since suppression is the only thing that is available currently.) - When unsuppressed, non-bot users will have their
request_to_speak_timestampset to the current time. Bot users will not. - When suppressed, the user will have their
request_to_speak_timestampremoved.