D++ (DPP)
C++ Discord API Bot Library
|
Represents messages sent and received on Discord. More...
#include <message.h>
Classes | |
struct | allowed_ref |
struct | message_ref |
Public Member Functions | |
message () | |
Construct a new message object. More... | |
~message () | |
Destroy the message object. More... | |
message (snowflake channel_id, const std::string &content, message_type type=mt_default) | |
Construct a new message object with a channel and content. More... | |
message (snowflake channel_id, const embed &_embed) | |
Construct a new message object with a channel and content. More... | |
message (const std::string &content, message_type type=mt_default) | |
Construct a new message object with content. More... | |
message & | set_reference (snowflake _message_id, snowflake _guild_id=0, snowflake _channel_id=0, bool fail_if_not_exists=false) |
Set the original message reference for replies/crossposts. More... | |
message & | set_allowed_mentions (bool _parse_users, bool _parse_roles, bool _parse_everyone, bool _replied_user, const std::vector< snowflake > &users, const std::vector< snowflake > &roles) |
Set the allowed mentions object for pings on the message. More... | |
message & | fill_from_json (nlohmann::json *j, cache_policy_t cp={cp_aggressive, cp_aggressive, cp_aggressive}) |
std::string | build_json (bool with_id=false, bool is_interaction_response=false) const |
bool | is_crossposted () const |
Returns true if the message was crossposted to other servers. More... | |
bool | is_crosspost () const |
Returns true if posted from other servers news channel via webhook. More... | |
bool | supress_embeds () const |
True if embeds have been removed. More... | |
bool | is_source_message_deleted () const |
True if source message was deleted. More... | |
bool | is_urgent () const |
True if urgent. More... | |
bool | is_ephemeral () const |
True if ephemeral (visible only to issuer of a slash command) More... | |
bool | is_loading () const |
True if loading. More... | |
message & | add_component (const component &c) |
Add a component (button) to message. More... | |
message & | add_embed (const embed &e) |
Add an embed to message. More... | |
message & | set_flags (uint8_t f) |
Set the flags. More... | |
message & | set_type (message_type t) |
Set the message type. More... | |
message & | set_filename (const std::string &fn) |
Set the filename. More... | |
message & | set_file_content (const std::string &fc) |
Set the file content. More... | |
message & | set_content (const std::string &c) |
Set the message content. More... | |
Public Attributes | |
snowflake | id |
snowflake | channel_id |
snowflake | guild_id |
user * | author |
guild_member | member |
std::string | content |
std::vector< dpp::component > | components |
time_t | sent |
time_t | edited |
bool | tts |
bool | mention_everyone |
std::vector< snowflake > | mentions |
std::vector< snowflake > | mention_roles |
std::vector< snowflake > | mention_channels |
std::vector< attachment > | attachments |
std::vector< embed > | embeds |
std::vector< reaction > | reactions |
std::string | nonce |
bool | pinned |
snowflake | webhook_id |
uint8_t | flags |
std::vector< sticker > | stickers |
std::string | filename |
std::string | filecontent |
uint8_t | type |
user | self_author |
struct dpp::message::message_ref | message_reference |
struct dpp::message::allowed_ref | allowed_mentions |
Represents messages sent and received on Discord.
dpp::message::message | ( | ) |
Construct a new message object.
dpp::message::~message | ( | ) |
Destroy the message object.
dpp::message::message | ( | snowflake | channel_id, |
const std::string & | content, | ||
message_type | type = mt_default |
||
) |
Construct a new message object with a channel and content.
channel_id | The channel to send the message to |
content | The content of the message |
type | The message type to create |
Construct a new message object with a channel and content.
channel_id | The channel to send the message to |
_embed | An embed to send |
dpp::message::message | ( | const std::string & | content, |
message_type | type = mt_default |
||
) |
Construct a new message object with content.
content | The content of the message |
type | The message type to create |
Add a component (button) to message.
c | component to add |
Add an embed to message.
e | embed to add |
std::string dpp::message::build_json | ( | bool | with_id = false , |
bool | is_interaction_response = false |
||
) | const |
Build JSON from this object.
with_id | True if the ID is to be included in the built JSON |
message & dpp::message::fill_from_json | ( | nlohmann::json * | j, |
cache_policy_t | cp = {cp_aggressive, cp_aggressive, cp_aggressive} |
||
) |
Fill this object from json.
j | JSON object to fill from |
cp | Cache policy for user records, wether or not we cache users when a message is received |
bool dpp::message::is_crosspost | ( | ) | const |
Returns true if posted from other servers news channel via webhook.
bool dpp::message::is_crossposted | ( | ) | const |
Returns true if the message was crossposted to other servers.
bool dpp::message::is_ephemeral | ( | ) | const |
True if ephemeral (visible only to issuer of a slash command)
bool dpp::message::is_loading | ( | ) | const |
True if loading.
bool dpp::message::is_source_message_deleted | ( | ) | const |
True if source message was deleted.
bool dpp::message::is_urgent | ( | ) | const |
True if urgent.
message & dpp::message::set_allowed_mentions | ( | bool | _parse_users, |
bool | _parse_roles, | ||
bool | _parse_everyone, | ||
bool | _replied_user, | ||
const std::vector< snowflake > & | users, | ||
const std::vector< snowflake > & | roles | ||
) |
Set the allowed mentions object for pings on the message.
_parse_users | wether or not to parse users in the message content or embeds |
_parse_roles | wether or not to parse roles in the message content or embeds |
_parse_everyone | wether or not to parse everyone/here in the message content or embeds |
_replied_user | if set to true and this is a reply, then ping the user we reply to |
users | list of user ids to allow pings for |
roles | list of role ids to allow pings for |
message & dpp::message::set_content | ( | const std::string & | c | ) |
Set the message content.
c | message content |
message & dpp::message::set_file_content | ( | const std::string & | fc | ) |
Set the file content.
fc | raw file content contained in std::string |
message & dpp::message::set_filename | ( | const std::string & | fn | ) |
Set the filename.
fn | filename |
message & dpp::message::set_flags | ( | uint8_t | f | ) |
Set the flags.
f | flags to set |
message & dpp::message::set_reference | ( | snowflake | _message_id, |
snowflake | _guild_id = 0 , |
||
snowflake | _channel_id = 0 , |
||
bool | fail_if_not_exists = false |
||
) |
Set the original message reference for replies/crossposts.
_message_id | message id to reply to |
_guild_id | guild id to reply to (optional) |
_channel_id | channel id to reply to (optional) |
fail_if_not_exists | true if the message send should fail if these values are invalid (optional) |
message & dpp::message::set_type | ( | message_type | t | ) |
Set the message type.
t | type to set |
bool dpp::message::supress_embeds | ( | ) | const |
True if embeds have been removed.
struct dpp::message::allowed_ref dpp::message::allowed_mentions |
std::vector<attachment> dpp::message::attachments |
any attached files
user* dpp::message::author |
the author of this message (not guaranteed to be a valid user)
snowflake dpp::message::channel_id |
id of the channel the message was sent in
std::vector<dpp::component> dpp::message::components |
message components
std::string dpp::message::content |
contents of the message
time_t dpp::message::edited |
when this message was edited (may be 0 if never edited)
std::vector<embed> dpp::message::embeds |
zero or more dpp::embed objects
std::string dpp::message::filecontent |
File content to upload (raw binary)
std::string dpp::message::filename |
Name of file to upload (for use server-side in discord's url)
uint8_t dpp::message::flags |
Flags
snowflake dpp::message::guild_id |
Optional: id of the guild the message was sent in
snowflake dpp::message::id |
id of the message
guild_member dpp::message::member |
Optional: member properties for this message's author
std::vector<snowflake> dpp::message::mention_channels |
Optional: channels specifically mentioned in this message
bool dpp::message::mention_everyone |
whether this message mentions everyone
std::vector<snowflake> dpp::message::mention_roles |
roles specifically mentioned in this message
std::vector<snowflake> dpp::message::mentions |
users specifically mentioned in the message
struct dpp::message::message_ref dpp::message::message_reference |
std::string dpp::message::nonce |
Optional: used for validating a message was sent
bool dpp::message::pinned |
whether this message is pinned
std::vector<reaction> dpp::message::reactions |
Optional: reactions to the message
user dpp::message::self_author |
Self allocated user for caching being off
time_t dpp::message::sent |
when this message was sent
std::vector<sticker> dpp::message::stickers |
Stickers
bool dpp::message::tts |
whether this was a TTS message
uint8_t dpp::message::type |
Message type
snowflake dpp::message::webhook_id |
Optional: if the message is generated by a webhook, its id will be here otherwise the field will be 0