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

Create message. More...

#include <dispatcher.h>

+ Inheritance diagram for dpp::message_create_t:
+ Collaboration diagram for dpp::message_create_t:

Public Member Functions

void send (const std::string &m, command_completion_event_t callback=utility::log_error()) const
 Send a text to the same channel as the channel_id in received event. More...
 
void send (const message &msg, command_completion_event_t callback=utility::log_error()) const
 Send a message to the same channel as the channel_id in received event. More...
 
void send (message &&msg, command_completion_event_t callback=utility::log_error()) const
 Send a message to the same channel as the channel_id in received event. More...
 
void reply (const std::string &m, bool mention_replied_user=false, command_completion_event_t callback=utility::log_error()) const
 Reply to the message received in the event. More...
 
void reply (const message &msg, bool mention_replied_user=false, command_completion_event_t callback=utility::log_error()) const
 Reply to the message received in the event. More...
 
void reply (message &&msg, bool mention_replied_user=false, command_completion_event_t callback=utility::log_error()) const
 Reply to the message received in the event. 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...
 
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...
 
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

message msg = {}
 message that was created (sent). 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

Create message.

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

◆ event_dispatch_t() [1/5]

dpp::event_dispatch_t::event_dispatch_t ( )
default

Construct a new event_dispatch_t object.

◆ event_dispatch_t() [2/5]

dpp::event_dispatch_t::event_dispatch_t ( const event_dispatch_t rhs)
default

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 
)

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 
)

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)
default

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

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

void dpp::message_create_t::reply ( const message msg,
bool  mention_replied_user = false,
command_completion_event_t  callback = utility::log_error() 
) const

Reply to the message received in the event.

Parameters
msgMessage to send as a reply.
mention_replied_usermentions (pings) the author of message replied to, if true
callbackUser function to execute once the API call completes.
Note
confirmation_callback_t::value contains a message object on success. On failure, value is undefined and confirmation_callback_t::is_error() is true.

◆ reply() [2/3]

void dpp::message_create_t::reply ( const std::string &  m,
bool  mention_replied_user = false,
command_completion_event_t  callback = utility::log_error() 
) const

Reply to the message received in the event.

Parameters
mText to send
mention_replied_usermentions (pings) the author of message replied to, if true
callbackUser function to execute once the API call completes.
Note
confirmation_callback_t::value contains a message object on success. On failure, value is undefined and confirmation_callback_t::is_error() is true.

◆ reply() [3/3]

void dpp::message_create_t::reply ( message &&  msg,
bool  mention_replied_user = false,
command_completion_event_t  callback = utility::log_error() 
) const

Reply to the message received in the event.

Parameters
msgMessage to send as a reply.
mention_replied_usermentions (pings) the author of message replied to, if true
callbackUser function to execute once the API call completes.
Note
confirmation_callback_t::value contains a message object on success. On failure, value is undefined and confirmation_callback_t::is_error() is true.

◆ send() [1/3]

void dpp::message_create_t::send ( const message msg,
command_completion_event_t  callback = utility::log_error() 
) const

Send a message to the same channel as the channel_id in received event.

Parameters
msgMessage to send
callbackUser function to execute once the API call completes.
Note
confirmation_callback_t::value contains a message object on success. On failure, value is undefined and confirmation_callback_t::is_error() is true.

◆ send() [2/3]

void dpp::message_create_t::send ( const std::string &  m,
command_completion_event_t  callback = utility::log_error() 
) const

Send a text to the same channel as the channel_id in received event.

Parameters
mText to send
callbackUser function to execute once the API call completes.
Note
confirmation_callback_t::value contains a message object on success. On failure, value is undefined and confirmation_callback_t::is_error() is true.

◆ send() [3/3]

void dpp::message_create_t::send ( message &&  msg,
command_completion_event_t  callback = utility::log_error() 
) const

Send a message to the same channel as the channel_id in received event.

Parameters
msgMessage to send
callbackUser function to execute once the API call completes.
Note
confirmation_callback_t::value contains a message object on success. On failure, value is undefined and confirmation_callback_t::is_error() is true.

Member Data Documentation

◆ cancelled

bool dpp::event_dispatch_t::cancelled = false
mutableinherited

Whether the event was cancelled using cancel_event().

◆ msg

message dpp::message_create_t::msg = {}

message that was created (sent).

◆ 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