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

Represents a modal dialog box response to an interaction. More...

#include <slashcommand.h>

+ Inheritance diagram for dpp::interaction_modal_response:
+ Collaboration diagram for dpp::interaction_modal_response:

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_responseset_custom_id (const std::string &_custom_id)
 Set the custom id. More...
 
interaction_modal_responseset_title (const std::string &_title)
 Set the title. More...
 
interaction_modal_responseadd_component (const component &c)
 Add a component to an interaction modal response. More...
 
interaction_modal_responseadd_row ()
 Add a new row to the interaction modal response. More...
 
interaction_modal_responsefill_from_json (nlohmann::json *j)
 Fill object properties from JSON. More...
 
virtual std::string build_json () const
 Build a json string for this object. More...
 
virtual ~interaction_modal_response ()=default
 Destroy the interaction modal response object. More...
 
interaction_responseadd_autocomplete_choice (const command_option_choice &achoice)
 Add a command option choice. More...
 

Public Attributes

std::string custom_id
 Custom ID for the modal form. More...
 
std::string title
 Title of the modal form box. 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...
 
struct messagemsg
 A message object. This pointer is always valid while the containing interaction_response exists. More...
 
std::vector< command_option_choiceautocomplete_choices
 Array of up to 25 autocomplete choices. More...
 

Detailed Description

Represents a modal dialog box response to an interaction.

Note
This is currently experimental

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.

Constructor & Destructor Documentation

◆ interaction_modal_response() [1/2]

dpp::interaction_modal_response::interaction_modal_response ( )

Construct a new interaction modal response object.

◆ interaction_modal_response() [2/2]

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.

Parameters
_custom_idCustom ID of the modal form
_titleTitle of the modal form
_componentsComponents to add to the modal form

◆ ~interaction_modal_response()

virtual dpp::interaction_modal_response::~interaction_modal_response ( )
virtualdefault

Destroy the interaction modal response object.

Member Function Documentation

◆ add_autocomplete_choice()

interaction_response & dpp::interaction_response::add_autocomplete_choice ( const command_option_choice achoice)
inherited

Add a command option choice.

Parameters
achoicecommand option choice to add
Returns
interaction_response& Reference to self

◆ add_component()

interaction_modal_response & dpp::interaction_modal_response::add_component ( const component c)

Add a component to an interaction modal response.

Parameters
ccomponent to add
Returns
interaction_modal_response& Reference to self

◆ add_row()

interaction_modal_response & dpp::interaction_modal_response::add_row ( )

Add a new row to the interaction modal response.

Note
A modal response can have a maximum of five rows.
Exceptions
dpp::logic_exceptionif more than five rows are attempted to be added
Returns
interaction_modal_response& Reference to self

◆ build_json()

virtual std::string dpp::interaction_modal_response::build_json ( ) const
virtual

Build a json string for this object.

Returns
std::string JSON string

Reimplemented from dpp::interaction_response.

◆ fill_from_json()

interaction_modal_response & dpp::interaction_modal_response::fill_from_json ( nlohmann::json j)

Fill object properties from JSON.

Parameters
jJSON to fill from
Returns
interaction_response& Reference to self

◆ set_custom_id()

interaction_modal_response & dpp::interaction_modal_response::set_custom_id ( const std::string &  _custom_id)

Set the custom id.

Parameters
_custom_idcustom id to set
Returns
interaction_modal_response& Reference to self

◆ set_title()

interaction_modal_response & dpp::interaction_modal_response::set_title ( const std::string &  _title)

Set the title.

Parameters
_titletitle to set
Returns
interaction_modal_response& Reference to self

Member Data Documentation

◆ autocomplete_choices

std::vector<command_option_choice> dpp::interaction_response::autocomplete_choices
inherited

Array of up to 25 autocomplete choices.

◆ components

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.

◆ custom_id

std::string dpp::interaction_modal_response::custom_id

Custom ID for the modal form.

◆ msg

struct message* dpp::interaction_response::msg
inherited

A message object. This pointer is always valid while the containing interaction_response exists.

◆ title

std::string dpp::interaction_modal_response::title

Title of the modal form box.

◆ type

interaction_response_type dpp::interaction_response::type
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.

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