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

Struct representing the current WS state.

Summary

Types

Reference to the current compression context

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

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

Gateway URL to use for resuming.

The sequence number of the last event

The session id

The shard number

Stream reference for :gun

t()

The highest shard number for this bot.

Types

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

Reference to the current compression context

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

Link to this type

resume_gateway()

View Source (since 0.9.0)
@type resume_gateway() :: String.t() | nil

Gateway URL to use for resuming.

@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

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{
  compress_ctx: compress_ctx(),
  conn: conn(),
  conn_pid: conn_pid(),
  gateway: gateway(),
  heartbeat_ack: heartbeat_ack(),
  heartbeat_interval: heartbeat_interval(),
  last_heartbeat_ack: last_heartbeat_ack(),
  last_heartbeat_send: last_heartbeat_send(),
  resume_gateway: resume_gateway(),
  seq: seq(),
  session: session(),
  shard_num: shard_num(),
  stream: stream(),
  total_shards: total_shards()
}
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.