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

Base class for context menu interactions, e.g. right click on user or message. More...

#include <dispatcher.h>

+ Inheritance diagram for dpp::context_menu_t:
+ Collaboration diagram for dpp::context_menu_t:

Public Member Functions

 context_menu_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...
 
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...
 
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

Base class for context menu interactions, e.g. right click on user or message.

Constructor & Destructor Documentation

◆ context_menu_t()

dpp::context_menu_t::context_menu_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

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

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

◆ 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