View Source Nostrum.Struct.VoiceWSState (Nostrum v0.6.1)

Struct representing the current Voice WS state.

Link to this section Summary

Types

The channel id that this voice websocket state applies to

PID of the :gun worker connected to the websocket

PID of the connection process

Gateway URL

The guild id that this voice websocket state applies to

Whether or not the last heartbeat sent was ACK'd

Interval at which heartbeats are sent

Time ref for the heartbeat

Whether the session has been identified

The time the last heartbeat was acknowledged, will be nil if a heartbeat hasn't been ACK'd yet

The time the last heartbeat was sent, if a heartbeat hasn't been sent it will be the time the websocket process was started

The secret key for audio encryption

The session id

A mapping of RTP SSRC (synchronization source) to user id

Stream reference for :gun

t()

The session token

Link to this section Types

Link to this type

channel_id()

View Source (since 0.6.0)

Specs

channel_id() :: Nostrum.Struct.Channel.id()

The channel id that this voice websocket state applies to

Specs

conn() :: pid()

PID of the :gun worker connected to the websocket

Specs

conn_pid() :: pid()

PID of the connection process

Specs

gateway() :: String.t()

Gateway URL

Specs

guild_id() :: Nostrum.Struct.Guild.id()

The guild id that this voice websocket state applies to

Specs

heartbeat_ack() :: boolean()

Whether or not the last heartbeat sent was ACK'd

Specs

heartbeat_interval() :: integer() | nil

Interval at which heartbeats are sent

Specs

heartbeat_ref() :: :timer.tref() | nil

Time ref for the heartbeat

Specs

identified() :: boolean()

Whether the session has been identified

Specs

last_heartbeat_ack() :: DateTime.t() | nil

The time the last heartbeat was acknowledged, will be nil if a heartbeat hasn't been ACK'd yet

Specs

last_heartbeat_send() :: DateTime.t()

The time the last heartbeat was sent, if a heartbeat hasn't been sent it will be the time the websocket process was started

Link to this type

secret_key()

View Source (since 0.6.0)

Specs

secret_key() :: binary() | nil

The secret key for audio encryption

Specs

session() :: String.t()

The session id

Link to this type

ssrc_map()

View Source (since 0.6.0)

Specs

ssrc_map() :: %{required(integer()) => Nostrum.Struct.User.id()}

A mapping of RTP SSRC (synchronization source) to user id

This map can be used to identify the user who generated the incoming audio data when an RTP packet is received.

Specs

stream() :: :gun.stream_ref()

Stream reference for :gun

Specs

t() :: %Nostrum.Struct.VoiceWSState{
  channel_id: channel_id(),
  conn: conn(),
  conn_pid: conn_pid(),
  gateway: gateway(),
  guild_id: guild_id(),
  heartbeat_ack: heartbeat_ack(),
  heartbeat_interval: heartbeat_interval(),
  heartbeat_ref: heartbeat_ref(),
  identified: identified(),
  last_heartbeat_ack: last_heartbeat_ack(),
  last_heartbeat_send: last_heartbeat_send(),
  secret_key: secret_key(),
  session: session(),
  ssrc_map: ssrc_map(),
  stream: stream(),
  token: token()
}

Specs

token() :: String.t()

The session token