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

event_dispatch_toperator= (const event_dispatch_t &rhs)=default
 Copy another event_dispatch_t object. More...
 
event_dispatch_toperator= (event_dispatch_t &&rhs)=default
 Move from another event_dispatch_t object. More...
 
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...
 
dpp::async< dpp::confirmation_callback_tco_reply () const
 Acknowledge interaction without displaying a message to the user, for use with button and select menu components. More...
 
dpp::async< dpp::confirmation_callback_tco_reply (interaction_response_type t, const message &m) const
 Send a reply for this interaction. More...
 
dpp::async< dpp::confirmation_callback_tco_reply (interaction_response_type t, const std::string &mt) const
 Send a reply for this interaction. More...
 
dpp::async< dpp::confirmation_callback_tco_reply (const message &m) const
 Send a reply for this interaction. Uses the default type of dpp::ir_channel_message_with_source, a simple message reply. More...
 
dpp::async< dpp::confirmation_callback_tco_reply (const std::string &mt) const
 Send a reply for this interaction. Uses the default type of dpp::ir_channel_message_with_source, a simple message reply. More...
 
dpp::async< dpp::confirmation_callback_tco_dialog (const interaction_modal_response &mr) const
 Reply to interaction with a dialog box. More...
 
dpp::async< dpp::confirmation_callback_tco_edit_response (const message &m) const
 Edit the response for this interaction. More...
 
dpp::async< dpp::confirmation_callback_tco_edit_response (const std::string &mt) const
 Edit the response for this interaction. More...
 
dpp::async< dpp::confirmation_callback_tco_thinking (bool ephemeral=false) const
 Set the bot to 'thinking' state where you have up to 15 minutes to respond. More...
 
dpp::async< dpp::confirmation_callback_tco_get_original_response () const
 Get original response message for this interaction. More...
 
dpp::async< dpp::confirmation_callback_tco_edit_original_response (const message &m) const
 Edit original response message for this interaction. More...
 
dpp::async< dpp::confirmation_callback_tco_delete_original_response () const
 Delete original response message for this interaction. This cannot be used on an ephemeral interaction response. More...
 
virtual command_value get_parameter (const std::string &name) const
 Get a slashcommand parameter. More...
 
 event_dispatch_t ()=default
 Construct a new event_dispatch_t object. More...
 
 event_dispatch_t (const event_dispatch_t &rhs)=default
 Construct a new event_dispatch_t object. More...
 
 event_dispatch_t (event_dispatch_t &&rhs)=default
 Construct a new event_dispatch_t object. More...
 
 event_dispatch_t (dpp::cluster *creator, uint32_t shard_id, const std::string &raw)
 Construct a new event_dispatch_t object. More...
 
 event_dispatch_t (dpp::cluster *creator, uint32_t shard_id, std::string &&raw)
 Construct a new event_dispatch_t object. More...
 
discord_clientfrom () const
 Returns the shard object for the events shard id. 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. More...
 
event_dispatch_tcancel_event ()
 Cancels the event in progress. Any other attached lambdas for this event after this one are not called. 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...
 
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...
 
uint32_t shard = 0
 Shard the event came from. More...
 
dpp::clusterowner = nullptr
 Cluster owning the event dispatch. More...
 
bool cancelled = false
 Whether the event was cancelled using cancel_event(). More...
 

Detailed Description

User has issued a slash command.

Member Function Documentation

◆ cancel_event() [1/2]

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

Cancels the event in progress. Any other attached lambdas for this event after this one are not called.

Warning
This will modify the event object in a non-thread-safe manner.
Returns
const event_dispatch_t& reference to self for chaining

◆ cancel_event() [2/2]

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.

Warning
This will modify the event object in a non-thread-safe manner.
Returns
const event_dispatch_t& reference to self for chaining

◆ co_delete_original_response()

dpp::async< dpp::confirmation_callback_t > dpp::interaction_create_t::co_delete_original_response ( ) const
inherited

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

On success the result 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().

◆ co_dialog()

dpp::async< dpp::confirmation_callback_t > dpp::interaction_create_t::co_dialog ( const interaction_modal_response mr) const
inherited

Reply to interaction with a dialog box.

Parameters
mrDialog box response to send On success the result 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().

◆ co_edit_original_response()

dpp::async< dpp::confirmation_callback_t > dpp::interaction_create_t::co_edit_original_response ( const message m) const
inherited

Edit original response message for this interaction.

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

◆ co_edit_response() [1/2]

dpp::async< dpp::confirmation_callback_t > dpp::interaction_create_t::co_edit_response ( const message m) const
inherited

Edit the response for this interaction.

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

◆ co_edit_response() [2/2]

dpp::async< dpp::confirmation_callback_t > dpp::interaction_create_t::co_edit_response ( const std::string &  mt) const
inherited

Edit the response for this interaction.

Parameters
mtThe string value to send, for simple text only messages On success the result 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().

◆ co_get_original_response()

dpp::async< dpp::confirmation_callback_t > dpp::interaction_create_t::co_get_original_response ( ) const
inherited

Get original response message for this interaction.

On success the result 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().

◆ co_reply() [1/5]

dpp::async< dpp::confirmation_callback_t > dpp::interaction_create_t::co_reply ( ) const
inherited

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

On success the result 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().

◆ co_reply() [2/5]

dpp::async< dpp::confirmation_callback_t > dpp::interaction_create_t::co_reply ( const message m) 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. On success the result 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().

◆ co_reply() [3/5]

dpp::async< dpp::confirmation_callback_t > dpp::interaction_create_t::co_reply ( const std::string &  mt) 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 On success the result 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().

◆ co_reply() [4/5]

dpp::async< dpp::confirmation_callback_t > dpp::interaction_create_t::co_reply ( interaction_response_type  t,
const message m 
) 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. On success the result 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().

◆ co_reply() [5/5]

dpp::async< dpp::confirmation_callback_t > dpp::interaction_create_t::co_reply ( interaction_response_type  t,
const std::string &  mt 
) const
inherited

Send a reply for this interaction.

Parameters
tType of reply to send
mtThe string value to send, for simple text only messages On success the result 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().

◆ co_thinking()

dpp::async< dpp::confirmation_callback_t > dpp::interaction_create_t::co_thinking ( bool  ephemeral = false) 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 On success the result 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().

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

◆ event_dispatch_t() [1/5]

dpp::event_dispatch_t::event_dispatch_t ( )
defaultinherited

Construct a new event_dispatch_t object.

◆ event_dispatch_t() [2/5]

dpp::event_dispatch_t::event_dispatch_t ( const event_dispatch_t rhs)
defaultinherited

Construct a new event_dispatch_t object.

Parameters
rhsevent_dispatch_t object to copy from

◆ event_dispatch_t() [3/5]

dpp::event_dispatch_t::event_dispatch_t ( dpp::cluster creator,
uint32_t  shard_id,
const std::string &  raw 
)
inherited

Construct a new event_dispatch_t object.

Parameters
shard_idThe shard the event originated on.
rawRaw event data as JSON or ETF

◆ event_dispatch_t() [4/5]

dpp::event_dispatch_t::event_dispatch_t ( dpp::cluster creator,
uint32_t  shard_id,
std::string &&  raw 
)
inherited

Construct a new event_dispatch_t object.

Parameters
shard_idThe shard the event originated on.
rawRaw event data as JSON or ETF

◆ event_dispatch_t() [5/5]

dpp::event_dispatch_t::event_dispatch_t ( event_dispatch_t &&  rhs)
defaultinherited

Construct a new event_dispatch_t object.

Parameters
rhsevent_dispatch_t object to move from

◆ from()

discord_client * dpp::event_dispatch_t::from ( ) const
inherited

Returns the shard object for the events shard id.

Returns
discord client object

◆ 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 command_value dpp::interaction_create_t::get_parameter ( const std::string &  name) const
virtualinherited

Get a slashcommand parameter.

Parameters
nameThe name of the command line parameter to retrieve the value for
Returns
command_value Returns the value of the first option that matches the given name. If no matches are found, an empty variant is returned.
Exceptions
dpp::logic_exceptionif the interaction is not for a command

◆ 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

◆ operator=() [1/2]

event_dispatch_t & dpp::event_dispatch_t::operator= ( const event_dispatch_t rhs)
default

Copy another event_dispatch_t object.

Parameters
rhsThe event to copy from

◆ operator=() [2/2]

event_dispatch_t & dpp::event_dispatch_t::operator= ( event_dispatch_t &&  rhs)
default

Move from another event_dispatch_t object.

Parameters
rhsThe event to move from

◆ 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

◆ cancelled

bool dpp::event_dispatch_t::cancelled = false
mutableinherited

Whether the event was cancelled using cancel_event().

◆ command

interaction dpp::interaction_create_t::command = {}
inherited

command interaction

◆ owner

dpp::cluster* dpp::event_dispatch_t::owner = nullptr
inherited

Cluster owning the event dispatch.

◆ raw_event

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.

◆ shard

uint32_t dpp::event_dispatch_t::shard = 0
inherited

Shard the event came from.

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