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

User has issued a slash command. More...

#include <dispatcher.h>

+ Inheritance diagram for dpp::slashcommand_t:
+ Collaboration diagram for dpp::slashcommand_t:

Public Member Functions

 slashcommand_t (class discord_client *client, const std::string &raw)
 
void reply (command_completion_event_t callback=utility::log_error()) const
 Acknowledge interaction without displaying a message to the user, for use with button and select menu components. More...
 
void reply (interaction_response_type t, const message &m, command_completion_event_t callback=utility::log_error()) const
 Send a reply for this interaction. More...
 
void reply (interaction_response_type t, const std::string &mt, command_completion_event_t callback=utility::log_error()) const
 Send a reply for this interaction. More...
 
void reply (const message &m, command_completion_event_t callback=utility::log_error()) const
 Send a reply for this interaction. Uses the default type of dpp::ir_channel_message_with_source, a simple message reply. More...
 
void reply (const std::string &mt, command_completion_event_t callback=utility::log_error()) const
 Send a reply for this interaction. Uses the default type of dpp::ir_channel_message_with_source, a simple message reply. More...
 
void dialog (const interaction_modal_response &mr, command_completion_event_t callback=utility::log_error()) const
 Reply to interaction with a dialog box. More...
 
void edit_response (const message &m, command_completion_event_t callback=utility::log_error()) const
 Edit the response for this interaction. More...
 
void edit_response (const std::string &mt, command_completion_event_t callback=utility::log_error()) const
 Edit the response for this interaction. More...
 
void thinking (bool ephemeral=false, command_completion_event_t callback=utility::log_error()) const
 Set the bot to 'thinking' state where you have up to 15 minutes to respond. More...
 
void get_original_response (command_completion_event_t callback) const
 Get original response message for this interaction. More...
 
void edit_original_response (const message &m, command_completion_event_t callback=utility::log_error()) const
 Edit original response message for this interaction. More...
 
void delete_original_response (command_completion_event_t callback=utility::log_error()) const
 Delete original response message for this interaction. This cannot be used on an ephemeral interaction response. More...
 
virtual const command_valueget_parameter (const std::string &name) const
 Get a command line parameter. 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

User has issued a slash command.

Constructor & Destructor Documentation

◆ slashcommand_t()

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

Constructor

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

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 = utility::log_error()) const
inherited

Delete original response message for this interaction. This cannot be used on an ephemeral interaction response.

Parameters
callbackFunction to call 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 = utility::log_error() 
) const
inherited

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_original_response()

void dpp::interaction_create_t::edit_original_response ( const message m,
command_completion_event_t  callback = utility::log_error() 
) const
inherited

Edit original response message for this interaction.

Parameters
mMessage object to send. Not all fields are supported by Discord.
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().

◆ edit_response() [1/2]

void dpp::interaction_create_t::edit_response ( const message m,
command_completion_event_t  callback = utility::log_error() 
) const
inherited

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 = utility::log_error() 
) const
inherited

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
inherited

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
virtualinherited

Get a command line parameter.

Note
Doesn't work on subcommands. If you want to get a parameter from a subcommand, you have to loop through the options by yourself.
Parameters
nameThe command line parameter to retrieve
Returns
const command_value& If the command line parameter does not exist, an empty variant is returned.

◆ 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/5]

void dpp::interaction_create_t::reply ( command_completion_event_t  callback = utility::log_error()) const
inherited

Acknowledge interaction without displaying a message to the user, for use with button and select menu components.

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().

◆ reply() [2/5]

void dpp::interaction_create_t::reply ( const message m,
command_completion_event_t  callback = utility::log_error() 
) const
inherited

Send a reply for this interaction. Uses the default type of dpp::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() [3/5]

void dpp::interaction_create_t::reply ( const std::string &  mt,
command_completion_event_t  callback = utility::log_error() 
) const
inherited

Send a reply for this interaction. Uses the default type of dpp::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() [4/5]

void dpp::interaction_create_t::reply ( interaction_response_type  t,
const message m,
command_completion_event_t  callback = utility::log_error() 
) const
inherited

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() [5/5]

void dpp::interaction_create_t::reply ( interaction_response_type  t,
const std::string &  mt,
command_completion_event_t  callback = utility::log_error() 
) const
inherited

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 = utility::log_error() 
) const
inherited

Set the bot to 'thinking' state where you have up to 15 minutes to respond.

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
inherited

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