D++ (DPP)
C++ Discord API Bot Library
|
Represents a modal dialog box response to an interaction. More...
Public Member Functions | |
interaction_modal_response () | |
Construct a new interaction modal response object. More... | |
interaction_modal_response (const std::string &_custom_id, const std::string &_title, const std::vector< component > _components={}) | |
Construct a new interaction modal response object. More... | |
interaction_modal_response & | set_custom_id (const std::string &_custom_id) |
Set the custom id. More... | |
interaction_modal_response & | set_title (const std::string &_title) |
Set the title. More... | |
interaction_modal_response & | add_component (const component &c) |
Add a component to an interaction modal response. More... | |
interaction_modal_response & | add_row () |
Add a new row to the interaction modal response. More... | |
virtual | ~interaction_modal_response ()=default |
Destroy the interaction modal response object. More... | |
interaction_response & | add_autocomplete_choice (const command_option_choice &achoice) |
Add a command option choice. More... | |
interaction_response & | fill_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... | |
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 | custom_id |
Custom ID for the modal form. More... | |
std::string | title |
Title of the modal form box (max 25 characters) More... | |
std::vector< std::vector< component > > | components |
List of components. All components must be placed within an action row, each outer vector is the action row. More... | |
interaction_response_type | type {} |
Response type from dpp::interaction_response_type. Should be one of ir_pong, ir_channel_message_with_source, or ir_deferred_channel_message_with_source. More... | |
message | msg {} |
Message tied to this response. More... | |
std::vector< command_option_choice > | autocomplete_choices {} |
Array of up to 25 autocomplete choices. More... | |
Protected Member Functions | |
virtual interaction_modal_response & | fill_from_json_impl (nlohmann::json *j) |
Fill object properties from JSON. More... | |
virtual json | to_json_impl (bool with_id=false) const |
Build a json for this object. More... | |
Protected Attributes | |
size_t | current_row |
Friends | |
struct | json_interface< interaction_modal_response > |
Represents a modal dialog box response to an interaction.
A dialog box is a modal popup which appears to the user instead of a message. One or more components are displayed on a form (the same component structure as within a dpp::message). When the user submits the form an on_form_submit event is dispatched to any listeners.
dpp::interaction_modal_response::interaction_modal_response | ( | ) |
Construct a new interaction modal response object.
dpp::interaction_modal_response::interaction_modal_response | ( | const std::string & | _custom_id, |
const std::string & | _title, | ||
const std::vector< component > | _components = {} |
||
) |
Construct a new interaction modal response object.
_custom_id | Custom ID of the modal form |
_title | Title of the modal form. It will be truncated to the maximum length of 45 UTF-8 characters. |
_components | Components to add to the modal form |
|
virtualdefault |
Destroy the interaction modal response object.
|
inherited |
Add a command option choice.
achoice | command option choice to add |
interaction_modal_response& dpp::interaction_modal_response::add_component | ( | const component & | c | ) |
Add a component to an interaction modal response.
c | component to add |
interaction_modal_response& dpp::interaction_modal_response::add_row | ( | ) |
Add a new row to the interaction modal response.
dpp::logic_exception | if more than five rows are attempted to be added |
|
inlineinherited |
Convert object to json string.
with_id | Whether to include the ID or not |
|
inlineinherited |
Convert object to json string.
with_id | Whether to include the ID or not |
|
inlineinherited |
Convert object from nlohmann::json.
j | nlohmann::json object |
|
inlineinherited |
Convert object from nlohmann::json.
j | nlohmann::json object |
|
protectedvirtual |
Fill object properties from JSON.
j | JSON to fill from |
Reimplemented from dpp::interaction_response.
interaction_modal_response& dpp::interaction_modal_response::set_custom_id | ( | const std::string & | _custom_id | ) |
Set the custom id.
_custom_id | custom id to set |
interaction_modal_response& dpp::interaction_modal_response::set_title | ( | const std::string & | _title | ) |
|
inlineinherited |
Convert object to nlohmann::json.
with_id | Whether to include the ID or not |
|
inlineinherited |
Convert object to nlohmann::json.
with_id | Whether to include the ID or not |
|
protectedvirtual |
Build a json for this object.
with_id | include id in json output |
Reimplemented from dpp::interaction_response.
|
friend |
|
inherited |
Array of up to 25 autocomplete choices.
std::vector<std::vector<component> > dpp::interaction_modal_response::components |
List of components. All components must be placed within an action row, each outer vector is the action row.
|
protected |
std::string dpp::interaction_modal_response::custom_id |
Custom ID for the modal form.
|
inherited |
Message tied to this response.
std::string dpp::interaction_modal_response::title |
Title of the modal form box (max 25 characters)
|
inherited |
Response type from dpp::interaction_response_type. Should be one of ir_pong, ir_channel_message_with_source, or ir_deferred_channel_message_with_source.