D++ (DPP)
C++ Discord API Bot Library
|
The cluster class represents a group of shards and a command queue for sending and receiving commands from discord via HTTP. You should usually instantiate a cluster object at the very least to make use of the library. More...
#include <cluster.h>
Public Member Functions | |
cluster (const std::string &token, uint32_t intents=i_default_intents, uint32_t shards=0, uint32_t cluster_id=0, uint32_t maxclusters=1, bool compressed=true, cache_policy_t policy={ cp_aggressive, cp_aggressive, cp_aggressive }, uint32_t request_threads=12, uint32_t request_threads_raw=1) | |
Constructor for creating a cluster. All but the token are optional. More... | |
cluster (const cluster &)=delete | |
dpp::cluster is non-copyable More... | |
cluster (const cluster &&)=delete | |
dpp::cluster is non-moveable More... | |
virtual | ~cluster () |
Destroy the cluster object. More... | |
void | shutdown () |
End cluster execution without destructing it. To restart the cluster, call cluster::start() again. More... | |
request_queue * | get_rest () |
Get the rest_queue object which handles HTTPS requests to Discord. More... | |
request_queue * | get_raw_rest () |
Get the raw rest_queue object which handles all HTTP(S) requests that are not directed at Discord. More... | |
cluster & | set_websocket_protocol (websocket_protocol_t mode) |
Set the websocket protocol for all shards on this cluster. You should call this method before cluster::start. Generally ws_etf is faster, but provides less facilities for debugging should something go wrong. It is recommended to use ETF in production and JSON in development. More... | |
cluster & | set_audit_reason (const std::string &reason) |
Set the audit log reason for the next REST call to be made. This is set per-thread, so you must ensure that if you call this method, your request that is associated with the reason happens on the same thread where you set the reason. Once the next call is made, the audit log reason is cleared for this thread automatically. More... | |
cluster & | clear_audit_reason () |
Clear the audit log reason for the next REST call to be made. This is set per-thread, so you must ensure that if you call this method, your request that is associated with the reason happens on the same thread where you set the reason. Once the next call is made, the audit log reason is cleared for this thread automatically. More... | |
std::string | get_audit_reason () |
Get the audit reason set for the next REST call to be made on this thread. This is set per-thread, so you must ensure that if you call this method, your request that is associated with the reason happens on the same thread where you set the reason. Once the next call is made, the audit log reason is cleared for this thread automatically. More... | |
cluster & | set_default_gateway (std::string &default_gateway) |
Sets the address of the default gateway, for connecting the websockets. More... | |
void | log (dpp::loglevel severity, const std::string &msg) const |
Log a message to whatever log the user is using. The logged message is passed up the chain to the on_log event in user code which can then do whatever it wants to do with it. More... | |
timer | start_timer (timer_callback_t on_tick, uint64_t frequency, timer_callback_t on_stop={}) |
Start a timer. Every frequency seconds, the callback is called. More... | |
bool | stop_timer (timer t) |
Stop a ticking timer. More... | |
snowflake | get_dm_channel (snowflake user_id) |
Get the dm channel for a user id. More... | |
void | set_dm_channel (snowflake user_id, snowflake channel_id) |
Set the dm channel id for a user id. More... | |
dpp::utility::uptime | uptime () |
Returns the uptime of the cluster. More... | |
void | start (bool return_after=true) |
Start the cluster, connecting all its shards. More... | |
void | set_presence (const class dpp::presence &p) |
Set the presence for all shards on the cluster. More... | |
discord_client * | get_shard (uint32_t id) |
Get a shard by id, returning the discord_client. More... | |
const shard_list & | get_shards () |
Get the list of shards. More... | |
void | post_rest (const std::string &endpoint, const std::string &major_parameters, const std::string ¶meters, http_method method, const std::string &postdata, json_encode_t callback, const std::string &filename="", const std::string &filecontent="") |
Post a REST request. Where possible use a helper method instead like message_create. More... | |
void | post_rest_multipart (const std::string &endpoint, const std::string &major_parameters, const std::string ¶meters, http_method method, const std::string &postdata, json_encode_t callback, const std::vector< std::string > &filename={}, const std::vector< std::string > &filecontent={}) |
Post a multipart REST request. Where possible use a helper method instead like message_create. More... | |
void | request (const std::string &url, http_method method, http_completion_event callback, const std::string &postdata="", const std::string &mimetype="text/plain", const std::multimap< std::string, std::string > &headers={}) |
Make a HTTP(S) request. For use when wanting asynchronous access to HTTP APIs outside of Discord. More... | |
void | interaction_response_create (snowflake interaction_id, const std::string &token, const interaction_response &r, command_completion_event_t callback=utility::log_error()) |
Respond to a slash command. More... | |
void | interaction_response_edit (const std::string &token, const message &m, command_completion_event_t callback=utility::log_error()) |
Edit response to a slash command. More... | |
void | interaction_followup_create (const std::string &token, const message &m, command_completion_event_t callback) |
Create a followup message to a slash command. More... | |
void | interaction_followup_edit_original (const std::string &token, const message &m, command_completion_event_t callback=utility::log_error()) |
Edit original followup message to a slash command This is an alias for cluster::interaction_response_edit. More... | |
void | interaction_followup_delete (const std::string &token, command_completion_event_t callback=utility::log_error()) |
void | interaction_followup_edit (const std::string &token, const message &m, command_completion_event_t callback=utility::log_error()) |
Edit followup message to a slash command The message ID in the message you pass should be correctly set to that of a followup message you previously sent. More... | |
void | interaction_followup_get (const std::string &token, snowflake message_id, command_completion_event_t callback) |
Get the followup message to a slash command. More... | |
void | global_command_create (const slashcommand &s, command_completion_event_t callback=utility::log_error()) |
Create a global slash command (a bot can have a maximum of 100 of these). More... | |
void | global_command_get (snowflake id, command_completion_event_t callback=utility::log_error()) |
Get a global slash command. More... | |
void | guild_auditlog_get (snowflake guild_id, snowflake user_id, uint32_t action_type, snowflake before, uint32_t limit, command_completion_event_t callback) |
Get the audit log for a guild. More... | |
void | guild_command_create (const slashcommand &s, snowflake guild_id, command_completion_event_t callback=utility::log_error()) |
Create a slash command local to a guild. More... | |
void | guild_bulk_command_create (const std::vector< slashcommand > &commands, snowflake guild_id, command_completion_event_t callback=utility::log_error()) |
Create/overwrite guild slash commands. Any existing guild slash commands on this guild will be deleted and replaced with these. More... | |
void | global_bulk_command_create (const std::vector< slashcommand > &commands, command_completion_event_t callback=utility::log_error()) |
Create/overwrite global slash commands. Any existing global slash commands will be deleted and replaced with these. More... | |
void | global_command_edit (const slashcommand &s, command_completion_event_t callback=utility::log_error()) |
Edit a global slash command (a bot can have a maximum of 100 of these) More... | |
void | guild_command_get (snowflake id, snowflake guild_id, command_completion_event_t callback=utility::log_error()) |
Get a slash command of a guild. More... | |
void | guild_command_edit (const slashcommand &s, snowflake guild_id, command_completion_event_t callback=utility::log_error()) |
Edit a slash command local to a guild. More... | |
void | guild_command_edit_permissions (const slashcommand &s, snowflake guild_id, command_completion_event_t callback=utility::log_error()) |
Edit slash command permissions of a guild. More... | |
void | guild_command_get_permissions (snowflake id, snowflake guild_id, command_completion_event_t callback=utility::log_error()) |
Get the permissions for a slash command of a guild. More... | |
void | guild_bulk_command_edit_permissions (const std::vector< slashcommand > &commands, snowflake guild_id, command_completion_event_t callback=utility::log_error()) |
Edit/Overwrite the permissions of all existing slash commands in a guild. More... | |
void | global_command_delete (snowflake id, command_completion_event_t callback=utility::log_error()) |
Delete a global slash command (a bot can have a maximum of 100 of these) More... | |
void | guild_command_delete (snowflake id, snowflake guild_id, command_completion_event_t callback=utility::log_error()) |
Delete a slash command local to a guild. More... | |
void | guild_commands_get (snowflake guild_id, command_completion_event_t callback) |
Get the application's slash commands for a guild. More... | |
void | guild_commands_get_permissions (snowflake guild_id, command_completion_event_t callback) |
Get all slash command permissions of a guild. More... | |
void | global_commands_get (command_completion_event_t callback) |
Get the application's global slash commands. More... | |
void | direct_message_create (snowflake user_id, const message &m, command_completion_event_t callback=utility::log_error()) |
Create a direct message, also create the channel for the direct message if needed. More... | |
void | message_get (snowflake message_id, snowflake channel_id, command_completion_event_t callback) |
Get a message. More... | |
void | messages_get (snowflake channel_id, snowflake around, snowflake before, snowflake after, uint64_t limit, command_completion_event_t callback) |
Get multiple messages. More... | |
void | message_create (const struct message &m, command_completion_event_t callback=utility::log_error()) |
Send a message to a channel. The callback function is called when the message has been sent. More... | |
void | message_crosspost (snowflake message_id, snowflake channel_id, command_completion_event_t callback=utility::log_error()) |
Crosspost a message. The callback function is called when the message has been sent. More... | |
void | message_edit (const struct message &m, command_completion_event_t callback=utility::log_error()) |
Edit a message on a channel. The callback function is called when the message has been edited. More... | |
void | message_add_reaction (const struct message &m, const std::string &reaction, command_completion_event_t callback=utility::log_error()) |
Add a reaction to a message. The reaction string must be either an emojiname:id or a unicode character. More... | |
void | message_delete_own_reaction (const struct message &m, const std::string &reaction, command_completion_event_t callback=utility::log_error()) |
Delete own reaction from a message. The reaction string must be either an emojiname:id or a unicode character. More... | |
void | message_delete_reaction (const struct message &m, snowflake user_id, const std::string &reaction, command_completion_event_t callback=utility::log_error()) |
Delete a user's reaction from a message. The reaction string must be either an emojiname:id or a unicode character. More... | |
void | message_get_reactions (const struct message &m, const std::string &reaction, snowflake before, snowflake after, snowflake limit, command_completion_event_t callback) |
Get reactions on a message for a particular emoji. The reaction string must be either an emojiname:id or a unicode character. More... | |
void | message_delete_all_reactions (const struct message &m, command_completion_event_t callback=utility::log_error()) |
Delete all reactions on a message. More... | |
void | message_delete_reaction_emoji (const struct message &m, const std::string &reaction, command_completion_event_t callback=utility::log_error()) |
Delete all reactions on a message using a particular emoji. The reaction string must be either an emojiname:id or a unicode character. More... | |
void | message_add_reaction (snowflake message_id, snowflake channel_id, const std::string &reaction, command_completion_event_t callback=utility::log_error()) |
Add a reaction to a message by id. The reaction string must be either an emojiname:id or a unicode character. More... | |
void | message_delete_own_reaction (snowflake message_id, snowflake channel_id, const std::string &reaction, command_completion_event_t callback=utility::log_error()) |
Delete own reaction from a message by id. The reaction string must be either an emojiname:id or a unicode character. More... | |
void | message_delete_reaction (snowflake message_id, snowflake channel_id, snowflake user_id, const std::string &reaction, command_completion_event_t callback=utility::log_error()) |
Delete a user's reaction from a message by id. The reaction string must be either an emojiname:id or a unicode character. More... | |
void | message_get_reactions (snowflake message_id, snowflake channel_id, const std::string &reaction, snowflake before, snowflake after, snowflake limit, command_completion_event_t callback) |
Get reactions on a message for a particular emoji by id. The reaction string must be either an emojiname:id or a unicode character. More... | |
void | message_delete_all_reactions (snowflake message_id, snowflake channel_id, command_completion_event_t callback=utility::log_error()) |
Delete all reactions on a message by id. More... | |
void | message_delete_reaction_emoji (snowflake message_id, snowflake channel_id, const std::string &reaction, command_completion_event_t callback=utility::log_error()) |
Delete all reactions on a message using a particular emoji by id. The reaction string must be either an emojiname:id or a unicode character. More... | |
void | message_delete (snowflake message_id, snowflake channel_id, command_completion_event_t callback=utility::log_error()) |
Delete a message from a channel. The callback function is called when the message has been edited. More... | |
void | message_delete_bulk (const std::vector< snowflake > &message_ids, snowflake channel_id, command_completion_event_t callback=utility::log_error()) |
Bulk delete messages from a channel. The callback function is called when the message has been edited. More... | |
void | channel_get (snowflake c, command_completion_event_t callback) |
Get a channel. More... | |
void | channels_get (snowflake guild_id, command_completion_event_t callback) |
Get all channels for a guild. More... | |
void | channel_create (const class channel &c, command_completion_event_t callback=utility::log_error()) |
Create a channel. More... | |
void | channel_edit (const class channel &c, command_completion_event_t callback=utility::log_error()) |
Edit a channel. More... | |
void | channel_edit_positions (const std::vector< channel > &c, command_completion_event_t callback=utility::log_error()) |
Edit multiple channels positions. More... | |
void | channel_edit_permissions (const class channel &c, const snowflake overwrite_id, const uint64_t allow, const uint64_t deny, const bool member, command_completion_event_t callback=utility::log_error()) |
Edit a channel's permissions. More... | |
void | channel_edit_permissions (const snowflake channel_id, const snowflake overwrite_id, const uint64_t allow, const uint64_t deny, const bool member, command_completion_event_t callback=utility::log_error()) |
Edit a channel's permissions. More... | |
void | channel_delete (snowflake channel_id, command_completion_event_t callback=utility::log_error()) |
Delete a channel. More... | |
void | invite_get (const std::string &invite, command_completion_event_t callback) |
Get details about an invite. More... | |
void | invite_delete (const std::string &invite, command_completion_event_t callback=utility::log_error()) |
Delete an invite. More... | |
void | channel_invites_get (const class channel &c, command_completion_event_t callback) |
Get invites for a channel. More... | |
void | channel_invite_create (const class channel &c, const class invite &i, command_completion_event_t callback=utility::log_error()) |
Create invite for a channel. More... | |
void | channel_pins_get (snowflake channel_id, command_completion_event_t callback) |
Get a channel's pins. More... | |
void | gdm_add (snowflake channel_id, snowflake user_id, const std::string &access_token, const std::string &nick, command_completion_event_t callback=utility::log_error()) |
Adds a recipient to a Group DM using their access token. More... | |
void | gdm_remove (snowflake channel_id, snowflake user_id, command_completion_event_t callback=utility::log_error()) |
Removes a recipient from a Group DM. More... | |
void | channel_delete_permission (const class channel &c, snowflake overwrite_id, command_completion_event_t callback=utility::log_error()) |
Remove a permission from a channel. More... | |
void | channel_follow_news (const class channel &c, snowflake target_channel_id, command_completion_event_t callback=utility::log_error()) |
Follow an announcement (news) channel. More... | |
void | channel_typing (const class channel &c, command_completion_event_t callback=utility::log_error()) |
Trigger channel typing indicator. More... | |
void | channel_typing (snowflake cid, command_completion_event_t callback=utility::log_error()) |
Trigger channel typing indicator. More... | |
void | message_pin (snowflake channel_id, snowflake message_id, command_completion_event_t callback=utility::log_error()) |
Pin a message. More... | |
void | message_unpin (snowflake channel_id, snowflake message_id, command_completion_event_t callback=utility::log_error()) |
Unpin a message. More... | |
void | guild_get (snowflake g, command_completion_event_t callback) |
Get a guild. More... | |
void | guild_get_preview (snowflake g, command_completion_event_t callback) |
Get a guild preview. Returns a guild object but only a subset of the fields will be populated. More... | |
void | guild_get_member (snowflake guild_id, snowflake user_id, command_completion_event_t callback) |
Get a guild member. More... | |
void | guild_search_members (snowflake guild_id, const std::string &query, uint16_t limit, command_completion_event_t callback) |
Search for guild members based on whether their username or nickname starts with the given string. More... | |
void | guild_get_members (snowflake guild_id, uint16_t limit, snowflake after, command_completion_event_t callback) |
Get all guild members. More... | |
void | guild_add_member (const guild_member &gm, const std::string &access_token, command_completion_event_t callback=utility::log_error()) |
Add guild member. Needs a specific oauth2 scope, from which you get the access_token. More... | |
void | guild_edit_member (const guild_member &gm, command_completion_event_t callback=utility::log_error()) |
Edit the properties of an existing guild member. More... | |
void | guild_member_move (const snowflake channel_id, const snowflake guild_id, const snowflake user_id, command_completion_event_t callback=utility::log_error()) |
Moves the guild member to a other voice channel, if member is connected to one. Set the channel_id to 0 to disconnect the user. More... | |
void | guild_set_nickname (snowflake guild_id, const std::string &nickname, command_completion_event_t callback=utility::log_error()) |
Change current user nickname. More... | |
void | guild_member_add_role (snowflake guild_id, snowflake user_id, snowflake role_id, command_completion_event_t callback=utility::log_error()) |
Add role to guild member. More... | |
void | guild_member_delete_role (snowflake guild_id, snowflake user_id, snowflake role_id, command_completion_event_t callback=utility::log_error()) |
Remove role from guild member. More... | |
void | guild_member_remove_role (snowflake guild_id, snowflake user_id, snowflake role_id, command_completion_event_t callback=utility::log_error()) |
Remove role from guild member. More... | |
void | guild_member_delete (snowflake guild_id, snowflake user_id, command_completion_event_t callback=utility::log_error()) |
Remove (kick) a guild member. More... | |
void | guild_member_kick (snowflake guild_id, snowflake user_id, command_completion_event_t callback=utility::log_error()) |
Remove (kick) a guild member. More... | |
void | guild_member_timeout (snowflake guild_id, snowflake user_id, time_t communication_disabled_until, command_completion_event_t callback=utility::log_error()) |
Set the timeout of a guild member. More... | |
void | guild_ban_add (snowflake guild_id, snowflake user_id, uint32_t delete_message_seconds=0, command_completion_event_t callback=utility::log_error()) |
Add guild ban. More... | |
void | guild_ban_delete (snowflake guild_id, snowflake user_id, command_completion_event_t callback=utility::log_error()) |
Delete guild ban. More... | |
void | guild_get_bans (snowflake guild_id, snowflake before, snowflake after, snowflake limit, command_completion_event_t callback) |
Get guild ban list. More... | |
void | guild_get_ban (snowflake guild_id, snowflake user_id, command_completion_event_t callback) |
Get single guild ban. More... | |
void | template_get (const std::string &code, command_completion_event_t callback) |
Get a template. More... | |
void | guild_create_from_template (const std::string &code, const std::string &name, command_completion_event_t callback=utility::log_error()) |
Create a new guild based on a template. More... | |
void | guild_templates_get (snowflake guild_id, command_completion_event_t callback) |
Get guild templates. More... | |
void | guild_template_create (snowflake guild_id, const std::string &name, const std::string &description, command_completion_event_t callback) |
Creates a template for the guild. More... | |
void | guild_template_sync (snowflake guild_id, const std::string &code, command_completion_event_t callback=utility::log_error()) |
Syncs the template to the guild's current state. More... | |
void | guild_template_modify (snowflake guild_id, const std::string &code, const std::string &name, const std::string &description, command_completion_event_t callback=utility::log_error()) |
Modifies the template's metadata. More... | |
void | guild_template_delete (snowflake guild_id, const std::string &code, command_completion_event_t callback=utility::log_error()) |
Deletes the template. More... | |
void | guild_create (const class guild &g, command_completion_event_t callback=utility::log_error()) |
Create a guild. More... | |
void | guild_edit (const class guild &g, command_completion_event_t callback=utility::log_error()) |
Edit a guild. More... | |
void | guild_delete (snowflake guild_id, command_completion_event_t callback=utility::log_error()) |
Delete a guild. More... | |
void | guild_emojis_get (snowflake guild_id, command_completion_event_t callback) |
Get all emojis for a guild. More... | |
void | guild_emoji_get (snowflake guild_id, snowflake emoji_id, command_completion_event_t callback) |
Get a single emoji. More... | |
void | guild_emoji_create (snowflake guild_id, const class emoji &newemoji, command_completion_event_t callback=utility::log_error()) |
Create single emoji. You must ensure that the emoji passed contained image data using the emoji::load_image() method. More... | |
void | guild_emoji_edit (snowflake guild_id, const class emoji &newemoji, command_completion_event_t callback=utility::log_error()) |
Edit a single emoji. More... | |
void | guild_emoji_delete (snowflake guild_id, snowflake emoji_id, command_completion_event_t callback=utility::log_error()) |
Delete a guild emoji. More... | |
void | guild_get_prune_counts (snowflake guild_id, const struct prune &pruneinfo, command_completion_event_t callback) |
Get prune counts. More... | |
void | guild_begin_prune (snowflake guild_id, const struct prune &pruneinfo, command_completion_event_t callback=utility::log_error()) |
Begin guild prune. More... | |
void | guild_get_voice_regions (snowflake guild_id, command_completion_event_t callback) |
Get guild voice regions. More... | |
void | guild_get_invites (snowflake guild_id, command_completion_event_t callback) |
Get guild invites. More... | |
void | guild_get_integrations (snowflake guild_id, command_completion_event_t callback) |
Get guild integrations. More... | |
void | guild_modify_integration (snowflake guild_id, const class integration &i, command_completion_event_t callback=utility::log_error()) |
Modify guild integration. More... | |
void | guild_delete_integration (snowflake guild_id, snowflake integration_id, command_completion_event_t callback=utility::log_error()) |
Delete guild integration. More... | |
void | guild_sync_integration (snowflake guild_id, snowflake integration_id, command_completion_event_t callback=utility::log_error()) |
Sync guild integration. More... | |
void | guild_get_widget (snowflake guild_id, command_completion_event_t callback) |
Get guild widget. More... | |
void | guild_edit_widget (snowflake guild_id, const class guild_widget &gw, command_completion_event_t callback=utility::log_error()) |
Edit guild widget. More... | |
void | guild_get_vanity (snowflake guild_id, command_completion_event_t callback) |
Get guild vanity url, if enabled. More... | |
void | create_webhook (const class webhook &w, command_completion_event_t callback=utility::log_error()) |
Create a webhook. More... | |
void | get_guild_webhooks (snowflake guild_id, command_completion_event_t callback) |
Get guild webhooks. More... | |
void | get_channel_webhooks (snowflake channel_id, command_completion_event_t callback) |
Get channel webhooks. More... | |
void | get_webhook (snowflake webhook_id, command_completion_event_t callback) |
Get webhook. More... | |
void | get_webhook_with_token (snowflake webhook_id, const std::string &token, command_completion_event_t callback) |
Get webhook using token. More... | |
void | edit_webhook (const class webhook &wh, command_completion_event_t callback=utility::log_error()) |
Edit webhook. More... | |
void | edit_webhook_with_token (const class webhook &wh, command_completion_event_t callback=utility::log_error()) |
Edit webhook with token (token is encapsulated in the webhook object) More... | |
void | delete_webhook (snowflake webhook_id, command_completion_event_t callback=utility::log_error()) |
Delete a webhook. More... | |
void | delete_webhook_with_token (snowflake webhook_id, const std::string &token, command_completion_event_t callback=utility::log_error()) |
Delete webhook with token. More... | |
void | execute_webhook (const class webhook &wh, const struct message &m, bool wait=false, snowflake thread_id=0, const std::string &thread_name="", command_completion_event_t callback=utility::log_error()) |
Execute webhook. More... | |
void | get_webhook_message (const class webhook &wh, snowflake message_id, snowflake thread_id=0, command_completion_event_t callback=utility::log_error()) |
Get webhook message. More... | |
void | edit_webhook_message (const class webhook &wh, const struct message &m, snowflake thread_id=0, command_completion_event_t callback=utility::log_error()) |
Edit webhook message. More... | |
void | delete_webhook_message (const class webhook &wh, snowflake message_id, snowflake thread_id=0, command_completion_event_t callback=utility::log_error()) |
Delete webhook message. More... | |
void | roles_get (snowflake guild_id, command_completion_event_t callback) |
Get a role for a guild. More... | |
void | role_create (const class role &r, command_completion_event_t callback=utility::log_error()) |
Create a role on a guild. More... | |
void | role_edit (const class role &r, command_completion_event_t callback=utility::log_error()) |
Edit a role on a guild. More... | |
void | roles_edit_position (snowflake guild_id, const std::vector< role > &roles, command_completion_event_t callback=utility::log_error()) |
Edit multiple role's position in a guild. Returns a list of all roles of the guild on success. More... | |
void | role_delete (snowflake guild_id, snowflake role_id, command_completion_event_t callback=utility::log_error()) |
Delete a role. More... | |
void | user_get (snowflake user_id, command_completion_event_t callback) |
Get a user by id. More... | |
void | current_user_get (command_completion_event_t callback) |
Get current (bot) user. More... | |
void | current_application_get (command_completion_event_t callback) |
Get current (bot) application. More... | |
void | guild_current_member_edit (snowflake guild_id, const std::string &nickname, command_completion_event_t callback=utility::log_error()) |
Modify current member. More... | |
void | current_user_connections_get (command_completion_event_t callback) |
Get current user's connections (linked accounts, e.g. steam, xbox). This call requires the oauth2 connections scope and cannot be executed against a bot token. More... | |
void | current_user_get_guilds (command_completion_event_t callback) |
Get current (bot) user guilds. More... | |
void | current_user_edit (const std::string &nickname, const std::string &image_blob="", const image_type type=i_png, command_completion_event_t callback=utility::log_error()) |
Edit current (bot) user. More... | |
void | current_user_get_dms (command_completion_event_t callback) |
Get current user DM channels. More... | |
void | create_dm_channel (snowflake user_id, command_completion_event_t callback=utility::log_error()) |
Create a dm channel. More... | |
void | current_user_leave_guild (snowflake guild_id, command_completion_event_t callback=utility::log_error()) |
Leave a guild. More... | |
void | thread_create (const std::string &thread_name, snowflake channel_id, uint16_t auto_archive_duration, channel_type thread_type, bool invitable, uint16_t rate_limit_per_user, command_completion_event_t callback=utility::log_error()) |
Create a thread. More... | |
void | thread_create_with_message (const std::string &thread_name, snowflake channel_id, snowflake message_id, uint16_t auto_archive_duration, uint16_t rate_limit_per_user, command_completion_event_t callback=utility::log_error()) |
Create a thread with a message (Discord: ID of a thread is same as message ID) More... | |
void | current_user_join_thread (snowflake thread_id, command_completion_event_t callback=utility::log_error()) |
Join a thread. More... | |
void | current_user_leave_thread (snowflake thread_id, command_completion_event_t callback=utility::log_error()) |
Leave a thread. More... | |
void | thread_member_add (snowflake thread_id, snowflake user_id, command_completion_event_t callback=utility::log_error()) |
Add a member to a thread. More... | |
void | thread_member_remove (snowflake thread_id, snowflake user_id, command_completion_event_t callback=utility::log_error()) |
Remove a member from a thread. More... | |
void | thread_member_get (const snowflake thread_id, const snowflake user_id, command_completion_event_t callback) |
Get a thread member. More... | |
void | thread_members_get (snowflake thread_id, command_completion_event_t callback) |
Get members of a thread. More... | |
void | threads_get_active (snowflake channel_id, command_completion_event_t callback) |
Get active threads in a channel (Sorted by ID in descending order) More... | |
void | threads_get_public_archived (snowflake channel_id, time_t before_timestamp, uint16_t limit, command_completion_event_t callback) |
Get public archived threads in a channel (Sorted by archive_timestamp in descending order) More... | |
void | threads_get_private_archived (snowflake channel_id, time_t before_timestamp, uint16_t limit, command_completion_event_t callback) |
Get private archived threads in a channel (Sorted by archive_timestamp in descending order) More... | |
void | threads_get_joined_private_archived (snowflake channel_id, snowflake before_id, uint16_t limit, command_completion_event_t callback) |
Get private archived threads in a channel which current user has joined (Sorted by ID in descending order) More... | |
void | guild_sticker_create (sticker &s, command_completion_event_t callback=utility::log_error()) |
Create a sticker in a guild. More... | |
void | guild_sticker_modify (sticker &s, command_completion_event_t callback=utility::log_error()) |
Modify a sticker in a guild. More... | |
void | guild_sticker_delete (snowflake sticker_id, snowflake guild_id, command_completion_event_t callback=utility::log_error()) |
Delete a sticker from a guild. More... | |
void | nitro_sticker_get (snowflake id, command_completion_event_t callback) |
Get a nitro sticker. More... | |
void | guild_sticker_get (snowflake id, snowflake guild_id, command_completion_event_t callback) |
Get a guild sticker. More... | |
void | guild_stickers_get (snowflake guild_id, command_completion_event_t callback) |
Get all guild stickers. More... | |
void | sticker_packs_get (command_completion_event_t callback) |
Get sticker packs. More... | |
void | stage_instance_create (const stage_instance &instance, command_completion_event_t callback=utility::log_error()) |
Create a stage instance on a stage channel. More... | |
void | stage_instance_get (const snowflake channel_id, command_completion_event_t callback) |
Get the stage instance associated with the channel id, if it exists. More... | |
void | stage_instance_edit (const stage_instance &instance, command_completion_event_t callback=utility::log_error()) |
Edit a stage instance. More... | |
void | stage_instance_delete (const snowflake channel_id, command_completion_event_t callback=utility::log_error()) |
Delete a stage instance. More... | |
void | get_voice_regions (command_completion_event_t callback) |
Get all voice regions. More... | |
void | get_gateway_bot (command_completion_event_t callback) |
Get the gateway information for the bot using the token. More... | |
void | guild_events_get (snowflake guild_id, command_completion_event_t callback) |
Get all scheduled events for a guild. More... | |
void | guild_event_users_get (snowflake guild_id, snowflake event_id, command_completion_event_t callback, uint8_t limit=100, snowflake before=0, snowflake after=0) |
Get users RSVP'd to an event. More... | |
void | guild_event_create (const scheduled_event &event, command_completion_event_t callback=utility::log_error()) |
Create a scheduled event on a guild. More... | |
void | guild_event_delete (snowflake event_id, snowflake guild_id, command_completion_event_t callback=utility::log_error()) |
Delete a scheduled event from a guild. More... | |
void | guild_event_edit (const scheduled_event &event, command_completion_event_t callback=utility::log_error()) |
Edit/modify a scheduled event on a guild. More... | |
void | guild_event_get (snowflake guild_id, snowflake event_id, command_completion_event_t callback) |
Get a scheduled event for a guild. More... | |
void | current_user_set_voice_state (snowflake guild_id, snowflake channel_id, bool suppress=false, time_t request_to_speak_timestamp=0, command_completion_event_t callback=utility::log_error()) |
Set the bot's voice state on a stage channel. More... | |
void | user_set_voice_state (snowflake user_id, snowflake guild_id, snowflake channel_id, bool suppress=false, command_completion_event_t callback=utility::log_error()) |
Set a user's voice state on a stage channel. More... | |
void | automod_rules_get (snowflake guild_id, command_completion_event_t callback) |
Get all auto moderation rules for a guild. More... | |
void | automod_rule_get (snowflake guild_id, snowflake rule_id, command_completion_event_t callback) |
Get a single auto moderation rule. More... | |
void | automod_rule_create (snowflake guild_id, const automod_rule &r, command_completion_event_t callback=utility::log_error()) |
Create an auto moderation rule. More... | |
void | automod_rule_edit (snowflake guild_id, const automod_rule &r, command_completion_event_t callback=utility::log_error()) |
Edit an auto moderation rule. More... | |
void | automod_rule_delete (snowflake guild_id, snowflake rule_id, command_completion_event_t callback=utility::log_error()) |
Delete an auto moderation rule. More... | |
auto | co_global_bulk_command_create (const std::vector< slashcommand > &commands) |
Create/overwrite global slash commands. Any existing global slash commands will be deleted and replaced with these. More... | |
auto | co_global_command_create (const slashcommand &s) |
Create a global slash command (a bot can have a maximum of 100 of these). More... | |
auto | co_global_command_get (snowflake id) |
Get a global slash command. More... | |
auto | co_global_command_delete (snowflake id) |
Delete a global slash command (a bot can have a maximum of 100 of these) More... | |
auto | co_global_command_edit (const slashcommand &s) |
Edit a global slash command (a bot can have a maximum of 100 of these) More... | |
auto | co_global_commands_get () |
Get the application's global slash commands. More... | |
auto | co_guild_bulk_command_create (const std::vector< slashcommand > &commands, snowflake guild_id) |
Create/overwrite guild slash commands. Any existing guild slash commands on this guild will be deleted and replaced with these. More... | |
auto | co_guild_commands_get_permissions (snowflake guild_id) |
Get all slash command permissions of a guild. More... | |
auto | co_guild_bulk_command_edit_permissions (const std::vector< slashcommand > &commands, snowflake guild_id) |
Edit/Overwrite the permissions of all existing slash commands in a guild. More... | |
auto | co_guild_command_create (const slashcommand &s, snowflake guild_id) |
Create a slash command local to a guild. More... | |
auto | co_guild_command_delete (snowflake id, snowflake guild_id) |
Delete a slash command local to a guild. More... | |
auto | co_guild_command_edit_permissions (const slashcommand &s, snowflake guild_id) |
Edit slash command permissions of a guild. More... | |
auto | co_guild_command_get (snowflake id, snowflake guild_id) |
Get a slash command of a guild. More... | |
auto | co_guild_command_get_permissions (snowflake id, snowflake guild_id) |
Get the permissions for a slash command of a guild. More... | |
auto | co_guild_command_edit (const slashcommand &s, snowflake guild_id) |
Edit a slash command local to a guild. More... | |
auto | co_guild_commands_get (snowflake guild_id) |
Get the application's slash commands for a guild. More... | |
auto | co_interaction_response_create (snowflake interaction_id, const std::string &token, const interaction_response &r) |
Respond to a slash command. More... | |
auto | co_interaction_response_edit (const std::string &token, const message &m) |
Edit response to a slash command. More... | |
auto | co_interaction_followup_create (const std::string &token, const message &m) |
Create a followup message to a slash command. More... | |
auto | co_interaction_followup_edit_original (const std::string &token, const message &m) |
Edit original followup message to a slash command This is an alias for cluster::interaction_response_edit. More... | |
auto | co_interaction_followup_delete (const std::string &token) |
auto | co_interaction_followup_edit (const std::string &token, const message &m) |
Edit followup message to a slash command The message ID in the message you pass should be correctly set to that of a followup message you previously sent. More... | |
auto | co_interaction_followup_get (const std::string &token, snowflake message_id) |
Get the followup message to a slash command. More... | |
auto | co_automod_rules_get (snowflake guild_id) |
Get all auto moderation rules for a guild. More... | |
auto | co_automod_rule_get (snowflake guild_id, snowflake rule_id) |
Get a single auto moderation rule. More... | |
auto | co_automod_rule_create (snowflake guild_id, const automod_rule &r) |
Create an auto moderation rule. More... | |
auto | co_automod_rule_edit (snowflake guild_id, const automod_rule &r) |
Edit an auto moderation rule. More... | |
auto | co_automod_rule_delete (snowflake guild_id, snowflake rule_id) |
Delete an auto moderation rule. More... | |
auto | co_channel_create (const class channel &c) |
Create a channel. More... | |
auto | co_channel_delete_permission (const class channel &c, snowflake overwrite_id) |
Remove a permission from a channel. More... | |
auto | co_channel_delete (snowflake channel_id) |
Delete a channel. More... | |
auto | co_channel_edit_positions (const std::vector< channel > &c) |
Edit multiple channels positions. More... | |
auto | co_channel_edit (const class channel &c) |
Edit a channel. More... | |
auto | co_channel_follow_news (const class channel &c, snowflake target_channel_id) |
Follow an announcement (news) channel. More... | |
auto | co_channel_get (snowflake c) |
Get a channel. More... | |
auto | co_channel_invite_create (const class channel &c, const class invite &i) |
Create invite for a channel. More... | |
auto | co_channel_invites_get (const class channel &c) |
Get invites for a channel. More... | |
auto | co_channels_get (snowflake guild_id) |
Get all channels for a guild. More... | |
auto | co_create_dm_channel (snowflake user_id) |
Create a dm channel. More... | |
auto | co_current_user_get_dms () |
Get current user DM channels. More... | |
auto | co_direct_message_create (snowflake user_id, const message &m) |
Create a direct message, also create the channel for the direct message if needed. More... | |
auto | co_gdm_add (snowflake channel_id, snowflake user_id, const std::string &access_token, const std::string &nick) |
Adds a recipient to a Group DM using their access token. More... | |
auto | co_gdm_remove (snowflake channel_id, snowflake user_id) |
Removes a recipient from a Group DM. More... | |
auto | co_guild_emoji_create (snowflake guild_id, const class emoji &newemoji) |
Create single emoji. You must ensure that the emoji passed contained image data using the emoji::load_image() method. More... | |
auto | co_guild_emoji_delete (snowflake guild_id, snowflake emoji_id) |
Delete a guild emoji. More... | |
auto | co_guild_emoji_edit (snowflake guild_id, const class emoji &newemoji) |
Edit a single emoji. More... | |
auto | co_guild_emoji_get (snowflake guild_id, snowflake emoji_id) |
Get a single emoji. More... | |
auto | co_guild_emojis_get (snowflake guild_id) |
Get all emojis for a guild. More... | |
auto | co_get_gateway_bot () |
Get the gateway information for the bot using the token. More... | |
auto | co_guild_current_member_edit (snowflake guild_id, const std::string &nickname) |
Modify current member. More... | |
auto | co_guild_auditlog_get (snowflake guild_id, snowflake user_id, uint32_t action_type, snowflake before, uint32_t limit) |
Get the audit log for a guild. More... | |
auto | co_guild_ban_add (snowflake guild_id, snowflake user_id, uint32_t delete_message_days) |
Add guild ban. More... | |
auto | co_guild_ban_delete (snowflake guild_id, snowflake user_id) |
Delete guild ban. More... | |
auto | co_guild_create (const class guild &g) |
Create a guild. More... | |
auto | co_guild_delete (snowflake guild_id) |
Delete a guild. More... | |
auto | co_guild_delete_integration (snowflake guild_id, snowflake integration_id) |
Delete guild integration. More... | |
auto | co_guild_edit (const class guild &g) |
Edit a guild. More... | |
auto | co_guild_edit_widget (snowflake guild_id, const class guild_widget &gw) |
Edit guild widget. More... | |
auto | co_guild_get_ban (snowflake guild_id, snowflake user_id) |
Get single guild ban. More... | |
auto | co_guild_get_bans (snowflake guild_id, snowflake before, snowflake after, snowflake limit) |
Get guild ban list. More... | |
auto | co_guild_get_integrations (snowflake guild_id) |
Get guild integrations. More... | |
auto | co_guild_get_vanity (snowflake guild_id) |
Get guild vanity url, if enabled. More... | |
auto | co_guild_get_widget (snowflake guild_id) |
Get guild widget. More... | |
auto | co_guild_modify_integration (snowflake guild_id, const class integration &i) |
Modify guild integration. More... | |
auto | co_guild_get_prune_counts (snowflake guild_id, const struct prune &pruneinfo) |
Get prune counts. More... | |
auto | co_guild_begin_prune (snowflake guild_id, const struct prune &pruneinfo) |
Begin guild prune. More... | |
auto | co_guild_set_nickname (snowflake guild_id, const std::string &nickname) |
Change current user nickname. More... | |
auto | co_guild_sync_integration (snowflake guild_id, snowflake integration_id) |
Sync guild integration. More... | |
auto | co_guild_add_member (const guild_member &gm, const std::string &access_token) |
Add guild member. Needs a specific oauth2 scope, from which you get the access_token. More... | |
auto | co_guild_edit_member (const guild_member &gm) |
Edit the properties of an existing guild member. More... | |
auto | co_guild_get_member (snowflake guild_id, snowflake user_id) |
Get a guild member. More... | |
auto | co_guild_get_members (snowflake guild_id, uint16_t limit, snowflake after) |
Get all guild members. More... | |
auto | co_guild_member_add_role (snowflake guild_id, snowflake user_id, snowflake role_id) |
Add role to guild member. More... | |
auto | co_guild_member_delete (snowflake guild_id, snowflake user_id) |
Remove (kick) a guild member. More... | |
auto | co_guild_member_kick (snowflake guild_id, snowflake user_id) |
Remove (kick) a guild member. More... | |
auto | co_guild_member_timeout (snowflake guild_id, snowflake user_id, time_t communication_disabled_until) |
Set the timeout of a guild member. More... | |
auto | co_guild_member_delete_role (snowflake guild_id, snowflake user_id, snowflake role_id) |
Remove role from guild member. More... | |
auto | co_guild_member_remove_role (snowflake guild_id, snowflake user_id, snowflake role_id) |
Remove role from guild member. More... | |
auto | co_guild_member_move (const snowflake channel_id, const snowflake guild_id, const snowflake user_id) |
Moves the guild member to a other voice channel, if member is connected to one. Set the channel_id to 0 to disconnect the user. More... | |
auto | co_guild_search_members (snowflake guild_id, const std::string &query, uint16_t limit) |
Search for guild members based on whether their username or nickname starts with the given string. More... | |
auto | co_guild_get_invites (snowflake guild_id) |
Get guild invites. More... | |
auto | co_message_create (const message &m) |
Send a message to a channel. The callback function is called when the message has been sent. More... | |
auto | co_message_crosspost (snowflake message_id, snowflake channel_id) |
Crosspost a message. The callback function is called when the message has been sent. More... | |
auto | co_message_delete_bulk (const std::vector< snowflake > &message_ids, snowflake channel_id) |
Bulk delete messages from a channel. The callback function is called when the message has been edited. More... | |
auto | co_message_delete (snowflake message_id, snowflake channel_id) |
Delete a message from a channel. The callback function is called when the message has been edited. More... | |
auto | co_message_edit (const message &m) |
Edit a message on a channel. The callback function is called when the message has been edited. More... | |
auto | co_message_get (snowflake message_id, snowflake channel_id) |
Get a message. More... | |
auto | co_message_pin (snowflake channel_id, snowflake message_id) |
Pin a message. More... | |
auto | co_messages_get (snowflake channel_id, snowflake around, snowflake before, snowflake after, uint64_t limit) |
Get multiple messages. More... | |
auto | co_message_unpin (snowflake channel_id, snowflake message_id) |
Unpin a message. More... | |
auto | co_channel_pins_get (snowflake channel_id) |
Get a channel's pins. More... | |
auto | co_role_create (const class role &r) |
Create a role on a guild. More... | |
auto | co_role_delete (snowflake guild_id, snowflake role_id) |
Delete a role. More... | |
auto | co_role_edit (const class role &r) |
Edit a role on a guild. More... | |
auto | co_roles_edit_position (snowflake guild_id, const std::vector< role > &roles) |
Edit multiple role's position in a guild. Returns a list of all roles of the guild on success. More... | |
auto | co_roles_get (snowflake guild_id) |
Get a role for a guild. More... | |
auto | co_guild_events_get (snowflake guild_id) |
Get all scheduled events for a guild. More... | |
auto | co_guild_event_create (const scheduled_event &event) |
Create a scheduled event on a guild. More... | |
auto | co_guild_event_delete (snowflake event_id, snowflake guild_id) |
Delete a scheduled event from a guild. More... | |
auto | co_guild_event_edit (const scheduled_event &event) |
Edit/modify a scheduled event on a guild. More... | |
auto | co_guild_event_get (snowflake guild_id, snowflake event_id) |
Get a scheduled event for a guild. More... | |
auto | co_stage_instance_get (const snowflake channel_id) |
Get the stage instance associated with the channel id, if it exists. More... | |
auto | co_stage_instance_delete (const snowflake channel_id) |
Delete a stage instance. More... | |
auto | co_guild_sticker_create (sticker &s) |
Create a sticker in a guild. More... | |
auto | co_guild_sticker_delete (snowflake sticker_id, snowflake guild_id) |
Delete a sticker from a guild. More... | |
auto | co_guild_sticker_get (snowflake id, snowflake guild_id) |
Get a guild sticker. More... | |
auto | co_guild_sticker_modify (sticker &s) |
Modify a sticker in a guild. More... | |
auto | co_guild_stickers_get (snowflake guild_id) |
Get all guild stickers. More... | |
auto | co_nitro_sticker_get (snowflake id) |
Get a nitro sticker. More... | |
auto | co_sticker_packs_get () |
Get sticker packs. More... | |
auto | co_guild_create_from_template (const std::string &code, const std::string &name) |
Create a new guild based on a template. More... | |
auto | co_guild_template_create (snowflake guild_id, const std::string &name, const std::string &description) |
Creates a template for the guild. More... | |
auto | co_guild_template_delete (snowflake guild_id, const std::string &code) |
Deletes the template. More... | |
auto | co_guild_template_modify (snowflake guild_id, const std::string &code, const std::string &name, const std::string &description) |
Modifies the template's metadata. More... | |
auto | co_guild_templates_get (snowflake guild_id) |
Get guild templates. More... | |
auto | co_guild_template_sync (snowflake guild_id, const std::string &code) |
Syncs the template to the guild's current state. More... | |
auto | co_template_get (const std::string &code) |
Get a template. More... | |
auto | co_current_user_join_thread (snowflake thread_id) |
Join a thread. More... | |
auto | co_current_user_leave_thread (snowflake thread_id) |
Leave a thread. More... | |
auto | co_threads_get_active (snowflake channel_id) |
Get active threads in a channel (Sorted by ID in descending order) More... | |
auto | co_threads_get_joined_private_archived (snowflake channel_id, snowflake before_id, uint16_t limit) |
Get private archived threads in a channel which current user has joined (Sorted by ID in descending order) More... | |
auto | co_threads_get_private_archived (snowflake channel_id, time_t before_timestamp, uint16_t limit) |
Get private archived threads in a channel (Sorted by archive_timestamp in descending order) More... | |
auto | co_threads_get_public_archived (snowflake channel_id, time_t before_timestamp, uint16_t limit) |
Get public archived threads in a channel (Sorted by archive_timestamp in descending order) More... | |
auto | co_thread_member_get (const snowflake thread_id, const snowflake user_id) |
Get a thread member. More... | |
auto | co_thread_members_get (snowflake thread_id) |
Get members of a thread. More... | |
auto | co_thread_create (const std::string &thread_name, snowflake channel_id, uint16_t auto_archive_duration, channel_type thread_type, bool invitable, uint16_t rate_limit_per_user) |
Create a thread. More... | |
auto | co_thread_create_with_message (const std::string &thread_name, snowflake channel_id, snowflake message_id, uint16_t auto_archive_duration, uint16_t rate_limit_per_user) |
Create a thread with a message (Discord: ID of a thread is same as message ID) More... | |
auto | co_thread_member_add (snowflake thread_id, snowflake user_id) |
Add a member to a thread. More... | |
auto | co_thread_member_remove (snowflake thread_id, snowflake user_id) |
Remove a member from a thread. More... | |
auto | co_current_user_edit (const std::string &nickname, const std::string &image_blob, const image_type type) |
Edit current (bot) user. More... | |
auto | co_current_application_get () |
Get current (bot) application. More... | |
auto | co_current_user_get () |
Get current (bot) user. More... | |
auto | co_current_user_set_voice_state (snowflake guild_id, snowflake channel_id, bool suppress, time_t request_to_speak_timestamp) |
Set the bot's voice state on a stage channel. More... | |
auto | co_user_set_voice_state (snowflake user_id, snowflake guild_id, snowflake channel_id, bool suppress) |
Set a user's voice state on a stage channel. More... | |
auto | co_current_user_connections_get () |
Get current user's connections (linked accounts, e.g. steam, xbox). This call requires the oauth2 connections scope and cannot be executed against a bot token. More... | |
auto | co_current_user_get_guilds () |
Get current (bot) user guilds. More... | |
auto | co_current_user_leave_guild (snowflake guild_id) |
Leave a guild. More... | |
auto | co_user_get (snowflake user_id) |
Get a user by id. More... | |
auto | co_get_voice_regions () |
Get all voice regions. More... | |
auto | co_guild_get_voice_regions (snowflake guild_id) |
Get guild voice regions. More... | |
auto | co_create_webhook (const class webhook &w) |
Create a webhook. More... | |
auto | co_delete_webhook (snowflake webhook_id) |
Delete a webhook. More... | |
auto | co_delete_webhook_message (const class webhook &wh, snowflake message_id, snowflake thread_id) |
Delete webhook message. More... | |
auto | co_delete_webhook_with_token (snowflake webhook_id, const std::string &token) |
Delete webhook with token. More... | |
auto | co_edit_webhook (const class webhook &wh) |
Edit webhook. More... | |
auto | co_edit_webhook_message (const class webhook &wh, const struct message &m, snowflake thread_id) |
Edit webhook message. More... | |
auto | co_edit_webhook_with_token (const class webhook &wh) |
Edit webhook with token (token is encapsulated in the webhook object) More... | |
auto | co_execute_webhook (const class webhook &wh, const struct message &m, bool wait, snowflake thread_id, const std::string &thread_name) |
Execute webhook. More... | |
auto | co_get_channel_webhooks (snowflake channel_id) |
Get channel webhooks. More... | |
auto | co_get_guild_webhooks (snowflake guild_id) |
Get guild webhooks. More... | |
auto | co_get_webhook (snowflake webhook_id) |
Get webhook. More... | |
auto | co_get_webhook_message (const class webhook &wh, snowflake message_id, snowflake thread_id) |
Get webhook message. More... | |
auto | co_get_webhook_with_token (snowflake webhook_id, const std::string &token) |
Get webhook using token. More... | |
slashcommand_map | global_bulk_command_create_sync (const std::vector< slashcommand > &commands) |
Create/overwrite global slash commands. Any existing global slash commands will be deleted and replaced with these. More... | |
slashcommand | global_command_create_sync (const slashcommand &s) |
Create a global slash command (a bot can have a maximum of 100 of these). More... | |
slashcommand | global_command_get_sync (snowflake id) |
Get a global slash command. More... | |
confirmation | global_command_delete_sync (snowflake id) |
Delete a global slash command (a bot can have a maximum of 100 of these) More... | |
confirmation | global_command_edit_sync (const slashcommand &s) |
Edit a global slash command (a bot can have a maximum of 100 of these) More... | |
slashcommand_map | global_commands_get_sync () |
Get the application's global slash commands. More... | |
slashcommand_map | guild_bulk_command_create_sync (const std::vector< slashcommand > &commands, snowflake guild_id) |
Create/overwrite guild slash commands. Any existing guild slash commands on this guild will be deleted and replaced with these. More... | |
guild_command_permissions_map | guild_commands_get_permissions_sync (snowflake guild_id) |
Get all slash command permissions of a guild. More... | |
guild_command_permissions_map | guild_bulk_command_edit_permissions_sync (const std::vector< slashcommand > &commands, snowflake guild_id) |
Edit/Overwrite the permissions of all existing slash commands in a guild. More... | |
slashcommand | guild_command_create_sync (const slashcommand &s, snowflake guild_id) |
Create a slash command local to a guild. More... | |
confirmation | guild_command_delete_sync (snowflake id, snowflake guild_id) |
Delete a slash command local to a guild. More... | |
confirmation | guild_command_edit_permissions_sync (const slashcommand &s, snowflake guild_id) |
Edit slash command permissions of a guild. More... | |
slashcommand | guild_command_get_sync (snowflake id, snowflake guild_id) |
Get a slash command of a guild. More... | |
guild_command_permissions | guild_command_get_permissions_sync (snowflake id, snowflake guild_id) |
Get the permissions for a slash command of a guild. More... | |
confirmation | guild_command_edit_sync (const slashcommand &s, snowflake guild_id) |
Edit a slash command local to a guild. More... | |
slashcommand_map | guild_commands_get_sync (snowflake guild_id) |
Get the application's slash commands for a guild. More... | |
confirmation | interaction_response_create_sync (snowflake interaction_id, const std::string &token, const interaction_response &r) |
Respond to a slash command. More... | |
confirmation | interaction_response_edit_sync (const std::string &token, const message &m) |
Edit response to a slash command. More... | |
confirmation | interaction_followup_create_sync (const std::string &token, const message &m) |
Create a followup message to a slash command. More... | |
confirmation | interaction_followup_edit_original_sync (const std::string &token, const message &m) |
Edit original followup message to a slash command This is an alias for cluster::interaction_response_edit. More... | |
confirmation | interaction_followup_delete_sync (const std::string &token) |
confirmation | interaction_followup_edit_sync (const std::string &token, const message &m) |
Edit followup message to a slash command The message ID in the message you pass should be correctly set to that of a followup message you previously sent. More... | |
message | interaction_followup_get_sync (const std::string &token, snowflake message_id) |
Get the followup message to a slash command. More... | |
automod_rule_map | automod_rules_get_sync (snowflake guild_id) |
Get all auto moderation rules for a guild. More... | |
automod_rule | automod_rule_get_sync (snowflake guild_id, snowflake rule_id) |
Get a single auto moderation rule. More... | |
automod_rule | automod_rule_create_sync (snowflake guild_id, const automod_rule &r) |
Create an auto moderation rule. More... | |
automod_rule | automod_rule_edit_sync (snowflake guild_id, const automod_rule &r) |
Edit an auto moderation rule. More... | |
confirmation | automod_rule_delete_sync (snowflake guild_id, snowflake rule_id) |
Delete an auto moderation rule. More... | |
channel | channel_create_sync (const class channel &c) |
Create a channel. More... | |
confirmation | channel_delete_permission_sync (const class channel &c, snowflake overwrite_id) |
Remove a permission from a channel. More... | |
confirmation | channel_delete_sync (snowflake channel_id) |
Delete a channel. More... | |
confirmation | channel_edit_positions_sync (const std::vector< channel > &c) |
Edit multiple channels positions. More... | |
channel | channel_edit_sync (const class channel &c) |
Edit a channel. More... | |
confirmation | channel_follow_news_sync (const class channel &c, snowflake target_channel_id) |
Follow an announcement (news) channel. More... | |
channel | channel_get_sync (snowflake c) |
Get a channel. More... | |
confirmation | channel_invite_create_sync (const class channel &c, const class invite &i) |
Create invite for a channel. More... | |
invite_map | channel_invites_get_sync (const class channel &c) |
Get invites for a channel. More... | |
channel_map | channels_get_sync (snowflake guild_id) |
Get all channels for a guild. More... | |
channel | create_dm_channel_sync (snowflake user_id) |
Create a dm channel. More... | |
channel_map | current_user_get_dms_sync () |
Get current user DM channels. More... | |
message | direct_message_create_sync (snowflake user_id, const message &m) |
Create a direct message, also create the channel for the direct message if needed. More... | |
confirmation | gdm_add_sync (snowflake channel_id, snowflake user_id, const std::string &access_token, const std::string &nick) |
Adds a recipient to a Group DM using their access token. More... | |
confirmation | gdm_remove_sync (snowflake channel_id, snowflake user_id) |
Removes a recipient from a Group DM. More... | |
emoji | guild_emoji_create_sync (snowflake guild_id, const class emoji &newemoji) |
Create single emoji. You must ensure that the emoji passed contained image data using the emoji::load_image() method. More... | |
confirmation | guild_emoji_delete_sync (snowflake guild_id, snowflake emoji_id) |
Delete a guild emoji. More... | |
emoji | guild_emoji_edit_sync (snowflake guild_id, const class emoji &newemoji) |
Edit a single emoji. More... | |
emoji | guild_emoji_get_sync (snowflake guild_id, snowflake emoji_id) |
Get a single emoji. More... | |
emoji_map | guild_emojis_get_sync (snowflake guild_id) |
Get all emojis for a guild. More... | |
gateway | get_gateway_bot_sync () |
Get the gateway information for the bot using the token. More... | |
confirmation | guild_current_member_edit_sync (snowflake guild_id, const std::string &nickname) |
Modify current member. More... | |
auditlog | guild_auditlog_get_sync (snowflake guild_id, snowflake user_id, uint32_t action_type, snowflake before, uint32_t limit) |
Get the audit log for a guild. More... | |
confirmation | guild_ban_add_sync (snowflake guild_id, snowflake user_id, uint32_t delete_message_days=0) |
Add guild ban. More... | |
confirmation | guild_ban_delete_sync (snowflake guild_id, snowflake user_id) |
Delete guild ban. More... | |
guild | guild_create_sync (const class guild &g) |
Create a guild. More... | |
confirmation | guild_delete_sync (snowflake guild_id) |
Delete a guild. More... | |
confirmation | guild_delete_integration_sync (snowflake guild_id, snowflake integration_id) |
Delete guild integration. More... | |
guild | guild_edit_sync (const class guild &g) |
Edit a guild. More... | |
guild_widget | guild_edit_widget_sync (snowflake guild_id, const class guild_widget &gw) |
Edit guild widget. More... | |
ban | guild_get_ban_sync (snowflake guild_id, snowflake user_id) |
Get single guild ban. More... | |
ban_map | guild_get_bans_sync (snowflake guild_id, snowflake before, snowflake after, snowflake limit) |
Get guild ban list. More... | |
integration_map | guild_get_integrations_sync (snowflake guild_id) |
Get guild integrations. More... | |
invite | guild_get_vanity_sync (snowflake guild_id) |
Get guild vanity url, if enabled. More... | |
guild_widget | guild_get_widget_sync (snowflake guild_id) |
Get guild widget. More... | |
confirmation | guild_modify_integration_sync (snowflake guild_id, const class integration &i) |
Modify guild integration. More... | |
prune | guild_get_prune_counts_sync (snowflake guild_id, const struct prune &pruneinfo) |
Get prune counts. More... | |
prune | guild_begin_prune_sync (snowflake guild_id, const struct prune &pruneinfo) |
Begin guild prune. More... | |
confirmation | guild_set_nickname_sync (snowflake guild_id, const std::string &nickname) |
Change current user nickname. More... | |
confirmation | guild_sync_integration_sync (snowflake guild_id, snowflake integration_id) |
Sync guild integration. More... | |
confirmation | guild_add_member_sync (const guild_member &gm, const std::string &access_token) |
Add guild member. Needs a specific oauth2 scope, from which you get the access_token. More... | |
guild_member | guild_edit_member_sync (const guild_member &gm) |
Edit the properties of an existing guild member. More... | |
guild_member | guild_get_member_sync (snowflake guild_id, snowflake user_id) |
Get a guild member. More... | |
guild_member_map | guild_get_members_sync (snowflake guild_id, uint16_t limit, snowflake after) |
Get all guild members. More... | |
confirmation | guild_member_add_role_sync (snowflake guild_id, snowflake user_id, snowflake role_id) |
Add role to guild member. More... | |
confirmation | guild_member_delete_sync (snowflake guild_id, snowflake user_id) |
Remove (kick) a guild member. More... | |
confirmation | guild_member_kick_sync (snowflake guild_id, snowflake user_id) |
Remove (kick) a guild member. More... | |
confirmation | guild_member_timeout_sync (snowflake guild_id, snowflake user_id, time_t communication_disabled_until) |
Set the timeout of a guild member. More... | |
confirmation | guild_member_delete_role_sync (snowflake guild_id, snowflake user_id, snowflake role_id) |
Remove role from guild member. More... | |
confirmation | guild_member_remove_role_sync (snowflake guild_id, snowflake user_id, snowflake role_id) |
Remove role from guild member. More... | |
guild_member | guild_member_move_sync (const snowflake channel_id, const snowflake guild_id, const snowflake user_id) |
Moves the guild member to a other voice channel, if member is connected to one. Set the channel_id to 0 to disconnect the user. More... | |
guild_member_map | guild_search_members_sync (snowflake guild_id, const std::string &query, uint16_t limit) |
Search for guild members based on whether their username or nickname starts with the given string. More... | |
invite_map | guild_get_invites_sync (snowflake guild_id) |
Get guild invites. More... | |
message | message_create_sync (const struct message &m) |
Send a message to a channel. The callback function is called when the message has been sent. More... | |
message | message_crosspost_sync (snowflake message_id, snowflake channel_id) |
Crosspost a message. The callback function is called when the message has been sent. More... | |
confirmation | message_delete_bulk_sync (const std::vector< snowflake > &message_ids, snowflake channel_id) |
Bulk delete messages from a channel. The callback function is called when the message has been edited. More... | |
confirmation | message_delete_sync (snowflake message_id, snowflake channel_id) |
Delete a message from a channel. The callback function is called when the message has been edited. More... | |
message | message_edit_sync (const struct message &m) |
Edit a message on a channel. The callback function is called when the message has been edited. More... | |
message | message_get_sync (snowflake message_id, snowflake channel_id) |
Get a message. More... | |
confirmation | message_pin_sync (snowflake channel_id, snowflake message_id) |
Pin a message. More... | |
message_map | messages_get_sync (snowflake channel_id, snowflake around, snowflake before, snowflake after, uint64_t limit) |
Get multiple messages. More... | |
confirmation | message_unpin_sync (snowflake channel_id, snowflake message_id) |
Unpin a message. More... | |
message_map | channel_pins_get_sync (snowflake channel_id) |
Get a channel's pins. More... | |
role | role_create_sync (const class role &r) |
Create a role on a guild. More... | |
confirmation | role_delete_sync (snowflake guild_id, snowflake role_id) |
Delete a role. More... | |
role | role_edit_sync (const class role &r) |
Edit a role on a guild. More... | |
role_map | roles_edit_position_sync (snowflake guild_id, const std::vector< role > &roles) |
Edit multiple role's position in a guild. Returns a list of all roles of the guild on success. More... | |
role_map | roles_get_sync (snowflake guild_id) |
Get a role for a guild. More... | |
scheduled_event_map | guild_events_get_sync (snowflake guild_id) |
Get all scheduled events for a guild. More... | |
scheduled_event | guild_event_create_sync (const scheduled_event &event) |
Create a scheduled event on a guild. More... | |
confirmation | guild_event_delete_sync (snowflake event_id, snowflake guild_id) |
Delete a scheduled event from a guild. More... | |
scheduled_event | guild_event_edit_sync (const scheduled_event &event) |
Edit/modify a scheduled event on a guild. More... | |
scheduled_event | guild_event_get_sync (snowflake guild_id, snowflake event_id) |
Get a scheduled event for a guild. More... | |
stage_instance | stage_instance_get_sync (const snowflake channel_id) |
Get the stage instance associated with the channel id, if it exists. More... | |
confirmation | stage_instance_delete_sync (const snowflake channel_id) |
Delete a stage instance. More... | |
sticker | guild_sticker_create_sync (sticker &s) |
Create a sticker in a guild. More... | |
confirmation | guild_sticker_delete_sync (snowflake sticker_id, snowflake guild_id) |
Delete a sticker from a guild. More... | |
sticker | guild_sticker_get_sync (snowflake id, snowflake guild_id) |
Get a guild sticker. More... | |
sticker | guild_sticker_modify_sync (sticker &s) |
Modify a sticker in a guild. More... | |
sticker_map | guild_stickers_get_sync (snowflake guild_id) |
Get all guild stickers. More... | |
sticker | nitro_sticker_get_sync (snowflake id) |
Get a nitro sticker. More... | |
sticker_pack_map | sticker_packs_get_sync () |
Get sticker packs. More... | |
guild | guild_create_from_template_sync (const std::string &code, const std::string &name) |
Create a new guild based on a template. More... | |
dtemplate | guild_template_create_sync (snowflake guild_id, const std::string &name, const std::string &description) |
Creates a template for the guild. More... | |
confirmation | guild_template_delete_sync (snowflake guild_id, const std::string &code) |
Deletes the template. More... | |
dtemplate | guild_template_modify_sync (snowflake guild_id, const std::string &code, const std::string &name, const std::string &description) |
Modifies the template's metadata. More... | |
dtemplate_map | guild_templates_get_sync (snowflake guild_id) |
Get guild templates. More... | |
dtemplate | guild_template_sync_sync (snowflake guild_id, const std::string &code) |
Syncs the template to the guild's current state. More... | |
dtemplate | template_get_sync (const std::string &code) |
Get a template. More... | |
confirmation | current_user_join_thread_sync (snowflake thread_id) |
Join a thread. More... | |
confirmation | current_user_leave_thread_sync (snowflake thread_id) |
Leave a thread. More... | |
thread_map | threads_get_active_sync (snowflake channel_id) |
Get active threads in a channel (Sorted by ID in descending order) More... | |
thread_map | threads_get_joined_private_archived_sync (snowflake channel_id, snowflake before_id, uint16_t limit) |
Get private archived threads in a channel which current user has joined (Sorted by ID in descending order) More... | |
thread_map | threads_get_private_archived_sync (snowflake channel_id, time_t before_timestamp, uint16_t limit) |
Get private archived threads in a channel (Sorted by archive_timestamp in descending order) More... | |
thread_map | threads_get_public_archived_sync (snowflake channel_id, time_t before_timestamp, uint16_t limit) |
Get public archived threads in a channel (Sorted by archive_timestamp in descending order) More... | |
thread_member | thread_member_get_sync (const snowflake thread_id, const snowflake user_id) |
Get a thread member. More... | |
thread_member_map | thread_members_get_sync (snowflake thread_id) |
Get members of a thread. More... | |
thread | thread_create_sync (const std::string &thread_name, snowflake channel_id, uint16_t auto_archive_duration, channel_type thread_type, bool invitable, uint16_t rate_limit_per_user) |
Create a thread. More... | |
thread | thread_create_with_message_sync (const std::string &thread_name, snowflake channel_id, snowflake message_id, uint16_t auto_archive_duration, uint16_t rate_limit_per_user) |
Create a thread with a message (Discord: ID of a thread is same as message ID) More... | |
confirmation | thread_member_add_sync (snowflake thread_id, snowflake user_id) |
Add a member to a thread. More... | |
confirmation | thread_member_remove_sync (snowflake thread_id, snowflake user_id) |
Remove a member from a thread. More... | |
user | current_user_edit_sync (const std::string &nickname, const std::string &image_blob="", const image_type type=i_png) |
Edit current (bot) user. More... | |
application | current_application_get_sync () |
Get current (bot) application. More... | |
user_identified | current_user_get_sync () |
Get current (bot) user. More... | |
confirmation | current_user_set_voice_state_sync (snowflake guild_id, snowflake channel_id, bool suppress=false, time_t request_to_speak_timestamp=0) |
Set the bot's voice state on a stage channel. More... | |
confirmation | user_set_voice_state_sync (snowflake user_id, snowflake guild_id, snowflake channel_id, bool suppress=false) |
Set a user's voice state on a stage channel. More... | |
connection_map | current_user_connections_get_sync () |
Get current user's connections (linked accounts, e.g. steam, xbox). This call requires the oauth2 connections scope and cannot be executed against a bot token. More... | |
guild_map | current_user_get_guilds_sync () |
Get current (bot) user guilds. More... | |
confirmation | current_user_leave_guild_sync (snowflake guild_id) |
Leave a guild. More... | |
user_identified | user_get_sync (snowflake user_id) |
Get a user by id. More... | |
voiceregion_map | get_voice_regions_sync () |
Get all voice regions. More... | |
voiceregion_map | guild_get_voice_regions_sync (snowflake guild_id) |
Get guild voice regions. More... | |
webhook | create_webhook_sync (const class webhook &w) |
Create a webhook. More... | |
confirmation | delete_webhook_sync (snowflake webhook_id) |
Delete a webhook. More... | |
confirmation | delete_webhook_message_sync (const class webhook &wh, snowflake message_id, snowflake thread_id=0) |
Delete webhook message. More... | |
confirmation | delete_webhook_with_token_sync (snowflake webhook_id, const std::string &token) |
Delete webhook with token. More... | |
webhook | edit_webhook_sync (const class webhook &wh) |
Edit webhook. More... | |
message | edit_webhook_message_sync (const class webhook &wh, const struct message &m, snowflake thread_id=0) |
Edit webhook message. More... | |
webhook | edit_webhook_with_token_sync (const class webhook &wh) |
Edit webhook with token (token is encapsulated in the webhook object) More... | |
message | execute_webhook_sync (const class webhook &wh, const struct message &m, bool wait=false, snowflake thread_id=0, const std::string &thread_name="") |
Execute webhook. More... | |
webhook_map | get_channel_webhooks_sync (snowflake channel_id) |
Get channel webhooks. More... | |
webhook_map | get_guild_webhooks_sync (snowflake guild_id) |
Get guild webhooks. More... | |
webhook | get_webhook_sync (snowflake webhook_id) |
Get webhook. More... | |
message | get_webhook_message_sync (const class webhook &wh, snowflake message_id, snowflake thread_id=0) |
Get webhook message. More... | |
webhook | get_webhook_with_token_sync (snowflake webhook_id, const std::string &token) |
Get webhook using token. More... | |
Public Attributes | |
std::string | token |
Current bot token for all shards on this cluster and all commands sent via HTTP. More... | |
time_t | last_identify |
Last time the bot sent an IDENTIFY. More... | |
uint32_t | intents |
Current bitmask of gateway intents. More... | |
uint32_t | numshards |
Total number of shards across all clusters. More... | |
uint32_t | cluster_id |
ID of this cluster, between 0 and MAXCLUSTERS-1 inclusive. More... | |
uint32_t | maxclusters |
Total number of clusters that are active. More... | |
double | rest_ping |
REST latency (HTTPS ping) in seconds. More... | |
dpp::user | me |
The details of the bot user. This is assumed to be identical across all shards in the cluster. Each connecting shard updates this information. More... | |
cache_policy_t | cache_policy |
Current cache policy for the cluster. More... | |
websocket_protocol_t | ws_mode |
Websocket mode for all shards in the cluster, either ws_json or ws_etf. Production bots should use ETF, while development bots should use JSON. More... | |
std::condition_variable | terminating |
Condition variable notified when the cluster is terminating. More... | |
event_router_t< voice_state_update_t > | on_voice_state_update |
on voice state update event More... | |
event_router_t< voice_client_disconnect_t > | on_voice_client_disconnect |
on voice client disconnect event More... | |
event_router_t< voice_client_speaking_t > | on_voice_client_speaking |
on voice client speaking event More... | |
event_router_t< log_t > | on_log |
Called when a log message is to be written to the log. You can attach any logging system here you wish, e.g. spdlog, or even just a simple use of std::cout or printf. If nothing attaches this log event, then the library will be silent. More... | |
event_router_t< guild_join_request_delete_t > | on_guild_join_request_delete |
on guild join request delete. Triggered when a user declines the membership screening questionnaire for a guild. More... | |
event_router_t< interaction_create_t > | on_interaction_create |
Called when a new interaction is created. Interactions are created by discord when commands you have registered are issued by a user. For an example of this in action please see Using Slash Commands and Interactions. More... | |
event_router_t< slashcommand_t > | on_slashcommand |
Called when a slash command is issued. Only dpp::ctxm_chat_input types of interaction are routed to this event. For an example of this in action please see Using Slash Commands and Interactions. More... | |
event_router_t< button_click_t > | on_button_click |
Called when a button is clicked attached to a message. Button clicks are triggered by discord when buttons are clicked which you have associated with a message using dpp::component. More... | |
event_router_t< autocomplete_t > | on_autocomplete |
Called when an auto completed field needs suggestions to present to the user This is triggered by discord when option choices have auto completion enabled which you have associated with a dpp::slashcommand. More... | |
event_router_t< select_click_t > | on_select_click |
Called when a select menu is clicked attached to a message. Select menu clicks are triggered by discord when select menus are clicked which you have associated with a message using dpp::component. More... | |
event_router_t< message_context_menu_t > | on_message_context_menu |
Called when a user right-clicks or long-presses on a message, where a slash command is bound to the dpp::ctxm_message command type. More... | |
event_router_t< user_context_menu_t > | on_user_context_menu |
Called when a user right-clicks or long-presses on a user, where a slash command is bound to the dpp::ctxm_user command type. More... | |
event_router_t< form_submit_t > | on_form_submit |
Called when a modal dialog is submitted. Form submits are triggered by discord when modal dialogs are submitted which you have associated with a slash command using dpp::interaction_modal_response. More... | |
event_router_t< guild_delete_t > | on_guild_delete |
Called when a guild is deleted. A guild can be deleted via the bot being kicked, the bot leaving the guild explicitly with dpp::cluster::guild_delete, or via the guild being unavailable due to an outage. More... | |
event_router_t< channel_delete_t > | on_channel_delete |
Called when a channel is deleted from a guild. The channel will still be temporarily available in the cache. Pointers to the channel should not be retained long-term as they will be deleted by the garbage collector. More... | |
event_router_t< channel_update_t > | on_channel_update |
Called when a channel is edited on a guild. The new channel details have already been applied to the guild when you receive this event. More... | |
event_router_t< ready_t > | on_ready |
Called when a shard is connected and ready. A set of cluster::on_guild_create events will follow this event. More... | |
event_router_t< message_delete_t > | on_message_delete |
Called when a message is deleted. The message has already been deleted from Discord when you receive this event. More... | |
event_router_t< guild_member_remove_t > | on_guild_member_remove |
Called when a user leaves a guild (either through being kicked, or choosing to leave) More... | |
event_router_t< resumed_t > | on_resumed |
Called when a connection to a shard successfully resumes. A resumed session does not need to re-synchronise guilds, members, etc. This is generally non-fatal and informational only. More... | |
event_router_t< guild_role_create_t > | on_guild_role_create |
Called when a new role is created on a guild. More... | |
event_router_t< typing_start_t > | on_typing_start |
Called when a user is typing on a channel. More... | |
event_router_t< message_reaction_add_t > | on_message_reaction_add |
Called when a new reaction is added to a message. More... | |
event_router_t< guild_members_chunk_t > | on_guild_members_chunk |
Called when a set of members is received for a guild. D++ will request these for all new guilds if needed, after the cluster::on_guild_create events. More... | |
event_router_t< message_reaction_remove_t > | on_message_reaction_remove |
Called when a single reaction is removed from a message. More... | |
event_router_t< guild_create_t > | on_guild_create |
Called when a new guild is created. D++ will request members for the guild for its cache using guild_members_chunk. More... | |
event_router_t< channel_create_t > | on_channel_create |
Called when a new channel is created on a guild. More... | |
event_router_t< message_reaction_remove_emoji_t > | on_message_reaction_remove_emoji |
Called when all reactions for a particular emoji are removed from a message. More... | |
event_router_t< message_delete_bulk_t > | on_message_delete_bulk |
Called when multiple messages are deleted from a channel or DM. More... | |
event_router_t< guild_role_update_t > | on_guild_role_update |
Called when an existing role is updated on a guild. More... | |
event_router_t< guild_role_delete_t > | on_guild_role_delete |
Called when a role is deleted in a guild. More... | |
event_router_t< channel_pins_update_t > | on_channel_pins_update |
Called when a message is pinned. Note that the pinned message is not returned to this event, just the timestamp of the last pinned message. More... | |
event_router_t< message_reaction_remove_all_t > | on_message_reaction_remove_all |
Called when all reactions are removed from a message. More... | |
event_router_t< voice_server_update_t > | on_voice_server_update |
Called when we are told which voice server we can use. This will be sent either when we establish a new voice channel connection, or as discord rearrange their infrastructure. More... | |
event_router_t< guild_emojis_update_t > | on_guild_emojis_update |
Called when new emojis are added to a guild. The complete set of emojis is sent every time. More... | |
event_router_t< guild_stickers_update_t > | on_guild_stickers_update |
Called when new stickers are added to a guild. The complete set of stickers is sent every time. More... | |
event_router_t< presence_update_t > | on_presence_update |
Called when a user's presence is updated. To receive these you will need the GUILD_PRESENCES privileged intent. You will receive many of these, very often, and receiving them will significantly increase your bot's CPU usage. If you don't need them it is recommended to not ask for them. More... | |
event_router_t< webhooks_update_t > | on_webhooks_update |
Called when the webhooks for a guild are updated. More... | |
event_router_t< automod_rule_create_t > | on_automod_rule_create |
Called when a new automod rule is created. More... | |
event_router_t< automod_rule_update_t > | on_automod_rule_update |
Called when an automod rule is updated. More... | |
event_router_t< automod_rule_delete_t > | on_automod_rule_delete |
Called when an automod rule is deleted. More... | |
event_router_t< automod_rule_execute_t > | on_automod_rule_execute |
Called when an automod rule is triggered/executed. More... | |
event_router_t< guild_member_add_t > | on_guild_member_add |
Called when a new member joins a guild. More... | |
event_router_t< invite_delete_t > | on_invite_delete |
Called when an invite is deleted from a guild. More... | |
event_router_t< guild_update_t > | on_guild_update |
Called when details of a guild are updated. More... | |
event_router_t< guild_integrations_update_t > | on_guild_integrations_update |
Called when an integration is updated for a guild. This returns the complete list. An integration is a connection to a guild of a user's associated accounts, e.g. youtube or twitch, for automatic assignment of roles etc. More... | |
event_router_t< guild_member_update_t > | on_guild_member_update |
Called when details of a guild member (e.g. their roles or nickname) are updated. More... | |
event_router_t< invite_create_t > | on_invite_create |
Called when a new invite is created for a guild. More... | |
event_router_t< message_update_t > | on_message_update |
Called when a message is updated (edited). More... | |
event_router_t< user_update_t > | on_user_update |
Called when a user is updated. This is separate to cluster::on_guild_member_update and includes things such as an avatar change, username change, discriminator change or change in subscription status for nitro. More... | |
event_router_t< message_create_t > | on_message_create |
Called when a new message arrives from discord. Note that D++ does not cache messages. If you want to cache these objects you should create something yourself within your bot. Caching of messages is not on the roadmap to be supported as it consumes excessive amounts of RAM. For an example for caching of messages, please see Caching Messages. More... | |
event_router_t< guild_ban_add_t > | on_guild_ban_add |
Called when a ban is added to a guild. More... | |
event_router_t< guild_ban_remove_t > | on_guild_ban_remove |
Called when a ban is removed from a guild. More... | |
event_router_t< integration_create_t > | on_integration_create |
Called when a new integration is attached to a guild by a user. An integration is a connection to a guild of a user's associated accounts, e.g. youtube or twitch, for automatic assignment of roles etc. More... | |
event_router_t< integration_update_t > | on_integration_update |
Called when an integration is updated by a user. This returns details of just the single integration that has changed. An integration is a connection to a guild of a user's associated accounts, e.g. youtube or twitch, for automatic assignment of roles etc. More... | |
event_router_t< integration_delete_t > | on_integration_delete |
Called when an integration is removed by a user. An integration is a connection to a guild of a user's associated accounts, e.g. youtube or twitch, for automatic assignment of roles etc. More... | |
event_router_t< thread_create_t > | on_thread_create |
Called when a thread is created. Note that threads are not cached by D++, but a list of thread IDs is accessible in a guild object. More... | |
event_router_t< thread_update_t > | on_thread_update |
Called when a thread is updated. More... | |
event_router_t< thread_delete_t > | on_thread_delete |
Called when a thread is deleted. More... | |
event_router_t< thread_list_sync_t > | on_thread_list_sync |
Called when thread list is synced (upon gaining access to a channel). Note that threads are not cached by D++, but a list of thread IDs is accessible in a guild object. More... | |
event_router_t< thread_member_update_t > | on_thread_member_update |
Called when current user's thread member object is updated. More... | |
event_router_t< thread_members_update_t > | on_thread_members_update |
Called when a thread's member list is updated (without GUILD_MEMBERS intent, is only called for current user) More... | |
event_router_t< guild_scheduled_event_create_t > | on_guild_scheduled_event_create |
Called when a new scheduled event is created. More... | |
event_router_t< guild_scheduled_event_update_t > | on_guild_scheduled_event_update |
Called when a new scheduled event is updated. More... | |
event_router_t< guild_scheduled_event_delete_t > | on_guild_scheduled_event_delete |
Called when a new scheduled event is deleted. More... | |
event_router_t< guild_scheduled_event_user_add_t > | on_guild_scheduled_event_user_add |
Called when a user is added to a scheduled event. More... | |
event_router_t< guild_scheduled_event_user_remove_t > | on_guild_scheduled_event_user_remove |
Called when a user is removed to a scheduled event. More... | |
event_router_t< voice_buffer_send_t > | on_voice_buffer_send |
Called when packets are sent from the voice buffer. The voice buffer contains packets that are already encoded with Opus and encrypted with Sodium, and merged into packets by the repacketizer, which is done in the dpp::discord_voice_client::send_audio method. You should use the buffer size properties of dpp::voice_buffer_send_t to determine if you should fill the buffer with more content. More... | |
event_router_t< voice_user_talking_t > | on_voice_user_talking |
Called when a user is talking on a voice channel. More... | |
event_router_t< voice_ready_t > | on_voice_ready |
Called when a voice channel is connected and ready to send audio. Note that this is not directly attached to the READY event of the websocket, as there is further connection that needs to be done before audio is ready to send. More... | |
event_router_t< voice_receive_t > | on_voice_receive |
Called when new audio data is received. Each separate user's audio from the voice channel will arrive tagged with their user id in the event, if a user can be attributed to the received audio. More... | |
event_router_t< voice_receive_t > | on_voice_receive_combined |
Called when new audio data is received, combined and mixed for all speaking users. More... | |
event_router_t< voice_track_marker_t > | on_voice_track_marker |
Called when sending of audio passes over a track marker. Track markers are arbitrarily placed "bookmarks" in the audio buffer, placed by the bot developer. Each track marker can have a string value associated with it which is specified in dpp::discord_voice_client::insert_marker and returned to this event. More... | |
event_router_t< stage_instance_create_t > | on_stage_instance_create |
Called when a new stage instance is created on a stage channel. More... | |
event_router_t< stage_instance_update_t > | on_stage_instance_update |
Called when a stage instance is updated. More... | |
event_router_t< stage_instance_delete_t > | on_stage_instance_delete |
Called when an existing stage instance is deleted from a stage channel. More... | |
Friends | |
class | discord_client |
class | discord_voice_client |
The cluster class represents a group of shards and a command queue for sending and receiving commands from discord via HTTP. You should usually instantiate a cluster object at the very least to make use of the library.
dpp::cluster::cluster | ( | const std::string & | token, |
uint32_t | intents = i_default_intents , |
||
uint32_t | shards = 0 , |
||
uint32_t | cluster_id = 0 , |
||
uint32_t | maxclusters = 1 , |
||
bool | compressed = true , |
||
cache_policy_t | policy = { cp_aggressive, cp_aggressive, cp_aggressive } , |
||
uint32_t | request_threads = 12 , |
||
uint32_t | request_threads_raw = 1 |
||
) |
Constructor for creating a cluster. All but the token are optional.
token | The bot token to use for all HTTP commands and websocket connections |
intents | A bitmask of dpd::intents values for all shards on this cluster. This is required to be sent for all bots with over 100 servers. |
shards | The total number of shards on this bot. If there are multiple clusters, then (shards / clusters) actual shards will run on this cluster. If you omit this value, the library will attempt to query the Discord API for the correct number of shards to start. |
cluster_id | The ID of this cluster, should be between 0 and MAXCLUSTERS-1 |
maxclusters | The total number of clusters that are active, which may be on separate processes or even separate machines. |
compressed | Whether or not to use compression for shards on this cluster. Saves a ton of bandwidth at the cost of some CPU |
policy | Set the user caching policy for the cluster, either lazy (only cache users/members when they message the bot) or aggressive (request whole member lists on seeing new guilds too) |
request_threads | The number of threads to allocate for making HTTP requests to Discord. This defaults to 12. You can increase this at runtime via the object returned from get_rest(). |
request_threads_raw | The number of threads to allocate for making HTTP requests to sites outside of Discord. This defaults to 1. You can increase this at runtime via the object returned from get_raw_rest(). |
dpp::exception | Thrown on windows, if WinSock fails to initialise, or on any other system if a dpp::request_queue fails to construct |
|
delete |
dpp::cluster is non-copyable
|
delete |
dpp::cluster is non-moveable
|
virtual |
Destroy the cluster object.
void dpp::cluster::automod_rule_create | ( | snowflake | guild_id, |
const automod_rule & | r, | ||
command_completion_event_t | callback = utility::log_error() |
||
) |
Create an auto moderation rule.
guild_id | Guild id of the auto moderation rule |
r | Auto moderation rule to create |
callback | Function to call when the API call completes. On success the callback will contain a dpp::automod_rule 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(). |
automod_rule automod_rule_create_sync | ( | snowflake | guild_id, |
const automod_rule & | r | ||
) |
Create an auto moderation rule.
guild_id | Guild id of the auto moderation rule |
r | Auto moderation rule to create |
dpp::rest_exception | upon failure to execute REST function |
void dpp::cluster::automod_rule_delete | ( | snowflake | guild_id, |
snowflake | rule_id, | ||
command_completion_event_t | callback = utility::log_error() |
||
) |
Delete an auto moderation rule.
guild_id | Guild id of the auto moderation rule |
rule_id | Auto moderation rule id to delete |
callback | Function 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(). |
confirmation automod_rule_delete_sync | ( | snowflake | guild_id, |
snowflake | rule_id | ||
) |
Delete an auto moderation rule.
guild_id | Guild id of the auto moderation rule |
rule_id | Auto moderation rule id to delete |
dpp::rest_exception | upon failure to execute REST function |
void dpp::cluster::automod_rule_edit | ( | snowflake | guild_id, |
const automod_rule & | r, | ||
command_completion_event_t | callback = utility::log_error() |
||
) |
Edit an auto moderation rule.
guild_id | Guild id of the auto moderation rule |
r | Auto moderation rule to edit. The rule's id must be set. |
callback | Function to call when the API call completes. On success the callback will contain a dpp::automod_rule 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(). |
automod_rule automod_rule_edit_sync | ( | snowflake | guild_id, |
const automod_rule & | r | ||
) |
Edit an auto moderation rule.
guild_id | Guild id of the auto moderation rule |
r | Auto moderation rule to edit. The rule's id must be set. |
dpp::rest_exception | upon failure to execute REST function |
void dpp::cluster::automod_rule_get | ( | snowflake | guild_id, |
snowflake | rule_id, | ||
command_completion_event_t | callback | ||
) |
Get a single auto moderation rule.
guild_id | Guild id of the auto moderation rule |
rule_id | Rule id to retrieve |
callback | Function to call when the API call completes. On success the callback will contain a dpp::automod_rule 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(). |
automod_rule automod_rule_get_sync | ( | snowflake | guild_id, |
snowflake | rule_id | ||
) |
Get a single auto moderation rule.
guild_id | Guild id of the auto moderation rule |
rule_id | Rule id to retrieve |
dpp::rest_exception | upon failure to execute REST function |
void dpp::cluster::automod_rules_get | ( | snowflake | guild_id, |
command_completion_event_t | callback | ||
) |
Get all auto moderation rules for a guild.
guild_id | Guild id of the auto moderation rule |
callback | Function to call when the API call completes. On success the callback will contain a dpp::automod_rule_map 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(). |
automod_rule_map automod_rules_get_sync | ( | snowflake | guild_id | ) |
Get all auto moderation rules for a guild.
guild_id | Guild id of the auto moderation rule |
dpp::rest_exception | upon failure to execute REST function |
void dpp::cluster::channel_create | ( | const class channel & | c, |
command_completion_event_t | callback = utility::log_error() |
||
) |
Create a channel.
Create a new channel object for the guild. Requires the MANAGE_CHANNELS
permission. If setting permission overwrites, only permissions your bot has in the guild can be allowed/denied. Setting MANAGE_ROLES
permission in channels is only possible for guild administrators. Returns the new channel object on success. Fires a Channel Create Gateway
event.
All parameters to this endpoint are optional excluding name
c | Channel to create |
callback | Function to call when the API call completes. On success the callback will contain a dpp::channel 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(). |
Create a channel.
Create a new channel object for the guild. Requires the MANAGE_CHANNELS
permission. If setting permission overwrites, only permissions your bot has in the guild can be allowed/denied. Setting MANAGE_ROLES
permission in channels is only possible for guild administrators. Returns the new channel object on success. Fires a Channel Create Gateway
event.
All parameters to this endpoint are optional excluding name
c | Channel to create |
dpp::rest_exception | upon failure to execute REST function |
void dpp::cluster::channel_delete | ( | snowflake | channel_id, |
command_completion_event_t | callback = utility::log_error() |
||
) |
Delete a channel.
channel_id | Channel id to delete |
callback | Function 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(). |
void dpp::cluster::channel_delete_permission | ( | const class channel & | c, |
snowflake | overwrite_id, | ||
command_completion_event_t | callback = utility::log_error() |
||
) |
Remove a permission from a channel.
c | Channel to remove permission from |
overwrite_id | Overwrite to remove, user or channel ID |
callback | Function 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(). |
confirmation channel_delete_permission_sync | ( | const class channel & | c, |
snowflake | overwrite_id | ||
) |
Remove a permission from a channel.
c | Channel to remove permission from |
overwrite_id | Overwrite to remove, user or channel ID |
dpp::rest_exception | upon failure to execute REST function |
confirmation channel_delete_sync | ( | snowflake | channel_id | ) |
Delete a channel.
channel_id | Channel id to delete |
dpp::rest_exception | upon failure to execute REST function |
void dpp::cluster::channel_edit | ( | const class channel & | c, |
command_completion_event_t | callback = utility::log_error() |
||
) |
Edit a channel.
c | Channel to edit/update |
callback | Function to call when the API call completes. On success the callback will contain a dpp::channel 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(). |
void dpp::cluster::channel_edit_permissions | ( | const class channel & | c, |
const snowflake | overwrite_id, | ||
const uint64_t | allow, | ||
const uint64_t | deny, | ||
const bool | member, | ||
command_completion_event_t | callback = utility::log_error() |
||
) |
Edit a channel's permissions.
c | Channel to set permissions for |
overwrite_id | Overwrite to change (a user or role ID) |
allow | allow permissions bitmask |
deny | deny permissions bitmask |
member | true if the overwrite_id is a user id, false if it is a channel id |
callback | Function 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(). |
void dpp::cluster::channel_edit_permissions | ( | const snowflake | channel_id, |
const snowflake | overwrite_id, | ||
const uint64_t | allow, | ||
const uint64_t | deny, | ||
const bool | member, | ||
command_completion_event_t | callback = utility::log_error() |
||
) |
Edit a channel's permissions.
channel_id | ID of the channel to set permissions for |
overwrite_id | Overwrite to change (a user or role ID) |
allow | allow permissions bitmask |
deny | deny permissions bitmask |
member | true if the overwrite_id is a user id, false if it is a channel id |
callback | Function 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(). |
void dpp::cluster::channel_edit_positions | ( | const std::vector< channel > & | c, |
command_completion_event_t | callback = utility::log_error() |
||
) |
Edit multiple channels positions.
Modify the positions of a set of channel objects for the guild. Requires MANAGE_CHANNELS
permission. Fires multiple Channel Update Gateway
events. Only channels to be modified are required.
c | Channel to change the position for |
callback | Function 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(). |
confirmation channel_edit_positions_sync | ( | const std::vector< channel > & | c | ) |
Edit multiple channels positions.
Modify the positions of a set of channel objects for the guild. Requires MANAGE_CHANNELS
permission. Fires multiple Channel Update Gateway
events. Only channels to be modified are required.
c | Channel to change the position for |
dpp::rest_exception | upon failure to execute REST function |
Edit a channel.
c | Channel to edit/update |
dpp::rest_exception | upon failure to execute REST function |
void dpp::cluster::channel_follow_news | ( | const class channel & | c, |
snowflake | target_channel_id, | ||
command_completion_event_t | callback = utility::log_error() |
||
) |
Follow an announcement (news) channel.
c | Channel id to follow |
target_channel_id | Channel to subscribe the channel to |
callback | Function 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(). |
confirmation channel_follow_news_sync | ( | const class channel & | c, |
snowflake | target_channel_id | ||
) |
Follow an announcement (news) channel.
c | Channel id to follow |
target_channel_id | Channel to subscribe the channel to |
dpp::rest_exception | upon failure to execute REST function |
void dpp::cluster::channel_get | ( | snowflake | c, |
command_completion_event_t | callback | ||
) |
Get a channel.
c | Channel ID to retrieve |
callback | Function to call when the API call completes. On success the callback will contain a dpp::channel 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 a channel.
c | Channel ID to retrieve |
dpp::rest_exception | upon failure to execute REST function |
void dpp::cluster::channel_invite_create | ( | const class channel & | c, |
const class invite & | i, | ||
command_completion_event_t | callback = utility::log_error() |
||
) |
Create invite for a channel.
c | Channel to create an invite on |
i | Invite to create |
callback | Function to call when the API call completes. On success the callback will contain a dpp::invite 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(). |
confirmation channel_invite_create_sync | ( | const class channel & | c, |
const class invite & | i | ||
) |
Create invite for a channel.
c | Channel to create an invite on |
i | Invite to create |
dpp::rest_exception | upon failure to execute REST function |
void dpp::cluster::channel_invites_get | ( | const class channel & | c, |
command_completion_event_t | callback | ||
) |
Get invites for a channel.
c | Channel to get invites for |
callback | Function to call when the API call completes. On success the callback will contain a dpp::invite_map 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(). |
invite_map channel_invites_get_sync | ( | const class channel & | c | ) |
Get invites for a channel.
c | Channel to get invites for |
dpp::rest_exception | upon failure to execute REST function |
void dpp::cluster::channel_pins_get | ( | snowflake | channel_id, |
command_completion_event_t | callback | ||
) |
Get a channel's pins.
channel_id | Channel ID to get pins for |
callback | Function to call when the API call completes. On success the callback will contain a dpp::message_map 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(). |
message_map channel_pins_get_sync | ( | snowflake | channel_id | ) |
Get a channel's pins.
channel_id | Channel ID to get pins for |
dpp::rest_exception | upon failure to execute REST function |
void dpp::cluster::channel_typing | ( | const class channel & | c, |
command_completion_event_t | callback = utility::log_error() |
||
) |
Trigger channel typing indicator.
c | Channel to set as typing on |
callback | Function 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(). |
void dpp::cluster::channel_typing | ( | snowflake | cid, |
command_completion_event_t | callback = utility::log_error() |
||
) |
Trigger channel typing indicator.
cid | Channel ID to set as typing on |
callback | Function 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(). |
void dpp::cluster::channels_get | ( | snowflake | guild_id, |
command_completion_event_t | callback | ||
) |
Get all channels for a guild.
guild_id | Guild ID to retrieve channels for |
callback | Function to call when the API call completes. On success the callback will contain a dpp::channel_map 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(). |
channel_map channels_get_sync | ( | snowflake | guild_id | ) |
Get all channels for a guild.
guild_id | Guild ID to retrieve channels for |
dpp::rest_exception | upon failure to execute REST function |
cluster & dpp::cluster::clear_audit_reason | ( | ) |
Clear the audit log reason for the next REST call to be made. This is set per-thread, so you must ensure that if you call this method, your request that is associated with the reason happens on the same thread where you set the reason. Once the next call is made, the audit log reason is cleared for this thread automatically.
Example:
|
inline |
Create an auto moderation rule.
guild_id | Guild id of the auto moderation rule |
r | Auto moderation rule to create |
Delete an auto moderation rule.
guild_id | Guild id of the auto moderation rule |
rule_id | Auto moderation rule id to delete |
|
inline |
Edit an auto moderation rule.
guild_id | Guild id of the auto moderation rule |
r | Auto moderation rule to edit. The rule's id must be set. |
Get a single auto moderation rule.
guild_id | Guild id of the auto moderation rule |
rule_id | Rule id to retrieve |
|
inline |
Get all auto moderation rules for a guild.
guild_id | Guild id of the auto moderation rule |
|
inline |
Create a channel.
Create a new channel object for the guild. Requires the MANAGE_CHANNELS
permission. If setting permission overwrites, only permissions your bot has in the guild can be allowed/denied. Setting MANAGE_ROLES
permission in channels is only possible for guild administrators. Returns the new channel object on success. Fires a Channel Create Gateway
event.
All parameters to this endpoint are optional excluding name
c | Channel to create |
|
inline |
Delete a channel.
channel_id | Channel id to delete |
Remove a permission from a channel.
c | Channel to remove permission from |
overwrite_id | Overwrite to remove, user or channel ID |
|
inline |
Edit a channel.
c | Channel to edit/update |
|
inline |
Edit multiple channels positions.
Modify the positions of a set of channel objects for the guild. Requires MANAGE_CHANNELS
permission. Fires multiple Channel Update Gateway
events. Only channels to be modified are required.
c | Channel to change the position for |
Follow an announcement (news) channel.
c | Channel id to follow |
target_channel_id | Channel to subscribe the channel to |
|
inline |
Get a channel.
c | Channel ID to retrieve |
Create invite for a channel.
c | Channel to create an invite on |
i | Invite to create |
|
inline |
Get invites for a channel.
c | Channel to get invites for |
|
inline |
Get a channel's pins.
channel_id | Channel ID to get pins for |
|
inline |
Get all channels for a guild.
guild_id | Guild ID to retrieve channels for |
|
inline |
Create a dm channel.
user_id | User ID to create DM channel with |
|
inline |
Create a webhook.
w | Webhook to create |
|
inline |
Get current (bot) application.
|
inline |
Get current user's connections (linked accounts, e.g. steam, xbox). This call requires the oauth2 connections
scope and cannot be executed against a bot token.
|
inline |
Edit current (bot) user.
Modifies the current member in a guild. Returns the updated guild_member object on success. Fires a Guild Member Update
Gateway event.
nickname | Nickname to set |
image_blob | Avatar data to upload (NOTE: Very heavily rate limited!) |
type | Type of image for avatar |
dpp::exception | Image data is larger than the maximum size of 256 kilobytes |
|
inline |
Get current (bot) user.
dynamic_cast
.
|
inline |
Get current user DM channels.
|
inline |
Get current (bot) user guilds.
|
inline |
Join a thread.
thread_id | Thread ID to join |
|
inline |
Leave a guild.
guild_id | Guild ID to leave |
|
inline |
Leave a thread.
thread_id | Thread ID to leave |
|
inline |
Set the bot's voice state on a stage channel.
Caveats
There are currently several caveats for this endpoint:
channel_id
must currently point to a stage channel.channel_id
.MUTE_MEMBERS
permission to unsuppress yourself. You can always suppress yourself.REQUEST_TO_SPEAK
permission to request to speak. You can always clear your own request to speak.request_to_speak_timestamp
to any present or future time.guild_id | Guild to set voice state on |
channel_id | Stage channel to set voice state on |
suppress | True if the user's audio should be suppressed, false if it should not |
request_to_speak_timestamp | The time at which we requested to speak, or 0 to clear the request. The time set here must be the current time or in the future. |
std::logic_exception | You attempted to set a request_to_speak_timestamp in the past which is not the value of 0. |
|
inline |
Delete a webhook.
webhook_id | Webhook ID to delete |
|
inline |
Delete webhook message.
wh | Webhook to delete message for |
message_id | Message ID to delete |
thread_id | ID of the thread the message is in |
|
inline |
Delete webhook with token.
webhook_id | Webhook ID to delete |
token | Token of webhook to delete |
Create a direct message, also create the channel for the direct message if needed.
user_id | User ID of user to send message to |
m | Message object |
|
inline |
Edit webhook.
wh | Webhook to edit |
|
inline |
Edit webhook message.
When the content field is edited, the mentions array in the message object will be reconstructed from scratch based on the new content. The allowed_mentions field of the edit request controls how this happens. If there is no explicit allowed_mentions in the edit request, the content will be parsed with default allowances, that is, without regard to whether or not an allowed_mentions was present in the request that originally created the message.
wh | Webhook to edit message for |
m | New message |
thread_id | ID of the thread the message is in |
|
inline |
Edit webhook with token (token is encapsulated in the webhook object)
wh | Webhook to edit (should include token) |
|
inline |
Execute webhook.
wh | Webhook to execute |
m | Message to send |
wait | waits for server confirmation of message send before response, and returns the created message body |
thread_id | Send a message to the specified thread within a webhook's channel. The thread will automatically be unarchived |
thread_name | Name of thread to create (requires the webhook channel to be a forum channel) |
thread_id
or thread_name
. If thread_id
is provided, the message will send in that thread. If thread_name
is provided, a thread with that name will be created in the forum channel.
|
inline |
Adds a recipient to a Group DM using their access token.
channel_id | Channel id to add group DM recipients to |
user_id | User ID to add |
access_token | Access token from OAuth2 |
nick | Nickname of user to apply to the chat |
Removes a recipient from a Group DM.
channel_id | Channel ID of group DM |
user_id | User ID to remove from group DM |
|
inline |
Get channel webhooks.
channel_id | Channel ID to get webhooks for |
|
inline |
Get the gateway information for the bot using the token.
|
inline |
Get guild webhooks.
guild_id | Guild ID to get webhooks for |
|
inline |
Get all voice regions.
|
inline |
Get webhook.
webhook_id | Webhook ID to get |
|
inline |
Get webhook message.
wh | Webhook to get the original message for |
message_id | The message ID |
thread_id | ID of the thread the message is in |
|
inline |
Get webhook using token.
webhook_id | Webhook ID to retrieve |
token | Token of webhook |
|
inline |
Create/overwrite global slash commands. Any existing global slash commands will be deleted and replaced with these.
commands | Vector of slash commands to create/update. overwriting existing commands that are registered globally for this application. Updates will be available in all guilds after 1 hour. Commands that do not already exist will count toward daily application command create limits. |
|
inline |
Create a global slash command (a bot can have a maximum of 100 of these).
s | Slash command to create |
|
inline |
Delete a global slash command (a bot can have a maximum of 100 of these)
id | Slash command to delete |
|
inline |
Edit a global slash command (a bot can have a maximum of 100 of these)
s | Slash command to change |
|
inline |
Get a global slash command.
id | The ID of the slash command |
|
inline |
Get the application's global slash commands.
|
inline |
Add guild member. Needs a specific oauth2 scope, from which you get the access_token.
Adds a user to the guild, provided you have a valid oauth2 access token for the user with the guilds.join scope. Returns the guild_member, which is defaulted if the user is already a member of the guild. Fires a Guild Member Add
Gateway event.
For guilds with Membership Screening enabled, this endpoint will default to adding new members as pending in the guild member object. Members that are pending will have to complete membership screening before they become full members that can talk.
CREATE_INSTANT_INVITE
permission. gm | Guild member to add |
access_token | Access token from Oauth2 scope |
|
inline |
Get the audit log for a guild.
guild_id | Guild to get the audit log of |
user_id | Entries from a specific user ID. Set this to 0 will fetch any user |
action_type | Entries for a specific dpp::audit_type. Set this to 0 will fetch any type |
before | Entries that preceded a specific audit log entry ID. Used for paginating |
limit | Maximum number of entries (between 1-100) to return |
|
inline |
Add guild ban.
Create a guild ban, and optionally delete previous messages sent by the banned user. Requires the BAN_MEMBERS
permission. Fires a Guild Ban Add
Gateway event.
guild_id | Guild ID to add ban to |
user_id | User ID to ban |
delete_message_days | How many days of their user's messages to also delete (0-7). Defaults to 0 |
Delete guild ban.
Remove the ban for a user. Requires the BAN_MEMBERS
permissions. Fires a Guild Ban Remove Gateway event.
guild_id | Guild to delete ban from |
user_id | User ID to delete ban for |
Begin guild prune.
Begin a prune operation. Requires the KICK_MEMBERS
permission. Returns a prune object indicating the number of members that were removed in the prune operation. For large guilds it's recommended to set the compute_prune_count
option to false, forcing 'pruned' to 0. Fires multiple Guild Member Remove
Gateway events. By default, prune will not remove users with roles. You can optionally include specific roles in your prune by providing the include_roles
parameter. Any inactive user that has a subset of the provided role(s) will be included in the prune and users with additional roles will not.
guild_id | Guild ID to prune |
pruneinfo | Pruning info |
|
inline |
Create/overwrite guild slash commands. Any existing guild slash commands on this guild will be deleted and replaced with these.
commands | Vector of slash commands to create/update. New guild commands will be available in the guild immediately. If the command did not already exist, it will count toward daily application command create limits. |
guild_id | Guild ID to create/update the slash commands in |
|
inline |
Edit/Overwrite the permissions of all existing slash commands in a guild.
commands | A vector of slash commands to edit/overwrite the permissions for |
guild_id | Guild ID to edit permissions of the slash commands in |
|
inline |
Create a slash command local to a guild.
s | Slash command to create |
guild_id | Guild ID to create the slash command in |
Delete a slash command local to a guild.
id | Slash command to delete |
guild_id | Guild ID to delete the slash command in |
|
inline |
Edit a slash command local to a guild.
s | Slash command to edit |
guild_id | Guild ID to edit the slash command in |
|
inline |
Edit slash command permissions of a guild.
s | Slash command to edit the permissions for |
guild_id | Guild ID to edit the slash command in |
Get a slash command of a guild.
id | The ID of the slash command |
guild_id | Guild ID to get the slash command from |
Get the permissions for a slash command of a guild.
id | The ID of the slash command to get the permissions for |
guild_id | Guild ID to get the permissions of |
|
inline |
Get the application's slash commands for a guild.
guild_id | Guild ID to get the slash commands for |
|
inline |
Get all slash command permissions of a guild.
guild_id | Guild ID to get the slash commands permissions for |
|
inline |
Create a guild.
Create a new guild. Returns a guild object on success. Fires a Guild Create Gateway
event.
When using the roles parameter, the first member of the array is used to change properties of the guild's everyone role. If you are trying to bootstrap a guild with additional roles, keep this in mind. The required id field within each role object is an integer placeholder, and will be replaced by the API upon consumption. Its purpose is to allow you to overwrite a role's permissions in a channel when also passing in channels with the channels array. When using the channels parameter, the position field is ignored, and none of the default channels are created. The id field within each channel object may be set to an integer placeholder, and will be replaced by the API upon consumption. Its purpose is to allow you to create GUILD_CATEGORY
channels by setting the parent_id
field on any children to the category's id field. Category channels must be listed before any children.
g | Guild to create |
|
inline |
Create a new guild based on a template.
code | Template code to create guild from |
name | Guild name to create |
|
inline |
Modify current member.
Modifies the current member in a guild. Fires a Guild Member Update
Gateway event.
guild_id | Guild ID to change on |
nickname | New nickname, or empty string to clear nickname |
|
inline |
Delete a guild.
Delete a guild permanently. User must be owner. Fires a Guild Delete Gateway
event.
guild_id | Guild ID to delete |
Delete guild integration.
Delete the attached integration object for the guild. Deletes any associated webhooks and kicks the associated bot if there is one. Requires the MANAGE_GUILD
permission. Fires a Guild Integrations Update Gateway event.
guild_id | Guild ID to delete integration for |
integration_id | Integration ID to delete |
|
inline |
Edit a guild.
Modify a guild's settings. Requires the MANAGE_GUILD
permission. Returns the updated guild object on success. Fires a Guild Update Gateway
event.
g | Guild to edit |
|
inline |
Edit the properties of an existing guild member.
Modify attributes of a guild member. Returns the guild_member. Fires a Guild Member Update
Gateway event. To remove a timeout, set the communication_disabled_until
to a non-zero time in the past, e.g. 1. When moving members to channels, the API user must have permissions to both connect to the channel and have the MOVE_MEMBERS
permission. For moving and disconnecting users from voice, use dpp::cluster::guild_member_move.
gm | Guild member to edit |
|
inline |
Edit guild widget.
Requires the MANAGE_GUILD
permission.
guild_id | Guild ID to edit widget for |
gw | New guild widget information |
Create single emoji. You must ensure that the emoji passed contained image data using the emoji::load_image() method.
guild_id | Guild ID to create emoji om |
newemoji | Emoji to create |
Delete a guild emoji.
guild_id | Guild ID to delete emoji on |
emoji_id | Emoji ID to delete |
Edit a single emoji.
You must ensure that the emoji passed contained image data using the emoji::load_image() method.
guild_id | Guild ID to edit emoji on |
newemoji | Emoji to edit |
Get a single emoji.
guild_id | Guild ID to get emoji for |
emoji_id | Emoji ID to get |
|
inline |
Get all emojis for a guild.
guild_id | Guild ID to get emojis for |
|
inline |
Create a scheduled event on a guild.
event | Event to create (guild ID must be populated) |
Delete a scheduled event from a guild.
event_id | Event ID to delete |
guild_id | Guild ID of event to delete |
|
inline |
Edit/modify a scheduled event on a guild.
event | Event to create (event ID and guild ID must be populated) |
Get a scheduled event for a guild.
guild_id | Guild to get event for |
event_id | Event ID to get |
|
inline |
Get all scheduled events for a guild.
guild_id | Guild to get events for |
Get single guild ban.
Requires the BAN_MEMBERS
permission.
guild_id | Guild ID to get ban for |
user_id | User ID of ban to retrieve |
|
inline |
Get guild ban list.
Requires the BAN_MEMBERS
permission.
before
and after
for pagination. Users will always be returned in ascending order by the user ID. If both before and after are provided, only before is respected. guild_id | Guild ID to get bans for |
before | If non-zero, all bans for user ids before this user id will be returned up to the limit |
after | if non-zero, all bans for user ids after this user id will be returned up to the limit |
limit | the maximum number of bans to retrieve in this call up to a maximum of 1000 |
|
inline |
Get guild integrations.
Requires the MANAGE_GUILD
permission.
guild_id | Guild ID to get integrations for |
|
inline |
Get guild invites.
Returns a list of invite objects (with invite metadata) for the guild. Requires the MANAGE_GUILD
permission.
guild_id | Guild ID to get invites for |
Get a guild member.
guild_id | Guild ID to get member for |
user_id | User ID of member to get |
Get all guild members.
GUILD_MEMBERS
Privileged Intent is enabled for your application. guild_id | Guild ID to get all members for |
limit | max number of members to return (1-1000) |
after | the highest user id in the previous page |
Get prune counts.
Returns a prune object indicating the number of members that would be removed in a prune operation. Requires the KICK_MEMBERS
permission. By default, prune will not remove users with roles. You can optionally include specific roles in your prune by providing the include_roles parameter. Any inactive user that has a subset of the provided role(s) will be counted in the prune and users with additional roles will not.
guild_id | Guild ID to count for pruning |
pruneinfo | Pruning info |
|
inline |
Get guild vanity url, if enabled.
Returns a partial dpp::invite object for guilds with that feature enabled. Requires the MANAGE_GUILD
permission. code will be null if a vanity url for the guild is not set.
guild_id | Guild to get vanity URL for |
|
inline |
Get guild voice regions.
Voice regions per guild are somewhat deprecated in preference of per-channel voice regions. Returns a list of voice region objects for the guild. Unlike the similar /voice route, this returns VIP servers when the guild is VIP-enabled.
guild_id | Guild ID to get voice regions for |
|
inline |
Get guild widget.
Requires the MANAGE_GUILD
permission.
guild_id | Guild ID to get widget for |
Add role to guild member.
Adds a role to a guild member. Requires the MANAGE_ROLES
permission. Fires a Guild Member Update
Gateway event.
guild_id | Guild ID to add a role to |
user_id | User ID to add role to |
role_id | Role ID to add to the user |
Remove (kick) a guild member.
Remove a member from a guild. Requires KICK_MEMBERS
permission. Fires a Guild Member Remove
Gateway event.
guild_id | Guild ID to kick member from |
user_id | User ID to kick |
|
inline |
Remove role from guild member.
Removes a role from a guild member. Requires the MANAGE_ROLES
permission. Fires a Guild Member Update
Gateway event.
guild_id | Guild ID to remove role from user on |
user_id | User ID to remove role from |
role_id | Role to remove |
Remove (kick) a guild member.
Remove a member from a guild. Requires KICK_MEMBERS
permission. Fires a Guild Member Remove
Gateway event.
guild_id | Guild ID to kick member from |
user_id | User ID to kick |
|
inline |
Moves the guild member to a other voice channel, if member is connected to one. Set the channel_id
to 0
to disconnect the user.
Fires a Guild Member Update
Gateway event.
MOVE_MEMBERS
permission. channel_id | Id of the channel to which the user is used. Set to 0 to disconnect the user |
guild_id | Guild id to which the user is connected |
user_id | User id, who should be moved |
|
inline |
Remove role from guild member.
Removes a role from a guild member. Requires the MANAGE_ROLES
permission. Fires a Guild Member Update
Gateway event.
guild_id | Guild ID to remove role from user on |
user_id | User ID to remove role from |
role_id | Role to remove |
|
inline |
Set the timeout of a guild member.
Fires a Guild Member Update
Gateway event.
guild_id | Guild ID to timeout the member in |
user_id | User ID to set the timeout for |
communication_disabled_until | The timestamp when the user's timeout will expire (up to 28 days in the future). Set to 0 to remove the timeout |
|
inline |
Modify guild integration.
guild_id | Guild ID to modify integration for |
i | Integration to modify |
|
inline |
Search for guild members based on whether their username or nickname starts with the given string.
GUILD_MEMBERS
Privileged Intent is enabled for your application. guild_id | Guild ID to search in |
query | Query string to match username(s) and nickname(s) against |
limit | max number of members to return (1-1000) |
|
inline |
Change current user nickname.
Modifies the nickname of the current user in a guild. Fires a Guild Member Update
Gateway event.
guild_id | Guild ID to change nickname on |
nickname | New nickname, or empty string to clear nickname |
|
inline |
Create a sticker in a guild.
s | Sticker to create. Must have its guild ID set. |
Delete a sticker from a guild.
sticker_id | sticker ID to delete |
guild_id | guild ID to delete from |
Get a guild sticker.
id | Id of sticker to get. |
guild_id | Guild ID of the guild where the sticker is |
|
inline |
Modify a sticker in a guild.
s | Sticker to modify. Must have its guild ID and sticker ID set. |
|
inline |
Get all guild stickers.
guild_id | Guild ID of the guild where the sticker is |
Sync guild integration.
guild_id | Guild ID to sync integration on |
integration_id | Integration ID to synchronise |
|
inline |
Creates a template for the guild.
guild_id | Guild to create template from |
name | Template name to create |
description | Description of template to create |
|
inline |
Deletes the template.
guild_id | Guild ID of template to delete |
code | Template code to delete |
|
inline |
Modifies the template's metadata.
guild_id | Guild ID of template to modify |
code | Template code to modify |
name | New name of template |
description | New description of template |
|
inline |
Syncs the template to the guild's current state.
guild_id | Guild to synchronise template for |
code | Code of template to synchronise |
|
inline |
Get guild templates.
guild_id | Guild ID to get templates for |
|
inline |
Create a followup message to a slash command.
token | Token for the interaction webhook |
m | followup message to create |
|
inline |
token | Token for the interaction webhook |
|
inline |
Edit followup message to a slash command The message ID in the message you pass should be correctly set to that of a followup message you previously sent.
token | Token for the interaction webhook |
m | message to edit, the ID should be set |
|
inline |
Edit original followup message to a slash command This is an alias for cluster::interaction_response_edit.
token | Token for the interaction webhook |
m | message to edit, the ID should be set |
|
inline |
Get the followup message to a slash command.
token | Token for the interaction webhook |
message_id | message to retrieve |
|
inline |
Respond to a slash command.
interaction_id | Interaction id to respond to |
token | Token for the interaction webhook |
r | Response to send |
|
inline |
Edit response to a slash command.
token | Token for the interaction webhook |
m | Message to send |
|
inline |
Send a message to a channel. The callback function is called when the message has been sent.
m | Message to send |
Crosspost a message. The callback function is called when the message has been sent.
message_id | Message to crosspost |
channel_id | Channel ID to crosspost from |
Delete a message from a channel. The callback function is called when the message has been edited.
message_id | Message ID to delete |
channel_id | Channel to delete from |
|
inline |
Bulk delete messages from a channel. The callback function is called when the message has been edited.
message_ids | List of message IDs to delete (at least 2 and at most 100 message IDs) |
channel_id | Channel to delete from |
|
inline |
Edit a message on a channel. The callback function is called when the message has been edited.
m | Message to edit |
Get a message.
message_id | Message ID |
channel_id | Channel ID |
Pin a message.
channel_id | Channel id to pin message on |
message_id | Message id to pin message on |
Unpin a message.
channel_id | Channel id to unpin message on |
message_id | Message id to unpin message on |
|
inline |
Get multiple messages.
This function will attempt to fetch as many messages as possible using multiple API calls if needed.
channel_id | Channel ID to retrieve messages for |
around | Messages should be retrieved around this ID if this is set to non-zero |
before | Messages before this ID should be retrieved if this is set to non-zero |
after | Messages after this ID should be retrieved if this is set to non-zero |
limit | This number of messages maximum should be returned, up to a maximum of 100. |
|
inline |
Get a nitro sticker.
id | Id of sticker to get. |
|
inline |
Create a role on a guild.
Create a new role for the guild. Requires the MANAGE_ROLES
permission. Returns the new role object on success. Fires a Guild Role Create
Gateway event.
r | Role to create (guild ID is encapsulated in the role object) |
Delete a role.
Requires the MANAGE_ROLES
permission. Fires a Guild Role Delete
Gateway event.
guild_id | Guild ID to delete the role on |
role_id | Role ID to delete |
|
inline |
Edit a role on a guild.
Requires the MANAGE_ROLES
permission. Returns the updated role on success. Fires a Guild Role Update
Gateway event.
r | Role to edit |
Edit multiple role's position in a guild. Returns a list of all roles of the guild on success.
Modify the positions of a set of role objects for the guild. Requires the MANAGE_ROLES
permission. Fires multiple Guild Role Update
Gateway events.
guild_id | Guild ID to change the roles position on |
roles | Vector of roles to change the positions of |
|
inline |
Get a role for a guild.
guild_id | Guild ID to get role for |
|
inline |
Delete a stage instance.
channel_id | ID of the associated channel |
|
inline |
Get the stage instance associated with the channel id, if it exists.
channel_id | ID of the associated channel |
|
inline |
Get sticker packs.
|
inline |
Get a template.
code | Template code |
|
inline |
Create a thread.
thread_name | Name of the thread |
channel_id | Channel in which thread to create |
auto_archive_duration | Duration after which thread auto-archives. Can be set to - 60, 1440 (for boosted guilds can also be: 4320, 10080) |
thread_type | Type of thread - CHANNEL_PUBLIC_THREAD, CHANNEL_ANNOUNCEMENT_THREAD, CHANNEL_PRIVATE_THREAD |
invitable | whether non-moderators can add other non-moderators to a thread; only available when creating a private thread |
rate_limit_per_user | amount of seconds a user has to wait before sending another message (0-21600); bots, as well as users with the permission manage_messages, manage_thread, or manage_channel, are unaffected |
|
inline |
Create a thread with a message (Discord: ID of a thread is same as message ID)
thread_name | Name of the thread |
channel_id | Channel in which thread to create |
message_id | message to start thread with |
auto_archive_duration | Duration after which thread auto-archives. Can be set to - 60, 1440 (for boosted guilds can also be: 4320, 10080) |
rate_limit_per_user | amount of seconds a user has to wait before sending another message (0-21600); bots, as well as users with the permission manage_messages, manage_thread, or manage_channel, are unaffected |
Add a member to a thread.
thread_id | Thread ID to add to |
user_id | Member ID to add |
Get a thread member.
thread_id | Thread to get member for |
user_id | ID of the user to get |
Remove a member from a thread.
thread_id | Thread ID to remove from |
user_id | Member ID to remove |
|
inline |
Get members of a thread.
thread_id | Thread to get members for |
|
inline |
Get active threads in a channel (Sorted by ID in descending order)
channel_id | Channel to get active threads for |
|
inline |
Get private archived threads in a channel which current user has joined (Sorted by ID in descending order)
channel_id | Channel to get public archived threads for |
before_id | Get threads before this id |
limit | Number of threads to get |
|
inline |
Get private archived threads in a channel (Sorted by archive_timestamp in descending order)
channel_id | Channel to get public archived threads for |
before_timestamp | Get threads before this timestamp |
limit | Number of threads to get |
|
inline |
Get public archived threads in a channel (Sorted by archive_timestamp in descending order)
channel_id | Channel to get public archived threads for |
before_timestamp | Get threads before this timestamp |
limit | Number of threads to get |
|
inline |
Get a user by id.
user_id | User ID to retrieve |
dynamic_cast
. dpp::user_identified
or you've turned off caching, you have no need to call this. Call dpp::find_user
instead that looks up the user in the cache rather than a REST call.
|
inline |
Set a user's voice state on a stage channel.
Caveats
There are currently several caveats for this endpoint:
channel_id
must currently point to a stage channel.channel_id
.MUTE_MEMBERS
permission. (Since suppression is the only thing that is available currently)request_to_speak_timestamp
set to the current time. Bot users will not.request_to_speak_timestamp
removed.user_id | The user to set the voice state of |
guild_id | Guild to set voice state on |
channel_id | Stage channel to set voice state on |
suppress | True if the user's audio should be suppressed, false if it should not |
void dpp::cluster::create_dm_channel | ( | snowflake | user_id, |
command_completion_event_t | callback = utility::log_error() |
||
) |
Create a dm channel.
user_id | User ID to create DM channel with |
callback | Function to call when the API call completes. On success the callback will contain a dpp::channel 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(). |
Create a dm channel.
user_id | User ID to create DM channel with |
dpp::rest_exception | upon failure to execute REST function |
void dpp::cluster::create_webhook | ( | const class webhook & | w, |
command_completion_event_t | callback = utility::log_error() |
||
) |
Create a webhook.
w | Webhook to create |
callback | Function to call when the API call completes. On success the callback will contain a dpp::webhook 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(). |
Create a webhook.
w | Webhook to create |
dpp::rest_exception | upon failure to execute REST function |
void dpp::cluster::current_application_get | ( | command_completion_event_t | callback | ) |
Get current (bot) application.
callback | Function to call when the API call completes. On success the callback will contain a dpp::application 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(). |
application current_application_get_sync | ( | ) |
Get current (bot) application.
dpp::rest_exception | upon failure to execute REST function |
void dpp::cluster::current_user_connections_get | ( | command_completion_event_t | callback | ) |
Get current user's connections (linked accounts, e.g. steam, xbox). This call requires the oauth2 connections
scope and cannot be executed against a bot token.
callback | Function to call when the API call completes. On success the callback will contain a dpp::connection_map 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(). |
connection_map current_user_connections_get_sync | ( | ) |
Get current user's connections (linked accounts, e.g. steam, xbox). This call requires the oauth2 connections
scope and cannot be executed against a bot token.
dpp::rest_exception | upon failure to execute REST function |
void dpp::cluster::current_user_edit | ( | const std::string & | nickname, |
const std::string & | image_blob = "" , |
||
const image_type | type = i_png , |
||
command_completion_event_t | callback = utility::log_error() |
||
) |
Edit current (bot) user.
Modifies the current member in a guild. Returns the updated guild_member object on success. Fires a Guild Member Update
Gateway event.
nickname | Nickname to set |
image_blob | Avatar data to upload (NOTE: Very heavily rate limited!) |
type | Type of image for avatar |
callback | Function to call when the API call completes. On success the callback will contain a dpp::user 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(). |
dpp::exception | Image data is larger than the maximum size of 256 kilobytes |
user current_user_edit_sync | ( | const std::string & | nickname, |
const std::string & | image_blob = "" , |
||
const image_type | type = i_png |
||
) |
Edit current (bot) user.
Modifies the current member in a guild. Returns the updated guild_member object on success. Fires a Guild Member Update
Gateway event.
nickname | Nickname to set |
image_blob | Avatar data to upload (NOTE: Very heavily rate limited!) |
type | Type of image for avatar |
dpp::exception | Image data is larger than the maximum size of 256 kilobytes |
dpp::rest_exception | upon failure to execute REST function |
void dpp::cluster::current_user_get | ( | command_completion_event_t | callback | ) |
Get current (bot) user.
callback | Function to call when the API call completes. On success the callback will contain a dpp::user_identified 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(). |
dynamic_cast
. void dpp::cluster::current_user_get_dms | ( | command_completion_event_t | callback | ) |
Get current user DM channels.
callback | Function to call when the API call completes. On success the callback will contain a dpp::channel_map 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(). |
channel_map current_user_get_dms_sync | ( | ) |
Get current user DM channels.
dpp::rest_exception | upon failure to execute REST function |
void dpp::cluster::current_user_get_guilds | ( | command_completion_event_t | callback | ) |
Get current (bot) user guilds.
callback | Function to call when the API call completes. On success the callback will contain a dpp::guild_map 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(). |
guild_map current_user_get_guilds_sync | ( | ) |
Get current (bot) user guilds.
dpp::rest_exception | upon failure to execute REST function |
user_identified current_user_get_sync | ( | ) |
Get current (bot) user.
dynamic_cast
.dpp::rest_exception | upon failure to execute REST function |
void dpp::cluster::current_user_join_thread | ( | snowflake | thread_id, |
command_completion_event_t | callback = utility::log_error() |
||
) |
Join a thread.
thread_id | Thread ID to join |
callback | Function 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(). |
confirmation current_user_join_thread_sync | ( | snowflake | thread_id | ) |
Join a thread.
thread_id | Thread ID to join |
dpp::rest_exception | upon failure to execute REST function |
void dpp::cluster::current_user_leave_guild | ( | snowflake | guild_id, |
command_completion_event_t | callback = utility::log_error() |
||
) |
Leave a guild.
guild_id | Guild ID to leave |
callback | Function 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(). |
confirmation current_user_leave_guild_sync | ( | snowflake | guild_id | ) |
Leave a guild.
guild_id | Guild ID to leave |
dpp::rest_exception | upon failure to execute REST function |
void dpp::cluster::current_user_leave_thread | ( | snowflake | thread_id, |
command_completion_event_t | callback = utility::log_error() |
||
) |
Leave a thread.
thread_id | Thread ID to leave |
callback | Function 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(). |
confirmation current_user_leave_thread_sync | ( | snowflake | thread_id | ) |
Leave a thread.
thread_id | Thread ID to leave |
dpp::rest_exception | upon failure to execute REST function |
void dpp::cluster::current_user_set_voice_state | ( | snowflake | guild_id, |
snowflake | channel_id, | ||
bool | suppress = false , |
||
time_t | request_to_speak_timestamp = 0 , |
||
command_completion_event_t | callback = utility::log_error() |
||
) |
Set the bot's voice state on a stage channel.
Caveats
There are currently several caveats for this endpoint:
channel_id
must currently point to a stage channel.channel_id
.MUTE_MEMBERS
permission to unsuppress yourself. You can always suppress yourself.REQUEST_TO_SPEAK
permission to request to speak. You can always clear your own request to speak.request_to_speak_timestamp
to any present or future time.guild_id | Guild to set voice state on |
channel_id | Stage channel to set voice state on |
callback | Function to call when the API call completes. |
suppress | True if the user's audio should be suppressed, false if it should not |
request_to_speak_timestamp | The time at which we requested to speak, or 0 to clear the request. The time set here must be the current time or in the future. On success the callback will contain a dpp::scheduled_event 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(). |
std::logic_exception | You attempted to set a request_to_speak_timestamp in the past which is not the value of 0. |
confirmation current_user_set_voice_state_sync | ( | snowflake | guild_id, |
snowflake | channel_id, | ||
bool | suppress = false , |
||
time_t | request_to_speak_timestamp = 0 |
||
) |
Set the bot's voice state on a stage channel.
Caveats
There are currently several caveats for this endpoint:
channel_id
must currently point to a stage channel.channel_id
.MUTE_MEMBERS
permission to unsuppress yourself. You can always suppress yourself.REQUEST_TO_SPEAK
permission to request to speak. You can always clear your own request to speak.request_to_speak_timestamp
to any present or future time.guild_id | Guild to set voice state on |
channel_id | Stage channel to set voice state on |
suppress | True if the user's audio should be suppressed, false if it should not |
request_to_speak_timestamp | The time at which we requested to speak, or 0 to clear the request. The time set here must be the current time or in the future. |
std::logic_exception | You attempted to set a request_to_speak_timestamp in the past which is not the value of 0. |
dpp::rest_exception | upon failure to execute REST function |
void dpp::cluster::delete_webhook | ( | snowflake | webhook_id, |
command_completion_event_t | callback = utility::log_error() |
||
) |
Delete a webhook.
webhook_id | Webhook ID to delete |
callback | Function 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(). |
void dpp::cluster::delete_webhook_message | ( | const class webhook & | wh, |
snowflake | message_id, | ||
snowflake | thread_id = 0 , |
||
command_completion_event_t | callback = utility::log_error() |
||
) |
Delete webhook message.
wh | Webhook to delete message for |
message_id | Message ID to delete |
thread_id | ID of the thread the message is in |
callback | Function 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(). |
confirmation delete_webhook_message_sync | ( | const class webhook & | wh, |
snowflake | message_id, | ||
snowflake | thread_id = 0 |
||
) |
Delete webhook message.
wh | Webhook to delete message for |
message_id | Message ID to delete |
thread_id | ID of the thread the message is in |
dpp::rest_exception | upon failure to execute REST function |
confirmation delete_webhook_sync | ( | snowflake | webhook_id | ) |
Delete a webhook.
webhook_id | Webhook ID to delete |
dpp::rest_exception | upon failure to execute REST function |
void dpp::cluster::delete_webhook_with_token | ( | snowflake | webhook_id, |
const std::string & | token, | ||
command_completion_event_t | callback = utility::log_error() |
||
) |
Delete webhook with token.
webhook_id | Webhook ID to delete |
token | Token of webhook to delete |
callback | Function 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(). |
confirmation delete_webhook_with_token_sync | ( | snowflake | webhook_id, |
const std::string & | token | ||
) |
Delete webhook with token.
webhook_id | Webhook ID to delete |
token | Token of webhook to delete |
dpp::rest_exception | upon failure to execute REST function |
void dpp::cluster::direct_message_create | ( | snowflake | user_id, |
const message & | m, | ||
command_completion_event_t | callback = utility::log_error() |
||
) |
Create a direct message, also create the channel for the direct message if needed.
user_id | User ID of user to send message to |
m | Message object |
callback | Function 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(). |
Create a direct message, also create the channel for the direct message if needed.
user_id | User ID of user to send message to |
m | Message object |
dpp::rest_exception | upon failure to execute REST function |
void dpp::cluster::edit_webhook | ( | const class webhook & | wh, |
command_completion_event_t | callback = utility::log_error() |
||
) |
Edit webhook.
wh | Webhook to edit |
callback | Function to call when the API call completes. On success the callback will contain a dpp::webhook 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(). |
void dpp::cluster::edit_webhook_message | ( | const class webhook & | wh, |
const struct message & | m, | ||
snowflake | thread_id = 0 , |
||
command_completion_event_t | callback = utility::log_error() |
||
) |
Edit webhook message.
When the content field is edited, the mentions array in the message object will be reconstructed from scratch based on the new content. The allowed_mentions field of the edit request controls how this happens. If there is no explicit allowed_mentions in the edit request, the content will be parsed with default allowances, that is, without regard to whether or not an allowed_mentions was present in the request that originally created the message.
wh | Webhook to edit message for |
m | New message |
thread_id | ID of the thread the message is in |
callback | Function 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(). |
message edit_webhook_message_sync | ( | const class webhook & | wh, |
const struct message & | m, | ||
snowflake | thread_id = 0 |
||
) |
Edit webhook message.
When the content field is edited, the mentions array in the message object will be reconstructed from scratch based on the new content. The allowed_mentions field of the edit request controls how this happens. If there is no explicit allowed_mentions in the edit request, the content will be parsed with default allowances, that is, without regard to whether or not an allowed_mentions was present in the request that originally created the message.
wh | Webhook to edit message for |
m | New message |
thread_id | ID of the thread the message is in |
dpp::rest_exception | upon failure to execute REST function |
Edit webhook.
wh | Webhook to edit |
dpp::rest_exception | upon failure to execute REST function |
void dpp::cluster::edit_webhook_with_token | ( | const class webhook & | wh, |
command_completion_event_t | callback = utility::log_error() |
||
) |
Edit webhook with token (token is encapsulated in the webhook object)
wh | Webhook to edit (should include token) |
callback | Function to call when the API call completes. On success the callback will contain a dpp::webhook 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 webhook with token (token is encapsulated in the webhook object)
wh | Webhook to edit (should include token) |
dpp::rest_exception | upon failure to execute REST function |
void dpp::cluster::execute_webhook | ( | const class webhook & | wh, |
const struct message & | m, | ||
bool | wait = false , |
||
snowflake | thread_id = 0 , |
||
const std::string & | thread_name = "" , |
||
command_completion_event_t | callback = utility::log_error() |
||
) |
Execute webhook.
wh | Webhook to execute |
m | Message to send |
wait | waits for server confirmation of message send before response, and returns the created message body |
thread_id | Send a message to the specified thread within a webhook's channel. The thread will automatically be unarchived |
thread_name | Name of thread to create (requires the webhook channel to be a forum channel) |
callback | Function to call when the API call completes. |
thread_id
or thread_name
. If thread_id
is provided, the message will send in that thread. If thread_name
is provided, a thread with that name will be created in the forum channel. 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(). message execute_webhook_sync | ( | const class webhook & | wh, |
const struct message & | m, | ||
bool | wait = false , |
||
snowflake | thread_id = 0 , |
||
const std::string & | thread_name = "" |
||
) |
Execute webhook.
wh | Webhook to execute |
m | Message to send |