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

This struct represents choices in a multiple choice option for a command parameter. It has both a string name, and a value parameter which is a variant, meaning it can hold different potential types (see dpp::command_value) that you can retrieve with std::get(). More...

#include <appcommand.h>

+ Inheritance diagram for dpp::command_option_choice:
+ Collaboration diagram for dpp::command_option_choice:

Public Member Functions

 command_option_choice ()=default
 Construct a new command option choice object. More...
 
virtual ~command_option_choice ()=default
 
command_option_choiceadd_localization (const std::string &language, const std::string &_name)
 Add a localisation for this command option choice. More...
 
 command_option_choice (const std::string &n, command_value v)
 Construct a new command option choice object. More...
 
command_option_choicefill_from_json (nlohmann::json *j)
 Convert object from nlohmann::json. More...
 
auto to_json (bool with_id=false) const
 Convert object to nlohmann::json. More...
 
std::string build_json (bool with_id=false) const
 Convert object to json string. More...
 

Public Attributes

std::string name
 Option name (1-32 chars). More...
 
command_value value
 Option value. More...
 
std::map< std::string, std::string > name_localizations
 Localisations of command option name. More...
 

Protected Member Functions

command_option_choicefill_from_json_impl (nlohmann::json *j)
 Fill object properties from JSON. More...
 

Friends

struct json_interface< command_option_choice >
 

Detailed Description

This struct represents choices in a multiple choice option for a command parameter. It has both a string name, and a value parameter which is a variant, meaning it can hold different potential types (see dpp::command_value) that you can retrieve with std::get().

Constructor & Destructor Documentation

◆ command_option_choice() [1/2]

dpp::command_option_choice::command_option_choice ( )
default

Construct a new command option choice object.

◆ ~command_option_choice()

virtual dpp::command_option_choice::~command_option_choice ( )
virtualdefault

◆ command_option_choice() [2/2]

dpp::command_option_choice::command_option_choice ( const std::string &  n,
command_value  v 
)

Construct a new command option choice object.

Parameters
nname to initialise with
vvalue to initialise with

Member Function Documentation

◆ add_localization()

command_option_choice & dpp::command_option_choice::add_localization ( const std::string &  language,
const std::string &  _name 
)

Add a localisation for this command option choice.

See also
https://discord.com/developers/docs/reference#locales
Parameters
languageName of language, see the list of locales linked to above
_namename of command option choice in the specified language
Returns
command_option_choice& reference to self for fluent chaining

◆ build_json()

std::string dpp::json_interface< command_option_choice >::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()

command_option_choice & dpp::json_interface< command_option_choice >::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()

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

Fill object properties from JSON.

Parameters
jJSON to fill from
Returns
command_option_choice& Reference to self

◆ to_json()

auto dpp::json_interface< command_option_choice >::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< command_option_choice >

friend struct json_interface< command_option_choice >
friend

Member Data Documentation

◆ name

std::string dpp::command_option_choice::name

Option name (1-32 chars).

◆ name_localizations

std::map<std::string, std::string> dpp::command_option_choice::name_localizations

Localisations of command option name.

◆ value

command_value dpp::command_option_choice::value

Option value.

D++ Library version 10.0.35D++ Library version 10.0.34D++ Library version 10.0.33D++ Library version 10.0.32D++ Library version 10.0.31D++ Library version 10.0.30D++ Library version 10.0.29D++ Library version 10.0.28D++ Library version 10.0.27D++ Library version 10.0.26D++ Library version 10.0.25D++ Library version 10.0.24D++ Library version 10.0.23D++ Library version 10.0.22D++ Library version 10.0.21D++ Library version 10.0.20D++ Library version 10.0.19D++ Library version 10.0.18D++ Library version 10.0.17D++ Library version 10.0.16D++ Library version 10.0.15D++ Library version 10.0.14D++ Library version 10.0.13D++ Library version 10.0.12D++ Library version 10.0.11D++ Library version 10.0.10D++ Library version 10.0.9D++ Library version 10.0.8D++ Library version 10.0.7D++ Library version 10.0.6D++ Library version 10.0.5D++ Library version 10.0.4D++ Library version 10.0.3D++ Library version 10.0.2D++ Library version 10.0.1D++ Library version 10.0.0D++ Library version 9.0.19D++ Library version 9.0.18D++ Library version 9.0.17D++ Library version 9.0.16D++ Library version 9.0.15D++ Library version 9.0.14D++ 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