D++ (DPP)
C++ Discord API Bot Library
dpp::gateway Struct Reference

Represents the various information from the 'get gateway bot' api call. More...

+ Inheritance diagram for dpp::gateway:
+ Collaboration diagram for dpp::gateway:

Public Member Functions

 gateway (nlohmann::json *j)
 Construct a new gateway object. More...
 
 gateway ()
 Construct a new gateway object. More...
 
template<typename U = T, typename = decltype(std::declval<U&>().fill_from_json_impl(std::declval<nlohmann::json*>()))>
T & fill_from_json (nlohmann::json *j)
 Convert object from nlohmann::json. More...
 
template<typename U = T, typename = decltype(std::declval<U&>().to_json_impl(bool{}))>
auto to_json (bool with_id=false) const
 Convert object to nlohmann::json. More...
 
template<typename U = T, typename = decltype(std::declval<U&>().to_json_impl(bool{}))>
std::string build_json (bool with_id=false) const
 Convert object to json string. More...
 

Public Attributes

std::string url
 Gateway websocket url. More...
 
uint32_t shards
 Number of suggested shards to start. More...
 
uint32_t session_start_total
 Total number of sessions that can be started. More...
 
uint32_t session_start_remaining
 How many sessions are left. More...
 
uint32_t session_start_reset_after
 How many seconds until the session start quota resets. More...
 
uint32_t session_start_max_concurrency
 How many sessions can be started at the same time. More...
 

Protected Member Functions

gatewayfill_from_json_impl (nlohmann::json *j)
 Fill this object from json. More...
 

Friends

struct json_interface< gateway >
 

Detailed Description

Represents the various information from the 'get gateway bot' api call.

Constructor & Destructor Documentation

◆ gateway() [1/2]

dpp::gateway::gateway ( nlohmann::json *  j)

Construct a new gateway object.

Parameters
jJSON data to construct from

◆ gateway() [2/2]

dpp::gateway::gateway ( )

Construct a new gateway object.

Member Function Documentation

◆ build_json()

template<typename T >
template<typename U = T, typename = decltype(std::declval<U&>().to_json_impl(bool{}))>
std::string dpp::json_interface< T >::build_json ( bool  with_id = false) const
inlineinherited

Convert object to json string.

Parameters
with_idWhether to include the ID or not
Note
Some fields are conditionally filled, do not rely on all fields being present
Returns
std::string Json built from the structure

◆ fill_from_json()

template<typename T >
template<typename U = T, typename = decltype(std::declval<U&>().fill_from_json_impl(std::declval<nlohmann::json*>()))>
T& dpp::json_interface< T >::fill_from_json ( nlohmann::json *  j)
inlineinherited

Convert object from nlohmann::json.

Parameters
jnlohmann::json object
Returns
T& Reference to self for fluent calling

◆ fill_from_json_impl()

gateway& dpp::gateway::fill_from_json_impl ( nlohmann::json *  j)
protected

Fill this object from json.

Parameters
jjson to fill from
Returns
gateway& reference to self

◆ to_json()

template<typename T >
template<typename U = T, typename = decltype(std::declval<U&>().to_json_impl(bool{}))>
auto dpp::json_interface< T >::to_json ( bool  with_id = false) const
inlineinherited

Convert object to nlohmann::json.

Parameters
with_idWhether to include the ID or not
Note
Some fields are conditionally filled, do not rely on all fields being present
Returns
json Json built from the structure

Friends And Related Function Documentation

◆ json_interface< gateway >

friend struct json_interface< gateway >
friend

Member Data Documentation

◆ session_start_max_concurrency

uint32_t dpp::gateway::session_start_max_concurrency

How many sessions can be started at the same time.

◆ session_start_remaining

uint32_t dpp::gateway::session_start_remaining

How many sessions are left.

◆ session_start_reset_after

uint32_t dpp::gateway::session_start_reset_after

How many seconds until the session start quota resets.

◆ session_start_total

uint32_t dpp::gateway::session_start_total

Total number of sessions that can be started.

◆ shards

uint32_t dpp::gateway::shards

Number of suggested shards to start.

◆ url

std::string dpp::gateway::url

Gateway websocket url.

D++ Library version 9.0.13D++ Library version 9.0.12D++ Library version 9.0.11D++ Library version 9.0.10D++ Library version 9.0.9D++ Library version 9.0.8D++ Library version 9.0.7D++ Library version 9.0.6D++ Library version 9.0.5D++ Library version 9.0.4D++ Library version 9.0.3D++ Library version 9.0.2D++ Library version 9.0.1D++ Library version 9.0.0D++ Library version 1.0.2D++ Library version 1.0.1D++ Library version 1.0.0