fluxer/fluxer_docs/schemas/events/VOICE_STATE_UPDATE.json
2026-02-17 12:22:36 +00:00

89 lines
2.2 KiB
JSON

{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"name": "VOICE_STATE_UPDATE",
"description": "Sent when a user's voice state is updated (join/leave/move voice channel, mute/deafen).",
"scope": "guild",
"dispatchedBy": ["gateway"],
"note": "Triggered by client sending VOICE_STATE_UPDATE opcode (4)",
"payload": {
"type": "object",
"properties": {
"guild_id": {
"type": "string",
"description": "Guild ID (only present for guild voice, not for DM calls)"
},
"channel_id": {
"type": ["string", "null"],
"description": "Channel ID the user is in (null if disconnected)"
},
"user_id": {
"type": "string",
"description": "User ID"
},
"connection_id": {
"type": "string",
"description": "Connection ID for this voice state"
},
"session_id": {
"type": "string",
"description": "Session ID for this voice state"
},
"member": {
"$ref": "GuildMemberResponse",
"description": "Guild member object (if guild voice)"
},
"deaf": {
"type": "boolean",
"description": "Whether the user is server deafened"
},
"mute": {
"type": "boolean",
"description": "Whether the user is server muted"
},
"self_deaf": {
"type": "boolean",
"description": "Whether the user is self deafened"
},
"self_mute": {
"type": "boolean",
"description": "Whether the user is self muted"
},
"self_video": {
"type": "boolean",
"description": "Whether the user's camera is on"
},
"self_stream": {
"type": "boolean",
"description": "Whether the user is streaming"
},
"is_mobile": {
"type": "boolean",
"description": "Whether the user is connected from a mobile device"
},
"viewer_stream_keys": {
"type": "array",
"items": {
"type": "string"
},
"description": "An array of stream keys the user is currently viewing"
},
"version": {
"type": "integer",
"description": "Voice state version number, incremented on each update"
}
},
"required": [
"user_id",
"connection_id",
"mute",
"deaf",
"self_mute",
"self_deaf",
"self_video",
"self_stream",
"is_mobile",
"version"
]
}
}