~.constants
Constants
Audio
Collection of audio-related constants.
FRAME_LENGTH
class-attribute
instance-attribute
FRAME_LENGTH: int = 20
Length of Opus frame in milliseconds.
MAX_JITTER
class-attribute
instance-attribute
MAX_JITTER: float = 50.0
Maximum jitter in milliseconds before a warning is issued.
MAX_PACKET_LOSS
class-attribute
instance-attribute
MAX_PACKET_LOSS: float = 0.05
Maximum packet loss as a percentage before a warning is issued.
SAMPLES_PER_FRAME
class-attribute
instance-attribute
SAMPLES_PER_FRAME: int = int(
SAMPLING_RATE / 1000 * FRAME_LENGTH
)
Amount of samples per Opus frame.
CloseCode
Bases: IntEnum
Collection of a voice close event codes.
NORMAL
class-attribute
instance-attribute
NORMAL = 1000
Closed normally.
GOING_AWAY
class-attribute
instance-attribute
GOING_AWAY = 1001
Closed with going away.
UNKNOWN_OPCODE
class-attribute
instance-attribute
UNKNOWN_OPCODE = 4001
Client sent an invalid opcode.
FAILED_TO_DECODE_PAYLOAD
class-attribute
instance-attribute
FAILED_TO_DECODE_PAYLOAD = 4002
Client send an invalid payload during IDENTIFY.
NOT_AUTHENTICATED
class-attribute
instance-attribute
NOT_AUTHENTICATED = 4003
Client sent a payload before IDENTIFY.
AUTHENTICATION_FAILED
class-attribute
instance-attribute
AUTHENTICATION_FAILED = 4004
Client sent an incorrect token in IDENTIFY.
ALREADY_AUTHENTICATED
class-attribute
instance-attribute
ALREADY_AUTHENTICATED = 4005
Client sent more than one IDENTIFY.
SESSION_NO_LONGER_VALID
class-attribute
instance-attribute
SESSION_NO_LONGER_VALID = 4006
Client session is not longer valid. Reconnection required.
SESSION_TIMEOUT
class-attribute
instance-attribute
SESSION_TIMEOUT = 4009
Client session timed out. Reconnection required.
SERVER_NOT_FOUND
class-attribute
instance-attribute
SERVER_NOT_FOUND = 4011
Client attempted to connect to a server that wasn't found.
UNKNOWN_PROTOCOL
class-attribute
instance-attribute
UNKNOWN_PROTOCOL = 4012
Client sent a protocol that is unrecognized by the server.
DISCONNECTED
class-attribute
instance-attribute
DISCONNECTED = 4014
Client was disconnected. No reconnection.
VOICE_SERVER_CRASHED
class-attribute
instance-attribute
VOICE_SERVER_CRASHED = 4015
Server crashed. Resume required.
UNKNOWN_ENCRYPTION_MODE
class-attribute
instance-attribute
UNKNOWN_ENCRYPTION_MODE = 4016
Client sent an unrecognized encryption method.
BAD_REQUEST
class-attribute
instance-attribute
BAD_REQUEST = 4020
Client send a malformed request.
DISCONNECTED_RATE_LIMITED
class-attribute
instance-attribute
DISCONNECTED_RATE_LIMITED = 4021
Client was disconnected due to rate limit being exceeded. No reconnection.
DISCONNECTED_CALL_TERMINATED
class-attribute
instance-attribute
DISCONNECTED_CALL_TERMINATED = 4022
Client was disconnected due to call being terminated. No reconnection.
Constants
Opcode
Bases: IntEnum
Collection of voice gateway operation codes.
IDENTIFY
class-attribute
instance-attribute
IDENTIFY = 0
CLIENT/JSON - Begin a voice websocket connection.
SELECT_PROTOCOL
class-attribute
instance-attribute
SELECT_PROTOCOL = 1
CLIENT/JSON - Select the voice protocol.
READY
class-attribute
instance-attribute
READY = 2
SERVER/JSON - Complete the websocket handshake.
HEARTBEAT
class-attribute
instance-attribute
HEARTBEAT = 3
CLIENT/JSON:BYTE - Keep the websocket connection alive.
SESSION_DESCRIPTION
class-attribute
instance-attribute
SESSION_DESCRIPTION = 4
SERVER/JSON - Describe the session.
SPEAKING
class-attribute
instance-attribute
SPEAKING = 5
CLIENT:SERVER/JSON - Indicate which users are speaking.
HEARTBEAT_ACK
class-attribute
instance-attribute
HEARTBEAT_ACK = 6
SERVER/JSON - Sent to acknowledge a received client heartbeat.
RESUME
class-attribute
instance-attribute
RESUME = 7
CLIENT/JSON - Resume a connection.
HELLO
class-attribute
instance-attribute
HELLO = 8
SERVER/JSON - Time to wait between sending heartbeats in milliseconds.
RESUMED
class-attribute
instance-attribute
RESUMED = 9
SERVER/JSON - Acknowledge a successful session resume.
CLIENTS_CONNECT
class-attribute
instance-attribute
CLIENTS_CONNECT = 11
SERVER/JSON - One or more clients have connection to the voice channel.
CLIENT_DISCONNECT
class-attribute
instance-attribute
CLIENT_DISCONNECT = 13
SERVER/JSON - A client has disconnected from the voice channel.
DAVE_PREPARE_TRANSITION
class-attribute
instance-attribute
DAVE_PREPARE_TRANSITION = 21
SERVER/JSON - A downgrade from the DAVE protocol is upcoming.
DAVE_EXECUTE_TRANSITION
class-attribute
instance-attribute
DAVE_EXECUTE_TRANSITION = 22
SERVER/JSON - Execute a previously announced protocol transition.
DAVE_TRANSITION_READY
class-attribute
instance-attribute
DAVE_TRANSITION_READY = 23
CLIENT/JSON - Acknowledge readiness previously announced transition.
DAVE_PREPARE_EPOCH
class-attribute
instance-attribute
DAVE_PREPARE_EPOCH = 24
SERVER/JSON - A DAVE protocol version or group change is upcoming.
DAVE_MLS_EXTERNAL_SENDER
class-attribute
instance-attribute
DAVE_MLS_EXTERNAL_SENDER = 25
SERVER/BYTE - Credential and public key for MLS external sender.
DAVE_MLS_KEY_PACKAGE
class-attribute
instance-attribute
DAVE_MLS_KEY_PACKAGE = 26
CLIENT/BYTE - MLS Key Package for pending group member.
DAVE_MLS_PROPOSALS
class-attribute
instance-attribute
DAVE_MLS_PROPOSALS = 27
SERVER/BYTE - MLS Proposals to be appended or revoked.
DAVE_MLS_COMMIT_WELCOME
class-attribute
instance-attribute
DAVE_MLS_COMMIT_WELCOME = 28
CLIENT/BYTE - MLS Commit with optional MLS welcome messages.
DAVE_MLS_ANNOUNCE_COMMIT_TRANSITION
class-attribute
instance-attribute
DAVE_MLS_ANNOUNCE_COMMIT_TRANSITION = 29
SERVER/BYTE - MLS Commit to be processed for upcoming transition.
DAVE_MLS_WELCOME
class-attribute
instance-attribute
DAVE_MLS_WELCOME = 30
SERVER/BYTE - MLS Welcome to group for upcoming transition.
DAVE_MLS_INVALID_COMMIT_WELCOME
class-attribute
instance-attribute
DAVE_MLS_INVALID_COMMIT_WELCOME = 31
CLIENT/JSON - Flag invalid commit or welcome, request re-add.
SpeakingFlag
Bases: IntFlag
Collection of voice gateway SPEAKING flags.
VOICE
class-attribute
instance-attribute
VOICE = 1 << 0
Set state to actively speaking.
SOUNDSHARE
class-attribute
instance-attribute
SOUNDSHARE = 1 << 1
Sharing contextual audio with no speaking indicator.
PRIORITY
class-attribute
instance-attribute
PRIORITY = 1 << 2
Hoist audio volume and lower other user volumes.