View Source Nostrum.Struct.WSState (Nostrum v0.8.0)

Struct representing the current WS state.

Link to this section Summary

Types

PID of the :gun worker connected to the websocket

PID of the connection process

Gateway URL

Whether or not the last hearbeat sent was ACK'd

Interval at which heartbeats are sent

Time ref for the heartbeat

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 sequence number of the last event

The session id

The shard number

PID of the shard containing this state

Stream reference for :gun

t()

The highest shard number for this bot.

Reference to the current zlib context

Link to this section Types

@type conn() :: pid()

PID of the :gun worker connected to the websocket

@type conn_pid() :: pid()

PID of the connection process

@type gateway() :: String.t()

Gateway URL

@type heartbeat_ack() :: boolean()

Whether or not the last hearbeat sent was ACK'd

@type heartbeat_interval() :: pos_integer() | nil

Interval at which heartbeats are sent

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

Time ref for the heartbeat

@type 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

@type 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

@type seq() :: integer() | nil

The sequence number of the last event

@type session() :: integer() | nil

The session id

@type shard_num() :: non_neg_integer()

The shard number

@type shard_pid() :: pid()

PID of the shard containing this state

Link to this type

stream()

View Source (since 0.5.0)
@type stream() :: :gun.stream_ref()

Stream reference for :gun

@type t() :: %Nostrum.Struct.WSState{
  conn: conn(),
  conn_pid: conn_pid(),
  gateway: gateway(),
  heartbeat_ack: heartbeat_ack(),
  heartbeat_interval: heartbeat_interval(),
  heartbeat_ref: heartbeat_ref(),
  last_heartbeat_ack: last_heartbeat_ack(),
  last_heartbeat_send: last_heartbeat_send(),
  seq: seq(),
  session: session(),
  shard_num: shard_num(),
  shard_pid: shard_pid(),
  stream: stream(),
  total_shards: total_shards(),
  zlib_ctx: zlib_ctx()
}
Link to this type

total_shards()

View Source (since 0.8.0)
@type total_shards() :: non_neg_integer()

The highest shard number for this bot.

This may not be started locally, it is just used by nostrum to inform the gateway which events we are interested in.

@type zlib_ctx() :: reference() | nil

Reference to the current zlib context