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

Create interaction. More...

#include <dispatcher.h>

+ Inheritance diagram for dpp::interaction_create_t:
+ Collaboration diagram for dpp::interaction_create_t:

Public Member Functions

 interaction_create_t (class discord_client *client, const std::string &raw)
 
void reply (interaction_response_type t, const message &m, command_completion_event_t callback={}) const
 Send a reply for this interaction. More...
 
void reply (interaction_response_type t, const std::string &mt, command_completion_event_t callback={}) const
 Send a reply for this interaction. More...
 
void reply (const message &m, command_completion_event_t callback={}) const
 Send a reply for this interaction. Uses the default type of ir_channel_message_with_source, a simple message reply. More...
 
void reply (const std::string &mt, command_completion_event_t callback={}) const
 Send a reply for this interaction. Uses the default type of ir_channel_message_with_source, a simple message reply. More...
 
void dialog (const interaction_modal_response &mr, command_completion_event_t callback={}) const
 Reply to interaction with a dialog box. More...
 
void get_original_response (command_completion_event_t callback) const
 Get original response message for this interaction. More...
 
void edit_response (const message &m, command_completion_event_t callback={}) const
 Edit the response for this interaction. More...
 
void edit_response (const std::string &mt, command_completion_event_t callback={}) const
 Edit the response for this interaction. More...
 
void delete_original_response (command_completion_event_t callback={})
 Delete the original response for this interaction. More...
 
void thinking (bool ephemeral=false, command_completion_event_t callback={}) const
 Set the bot to 'thinking' state. More...
 
virtual const command_valueget_parameter (const std::string &name) const
 Get a command line parameter. More...
 
virtual ~interaction_create_t ()=default
 Destroy this object. More...
 
const event_dispatch_tcancel_event () const
 Cancels the event in progress. Any other attached lambdas for this event after this one are not called. Note that event cancellation is a thread local state, and not stored in the object (because object which can be cancelled is const during the event, and cannot itself contain the changeable state). More...
 
bool is_cancelled () const
 Returns true if the event is cancelled. Note that event cancellation is a thread local state, and not stored in the object (because object which can be cancelled is const during the event, and cannot itself contain the changeable state). More...
 

Public Attributes

interaction command
 command interaction More...
 
const std::string raw_event
 Raw event data. If you are using json on your websocket, this will contain json, and if you are using ETF as your websocket protocol, it will contain raw ETF data. More...
 
class discord_clientfrom
 Shard the event came from. Note that for some events, notably voice events, this may be nullptr. More...
 

Detailed Description

Create interaction.

Constructor & Destructor Documentation

◆ interaction_create_t()

dpp::interaction_create_t::interaction_create_t ( class discord_client client,
const std::string &  raw 
)

Constructor

Parameters
clientThe shard the event originated on
rawRaw event text as JSON

◆ ~interaction_create_t()

virtual dpp::interaction_create_t::~interaction_create_t ( )
virtualdefault

Destroy this object.

Member Function Documentation

◆ cancel_event()

const event_dispatch_t & dpp::event_dispatch_t::cancel_event ( ) const
inherited

Cancels the event in progress. Any other attached lambdas for this event after this one are not called. Note that event cancellation is a thread local state, and not stored in the object (because object which can be cancelled is const during the event, and cannot itself contain the changeable state).

Returns
const event_dispatch_t& reference to self for chaining

◆ delete_original_response()

void dpp::interaction_create_t::delete_original_response ( command_completion_event_t  callback = {})

Delete the original response for this interaction.

Parameters
callbackUser function to execute when the api call completes. On success the callback will contain a dpp::confirmation object in confirmation_callback_t::value. On failure, the value is undefined and confirmation_callback_t::is_error() method will return true. You can obtain full error details with confirmation_callback_t::get_error().

◆ dialog()

void dpp::interaction_create_t::dialog ( const interaction_modal_response mr,
command_completion_event_t  callback = {} 
) const

Reply to interaction with a dialog box.

Parameters
mrDialog box response to send
callbackUser function to execute when the api call completes. On success the callback will contain a dpp::confirmation object in confirmation_callback_t::value. On failure, the value is undefined and confirmation_callback_t::is_error() method will return true. You can obtain full error details with confirmation_callback_t::get_error().

◆ edit_response() [1/2]

void dpp::interaction_create_t::edit_response ( const message m,
command_completion_event_t  callback = {} 
) const

Edit the response for this interaction.

Parameters
mMessage object to send. Not all fields are supported by Discord.
callbackUser function to execute when the api call completes. On success the callback will contain a dpp::confirmation object in confirmation_callback_t::value. On failure, the value is undefined and confirmation_callback_t::is_error() method will return true. You can obtain full error details with confirmation_callback_t::get_error().

◆ edit_response() [2/2]

void dpp::interaction_create_t::edit_response ( const std::string &  mt,
command_completion_event_t  callback = {} 
) const

Edit the response for this interaction.

Parameters
mtThe string value to send, for simple text only messages
callbackUser function to execute when the api call completes. On success the callback will contain a dpp::confirmation object in confirmation_callback_t::value. On failure, the value is undefined and confirmation_callback_t::is_error() method will return true. You can obtain full error details with confirmation_callback_t::get_error().

◆ get_original_response()

void dpp::interaction_create_t::get_original_response ( command_completion_event_t  callback) const

Get original response message for this interaction.

Parameters
callbackFunction to call when the API call completes. On success the callback will contain a dpp::message object in confirmation_callback_t::value. On failure, the value is undefined and confirmation_callback_t::is_error() method will return true. You can obtain full error details with confirmation_callback_t::get_error().

◆ get_parameter()

virtual const command_value & dpp::interaction_create_t::get_parameter ( const std::string &  name) const
virtual

Get a command line parameter.

Parameters
nameThe command line parameter to retrieve
Returns
const command_value& If the command line parameter does not exist, an empty variant is returned.

Reimplemented in dpp::button_click_t, dpp::form_submit_t, dpp::autocomplete_t, and dpp::select_click_t.

◆ is_cancelled()

bool dpp::event_dispatch_t::is_cancelled ( ) const
inherited

Returns true if the event is cancelled. Note that event cancellation is a thread local state, and not stored in the object (because object which can be cancelled is const during the event, and cannot itself contain the changeable state).

Returns
true if the event is cancelled

◆ reply() [1/4]

void dpp::interaction_create_t::reply ( const message m,
command_completion_event_t  callback = {} 
) const

Send a reply for this interaction. Uses the default type of ir_channel_message_with_source, a simple message reply.

Parameters
mMessage object to send. Not all fields are supported by Discord.
callbackUser function to execute when the api call completes. On success the callback will contain a dpp::confirmation object in confirmation_callback_t::value. On failure, the value is undefined and confirmation_callback_t::is_error() method will return true. You can obtain full error details with confirmation_callback_t::get_error().

◆ reply() [2/4]

void dpp::interaction_create_t::reply ( const std::string &  mt,
command_completion_event_t  callback = {} 
) const

Send a reply for this interaction. Uses the default type of ir_channel_message_with_source, a simple message reply.

Parameters
mtThe string value to send, for simple text only messages
callbackUser function to execute when the api call completes. On success the callback will contain a dpp::confirmation object in confirmation_callback_t::value. On failure, the value is undefined and confirmation_callback_t::is_error() method will return true. You can obtain full error details with confirmation_callback_t::get_error().

◆ reply() [3/4]

void dpp::interaction_create_t::reply ( interaction_response_type  t,
const message m,
command_completion_event_t  callback = {} 
) const

Send a reply for this interaction.

Parameters
tType of reply to send
mMessage object to send. Not all fields are supported by Discord.
callbackUser function to execute when the api call completes. On success the callback will contain a dpp::confirmation object in confirmation_callback_t::value. On failure, the value is undefined and confirmation_callback_t::is_error() method will return true. You can obtain full error details with confirmation_callback_t::get_error().

◆ reply() [4/4]

void dpp::interaction_create_t::reply ( interaction_response_type  t,
const std::string &  mt,
command_completion_event_t  callback = {} 
) const

Send a reply for this interaction.

Parameters
tType of reply to send
mtThe string value to send, for simple text only messages
callbackUser function to execute when the api call completes. On success the callback will contain a dpp::confirmation object in confirmation_callback_t::value. On failure, the value is undefined and confirmation_callback_t::is_error() method will return true. You can obtain full error details with confirmation_callback_t::get_error().

◆ thinking()

void dpp::interaction_create_t::thinking ( bool  ephemeral = false,
command_completion_event_t  callback = {} 
) const

Set the bot to 'thinking' state.

Parameters
ephemeralTrue if the thinking state should be ephemeral
callbackUser function to execute when the api call completes. On success the callback will contain a dpp::confirmation object in confirmation_callback_t::value. On failure, the value is undefined and confirmation_callback_t::is_error() method will return true. You can obtain full error details with confirmation_callback_t::get_error().

Member Data Documentation

◆ command

interaction dpp::interaction_create_t::command

command interaction

◆ from

class discord_client* dpp::event_dispatch_t::from
inherited

Shard the event came from. Note that for some events, notably voice events, this may be nullptr.

◆ raw_event

const std::string dpp::event_dispatch_t::raw_event
inherited

Raw event data. If you are using json on your websocket, this will contain json, and if you are using ETF as your websocket protocol, it will contain raw ETF data.

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