|
struct | active_thread_info |
| A thread alongside the bot's optional thread_member object tied to it. More...
|
|
class | activity |
| An activity is a representation of what a user is doing. It might be a game, or a website, or a movie. Whatever. More...
|
|
struct | activity_assets |
| An activity asset are the images and the hover text displayed in the rich presence. More...
|
|
struct | activity_button |
| An activity button is a custom button shown in the rich presence. Can be to join a game or whatever. More...
|
|
struct | activity_party |
| Information for the current party of the player. More...
|
|
struct | activity_secrets |
| Secrets for Rich Presence joining and spectating. More...
|
|
class | address_t |
| Represents an IPv4 address for use with socket functions such as bind(). More...
|
|
class | app_team |
| Represents a team of users who maintain a bot/application. More...
|
|
class | application |
| The application class represents details of a bot application. More...
|
|
struct | application_install_params |
| Represents the settings for the bot/application's in-app authorization link. More...
|
|
class | application_role_connection |
| The application role connection that an application has attached to a user. More...
|
|
class | application_role_connection_metadata |
| Application Role Connection Metadata. Represents a role connection metadata for an dpp::application. More...
|
|
class | async |
| A co_await-able object handling an API call in parallel with the caller. More...
|
|
struct | async_dummy |
|
struct | attachment |
| Represents an attachment in a dpp::message. More...
|
|
class | audio_mixer |
| A class for audio mixing operations using x64 instructions. More...
|
|
struct | audit_change |
| Defines audit log changes. More...
|
|
struct | audit_entry |
| An individual audit log entry. More...
|
|
struct | audit_extra |
| Extra information for an audit log entry. More...
|
|
class | auditlog |
| The auditlog class represents the audit log entries of a guild. More...
|
|
struct | autocomplete_interaction |
| An auto complete interaction. More...
|
|
struct | autocomplete_t |
| Discord requests that we fill a list of auto completion choices for a command option. More...
|
|
struct | automod_action |
| Represents an automod action. More...
|
|
struct | automod_metadata |
| Metadata associated with an automod action. Different fields are relevant based on the value of dpp::automod_rule::trigger_type. More...
|
|
class | automod_rule |
| Represents an automod rule. More...
|
|
struct | automod_rule_create_t |
| Create automod rule. More...
|
|
struct | automod_rule_delete_t |
| Delete automod rule. More...
|
|
struct | automod_rule_execute_t |
| Execute/trigger automod rule. More...
|
|
struct | automod_rule_update_t |
| Update automod rule. More...
|
|
class | awaitable |
| Generic awaitable class, represents a future value that can be co_await-ed on. More...
|
|
struct | awaitable_dummy |
|
class | ban |
| The ban class represents a ban on a guild. More...
|
|
class | basic_awaitable |
|
class | basic_promise |
| Generic promise class, represents the owning potion of an asynchronous value. More...
|
|
class | bignumber |
| An arbitrary length integer number. Officially, the Discord documentation says that permission values can be any arbitrary number of digits. At time of writing there are only 50 bits of permissions, but this is set to grow larger and potentially past 64 bits. They will continue to send this data as a huge single integer at that point, because this is obviously sensible. /s. More...
|
|
struct | bucket_t |
| A rate limit bucket. The library builds one of these for each endpoint. More...
|
|
struct | button_click_t |
| Click on button. More...
|
|
class | cache |
| A cache object maintains a cache of dpp::managed objects. More...
|
|
class | cache_exception |
| Represents invalid access to dpp's cache or its members, which may or may not exist. More...
|
|
struct | cache_policy_t |
| Represents the caching policy of the cluster. More...
|
|
class | channel |
| A definition of a discord channel. There are one of these for every channel type except threads. Threads are special snowflakes. Get it? A Discord pun. Hahaha. .... I'll get my coat. More...
|
|
class | channel_collector |
| Channel collector. Collects channels during a set timeframe and returns them in a list via the completed() method. More...
|
|
struct | channel_create_t |
| Create channel. More...
|
|
struct | channel_delete_t |
| Delete channel. More...
|
|
struct | channel_pins_update_t |
| Channel pins update. More...
|
|
struct | channel_update_t |
| Update channel. More...
|
|
class | cluster |
| 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...
|
|
class | collected_reaction |
| Represents a reaction. Can be filled for use in a collector. More...
|
|
class | collector |
| Collects objects from events during a specified time period. More...
|
|
struct | command_data_option |
| Values in the command interaction. These are the values specified by the user when actually issuing the command on a channel or in DM. More...
|
|
struct | command_info_t |
| Represents the details of a command added to the command handler class. More...
|
|
struct | command_interaction |
| Details of a command within an interaction. This subobject represents the application command associated with the interaction. More...
|
|
struct | command_option |
| Each command option is a command line parameter. It can have a type (see dpp::command_option_type), a name, a description, can be required or optional, and can have zero or more choices (for multiple choice), plus options. Adding options acts like sub-commands and can contain more options. More...
|
|
struct | command_option_choice |
| This struct represents choices in a multiple choice option for a command parameter. It has both a string name, and a value parameter which is a variant, meaning it can hold different potential types (see dpp::command_value) that you can retrieve with std::get(). More...
|
|
class | command_permission |
| Application command permissions allow you to enable or disable commands for specific users or roles within a guild. More...
|
|
struct | command_resolved |
| Resolved snowflake ids to users, guild members, roles and channels. You can use the interaction::get_resolved_* methods to easily get a resolved set. More...
|
|
struct | command_source |
| Represents the sending source of a command. This is passed to any command handler and should be passed back to commandhandler::reply(), allowing the reply method to route any replies back to the origin, which may be a slash command or a message. Both require different response facilities but we want this to be transparent if you use the command handler class. More...
|
|
class | component |
| Represents the component object. A component is a clickable button or drop down list within a discord message, where the buttons emit on_button_click events when the user interacts with them. More...
|
|
struct | component_default_value |
| A Default value structure for components. More...
|
|
struct | component_interaction |
| A button click for a button component. More...
|
|
struct | confirmation |
| Confirmation object represents any true or false simple REST request. More...
|
|
struct | confirmation_callback_t |
| The results of a REST call wrapped in a convenient struct. More...
|
|
class | connection |
| The connection object that the user has attached. More...
|
|
class | connection_exception |
| Represents an error establishing or maintaining a connection. More...
|
|
struct | context_menu_t |
| Base class for context menu interactions, e.g. right click on user or message. More...
|
|
class | coroutine |
| Base type for a coroutine, starts on co_await. More...
|
|
struct | coroutine_dummy |
|
struct | dave_binary_header_t |
| DAVE E2EE Binary frame header. More...
|
|
class | discord_client |
| Implements a discord client. Each discord_client connects to one shard and derives from a websocket client. More...
|
|
class | discord_voice_client |
| Implements a discord voice connection. Each discord_voice_client connects to one voice channel and derives from a websocket client. More...
|
|
struct | dns_cache_entry |
| Represents a cached DNS result. Used by the ssl_client class to store cached copies of dns lookups. More...
|
|
class | dtemplate |
| Represents a guild template. More...
|
|
struct | embed |
| A rich embed for display within a dpp::message. More...
|
|
struct | embed_author |
| Author within a dpp::embed object. More...
|
|
struct | embed_field |
| A dpp::embed may contain zero or more fields. More...
|
|
struct | embed_footer |
| A footer in a dpp::embed. More...
|
|
struct | embed_image |
| An video, image or thumbnail in a dpp::embed. More...
|
|
struct | embed_provider |
| Embed provider in a dpp::embed. Received from discord but cannot be sent. More...
|
|
class | emoji |
| Represents an emoji for a dpp::guild. More...
|
|
class | entitlement |
| A definition of a discord entitlement. More...
|
|
struct | entitlement_create_t |
| Delete stage instance. More...
|
|
struct | entitlement_delete_t |
| Delete stage instance. More...
|
|
struct | entitlement_update_t |
| Delete stage instance. More...
|
|
struct | error_detail |
| The details of a field in an error response. More...
|
|
struct | error_info |
| The full details of an error from a REST response. More...
|
|
struct | etf_buffer |
| Represents a buffer of bytes being encoded into ETF. More...
|
|
class | etf_parser |
| The etf_parser class can serialise and deserialise ETF (Erlang Term Format) into and out of an nlohmann::json object, so that layers above the websocket don't have to be any different for handling ETF. More...
|
|
struct | event_dispatch_t |
| Base event parameter struct. Each event you receive from the library will have its parameter derived from this class. The class contains the raw event data, and a pointer to the current shard's dpp::discord_client object. You can also use this object to cancel the current event, meaning that any listeners after yours do not get notified of the current event if you call it. More...
|
|
struct | event_entities |
| Entities for the event. More...
|
|
struct | event_member |
| Represents a guild member/user who has registered interest in an event. More...
|
|
class | event_router_t |
| Handles routing of an event to multiple listeners. Multiple listeners may attach to the event_router_t by means of operator(). Passing a lambda into operator() attaches to the event. More...
|
|
class | exception |
| The dpp::exception class derives from std::exception and supports some other ways of passing in error details such as via std::string. More...
|
|
class | file_exception |
| Represents an error reading or writing to a file. More...
|
|
struct | form_submit_t |
| On form submitted. More...
|
|
struct | forum_tag |
| Represents a tag that is able to be applied to a thread in a forum or media channel. More...
|
|
struct | gateway |
| Represents the various information from the 'get gateway bot' api call. More...
|
|
class | guild |
| Represents a guild on Discord (AKA a server) More...
|
|
struct | guild_audit_log_entry_create_t |
| Guild audit log entry create. More...
|
|
struct | guild_ban_add_t |
| Guild ban add. More...
|
|
struct | guild_ban_remove_t |
| Guild ban remove. More...
|
|
class | guild_command_permissions |
| Returned when fetching the permissions for a command in a guild. More...
|
|
struct | guild_create_t |
| Create guild. More...
|
|
struct | guild_delete_t |
| Delete guild. More...
|
|
struct | guild_emojis_update_t |
| Guild emojis update. More...
|
|
struct | guild_integrations_update_t |
| Guild integrations update. More...
|
|
struct | guild_join_request_delete_t |
| Guild join request delete (user declined membership screening) More...
|
|
class | guild_member |
| Represents dpp::user membership upon a dpp::guild. This contains the user's nickname, guild roles, and any other guild-specific flags. More...
|
|
struct | guild_member_add_t |
| Guild member add. More...
|
|
struct | guild_member_remove_t |
| Guild member remove. More...
|
|
struct | guild_member_update_t |
| Guild member update. More...
|
|
struct | guild_members_chunk_t |
| Guild members chunk. More...
|
|
struct | guild_role_create_t |
| Guild role create. More...
|
|
struct | guild_role_delete_t |
| Guild role delete. More...
|
|
struct | guild_role_update_t |
| Guild role update. More...
|
|
struct | guild_scheduled_event_create_t |
| Create scheduled event. More...
|
|
struct | guild_scheduled_event_delete_t |
| Delete scheduled event. More...
|
|
struct | guild_scheduled_event_update_t |
| Create scheduled event. More...
|
|
struct | guild_scheduled_event_user_add_t |
| Add user to scheduled event. More...
|
|
struct | guild_scheduled_event_user_remove_t |
| Delete user from scheduled event. More...
|
|
struct | guild_stickers_update_t |
| Update guild stickers. More...
|
|
struct | guild_update_t |
| Guild update. More...
|
|
class | guild_widget |
| Represents a guild widget, simple web widget of member list. More...
|
|
struct | http_connect_info |
| Represents a HTTP scheme, hostname and port split into parts for easy use in https_client. More...
|
|
class | http_request |
| A HTTP request. More...
|
|
struct | http_request_completion_t |
| The result of any HTTP request. Contains the headers, vital rate limit figures, and returned request body. More...
|
|
class | https_client |
| Implements a HTTPS socket client based on the SSL client. More...
|
|
class | integration |
| Represents an integration on a guild, e.g. a connection to twitch. More...
|
|
struct | integration_account |
| The account information for an integration. More...
|
|
struct | integration_app |
| An application that has been integrated. More...
|
|
struct | integration_configuration |
| Configuration object for an app installation. More...
|
|
struct | integration_create_t |
| Integration create. More...
|
|
struct | integration_delete_t |
| Integration delete. More...
|
|
struct | integration_update_t |
| Integration update. More...
|
|
class | interaction |
| An interaction represents a user running a command and arrives via the dpp::cluster::on_interaction_create event. This is further split into the events on_form_submit, on_slashcommand, on_user_context_menu, on_button_click, on_select_menu, etc. More...
|
|
struct | interaction_create_t |
| Create interaction. More...
|
|
struct | interaction_metadata_type |
| Metadata about the interaction, including the source of the interaction and relevant server and user IDs. More...
|
|
struct | interaction_modal_response |
| Represents a modal dialog box response to an interaction. More...
|
|
struct | interaction_response |
| A response to an interaction, used to reply to a command and initiate a message, which can be hidden from others (ephemeral) or visible to all. More...
|
|
class | invalid_token_exception |
| Represents an attempt to construct a cluster with an invalid bot token. More...
|
|
class | invite |
| Represents an invite to a discord guild or channel. More...
|
|
struct | invite_create_t |
| Invite create. More...
|
|
struct | invite_delete_t |
| Invite delete. More...
|
|
class | job |
| Extremely light coroutine object designed to send off a coroutine to execute on its own. Can be used in conjunction with coroutine events via event routers, or on its own. More...
|
|
struct | job_dummy |
|
struct | json_interface |
| Represents an interface for an object that can optionally implement functions for converting to and from nlohmann::json. The methods are only present if the actual object also has those methods. More...
|
|
class | length_exception |
| Represents invalid length of argument being passed to a function. More...
|
|
struct | log_t |
| Log messages. More...
|
|
class | logic_exception |
| Represents an error in logic, e.g. you asked the library to do something the Discord API does not support. More...
|
|
class | managed |
| The managed class is the base class for various types that can be stored in a cache that are identified by a dpp::snowflake id. More...
|
|
struct | message |
| Represents messages sent and received on Discord. More...
|
|
class | message_collector |
| Message collector. Collects messages during a set timeframe and returns them in a list via the completed() method. More...
|
|
struct | message_context_menu_t |
| Event parameter for context menu interactions for messages. More...
|
|
struct | message_create_t |
| Create message. More...
|
|
struct | message_delete_bulk_t |
| Message delete bulk. More...
|
|
struct | message_delete_t |
| Message Deleted. More...
|
|
struct | message_file_data |
| The data for a file attached to a message. More...
|
|
struct | message_poll_vote_add_t |
| Message poll vote add. More...
|
|
struct | message_poll_vote_remove_t |
| Message poll vote remove. More...
|
|
struct | message_reaction_add_t |
| Message reaction add. More...
|
|
struct | message_reaction_remove_all_t |
| Message remove all reactions. More...
|
|
struct | message_reaction_remove_emoji_t |
| Message remove emoji. More...
|
|
struct | message_reaction_remove_t |
| Message reaction remove. More...
|
|
struct | message_snapshot |
|
struct | message_update_t |
| Message update. More...
|
|
class | moveable_promise |
| Generic promise class, represents the owning potion of an asynchronous value. More...
|
|
struct | moving_averager |
|
struct | multipart_content |
| Represents a multipart mime body and the correct top-level mime type If a non-multipart request is passed in, this is represented as a plain body and the application/json mime type. More...
|
|
struct | onboarding |
| Represents a guild's onboarding flow. More...
|
|
struct | onboarding_prompt |
| Represents an onboarding prompt. More...
|
|
struct | onboarding_prompt_option |
| Represents an onboarding prompt option. More...
|
|
class | oneshot_timer |
| Trigger a timed event once. The provided callback is called only once. More...
|
|
struct | param_info |
| Details of a command parameter used in registration. Note that for non-slash commands optional parameters can only be at the end of the list of parameters. More...
|
|
class | parse_exception |
| Represents inability to parse data, usually caused by malformed JSON or ETF. More...
|
|
struct | partial_emoji |
| An emoji reference for a component (select menus included) or a poll. More...
|
|
class | permission |
| Represents a permission bitmask (refer to enum dpp::permissions) which are held in an uint64_t. More...
|
|
struct | permission_overwrite |
| Channel permission overwrites. More...
|
|
struct | poll |
| Represents a poll. More...
|
|
struct | poll_answer |
| Represents an answer in a poll. More...
|
|
struct | poll_media |
| Structure representing a poll media, for example the poll question or a possible poll answer. More...
|
|
struct | poll_results |
| Represents the results of a poll. More...
|
|
class | presence |
| Represents user presence, e.g. what game they are playing and if they are online. More...
|
|
struct | presence_update_t |
| Presence update. More...
|
|
struct | prune |
| Defines a request to count prunable users, or start a prune operation. More...
|
|
struct | raii_socket |
| Allocates a dpp::socket, closing it on destruction. More...
|
|
struct | reaction |
| Represents a reaction to a dpp::message. More...
|
|
class | reaction_collector |
| Reaction collector. Collects message reactions during a set timeframe and returns them in a list via the completed() method. More...
|
|
struct | ready_t |
| Session ready. More...
|
|
class | request_concurrency_queue |
| Represents a timer instance in a pool handling requests to HTTP(S) servers. There are several of these, the total defined by a constant in cluster.cpp, and each one will always receive requests for the same rate limit bucket based on its endpoint portion of the url. This makes rate limit handling reliable and easy to manage. Each of these also has its own mutex, making it thread safe to call and use these from anywhere in the code. More...
|
|
class | request_queue |
| The request_queue class manages rate limits and marshalls HTTP requests that have been built as http_request objects. More...
|
|
struct | resolved_user |
| dpp::resolved_user contains both a dpp::guild_member and a dpp::user. The user can be used to obtain in-depth user details such as if they are nitro, and the guild member information to check their roles on a guild etc. The Discord API provides both if a parameter is a user ping, so we offer both in a combined structure. More...
|
|
class | rest_exception |
| Represents an error on a REST API call, e.g. a HTTPS request. More...
|
|
struct | resumed_t |
| Session resumed. More...
|
|
class | role |
| Represents a role within a dpp::guild. Roles are combined via logical OR of the permission bitmasks, then channel-specific overrides can be applied on top, deny types apply a logic NOT to the bit mask, and allows apply a logical OR. More...
|
|
class | role_collector |
| Role collector. Collects guild roles during a set timeframe and returns them in a list via the completed() method. More...
|
|
struct | scheduled_event |
| A scheduled event. More...
|
|
class | scheduled_event_collector |
| Scheduled event collector. Collects messages during a set timeframe and returns them in a list via the completed() method. More...
|
|
struct | select_click_t |
| Click on select. More...
|
|
struct | select_option |
| An option for a select component. More...
|
|
class | sku |
| A definition of a discord SKU. More...
|
|
class | slashcommand |
| Represents an application command, created by your bot either globally, or on a guild. More...
|
|
struct | slashcommand_t |
| User has issued a slash command. More...
|
|
class | snowflake |
| A container for a 64 bit unsigned value representing many things on discord. This value is known in distributed computing as a snowflake value. More...
|
|
struct | socket_engine_base |
| This is the base class for socket engines. The actual implementation is OS specific and the correct implementation is detected by CMake. It is then compiled specifically into DPP so only one implementation can exist in the implementation. All implementations should behave identically to the user, abstracting out implementation-specific behaviours (e.g. difference between edge and level triggered event mechanisms etc). More...
|
|
struct | socket_events |
| Represents an active socket event set in the socket engine. More...
|
|
struct | socket_stats |
| Contains statistics about the IO loop. More...
|
|
class | ssl_client |
| Implements a simple non-blocking SSL stream client. More...
|
|
struct | stage_instance |
| A stage instance. Stage instances are like a conference facility, with moderators/speakers and listeners. More...
|
|
struct | stage_instance_create_t |
| Create stage instance. More...
|
|
struct | stage_instance_delete_t |
| Delete stage instance. More...
|
|
struct | stage_instance_update_t |
| Update stage instance. More...
|
|
struct | sticker |
| Represents stickers received in messages. More...
|
|
struct | sticker_pack |
| Represents a sticker pack (the built in groups of stickers that all nitro users get to use) More...
|
|
class | task |
| A coroutine task. It starts immediately on construction and can be co_await-ed, making it perfect for parallel coroutines returning a value. More...
|
|
class | task_cancelled_exception |
| Represents the cancellation of a task. Will be thrown to the awaiter of a cancelled task. More...
|
|
struct | task_dummy |
|
class | team_member |
| Represents a team member on a team who maintain a bot/application. More...
|
|
class | thread |
| A definition of a discord thread. A thread is a superset of a channel. Not to be confused with std::thread ! More...
|
|
class | thread_collector |
| Thread collector. Collects threads during a set timeframe and returns them in a list via the completed() method. More...
|
|
struct | thread_create_t |
| Thread Create. More...
|
|
struct | thread_delete_t |
| Thread Delete. More...
|
|
struct | thread_list_sync_t |
| Thread List Sync. More...
|
|
struct | thread_member |
| represents membership of a user with a thread More...
|
|
struct | thread_member_update_t |
| Thread Member Update. More...
|
|
struct | thread_members_update_t |
| Thread Members Update. More...
|
|
struct | thread_metadata |
| metadata for threads More...
|
|
struct | thread_pool |
| A thread pool contains 1 or more worker threads which accept thread_pool_task lambadas into a queue, which is processed in-order by whichever thread is free. More...
|
|
struct | thread_pool_task |
| A task within a thread pool. A simple lambda that accepts no parameters and returns void. More...
|
|
struct | thread_pool_task_comparator |
| Compares two thread pool tasks by priority. More...
|
|
struct | thread_update_t |
| Thread Update. More...
|
|
class | timed_listener |
| A timed_listener is a way to temporarily attach to an event for a specific timeframe, then detach when complete. A lambda may also be optionally called when the timeout is reached. Destructing the timed_listener detaches any attached event listeners, and cancels any created timers, but does not call any timeout lambda. More...
|
|
struct | timer_comparator |
| Used to compare two timers next tick times in a priority queue. More...
|
|
struct | timer_t |
| Used internally to store state of active timers. More...
|
|
struct | typing_start_t |
| Typing start. More...
|
|
class | user |
| Represents a user on discord. May or may not be a member of a dpp::guild. More...
|
|
struct | user_context_menu_t |
| Event parameter for context menu interactions for users. More...
|
|
class | user_identified |
| A user with additional fields only available via the oauth2 identify scope. These are not included in dpp::user as additional scopes are needed to fetch them which bots do not normally have. More...
|
|
struct | user_update_t |
| User update. More...
|
|
struct | voice_buffer_send_t |
| voice buffer send More...
|
|
struct | voice_client_disconnect_t |
| voice client disconnect event More...
|
|
struct | voice_client_platform_t |
| voice client platform type notification event More...
|
|
struct | voice_client_speaking_t |
| voice client speaking event More...
|
|
class | voice_exception |
| Represents an error with voice processing. More...
|
|
struct | voice_out_packet |
| An opus-encoded RTP packet to be sent out to a voice channel. More...
|
|
struct | voice_ready_t |
| voice ready More...
|
|
struct | voice_receive_t |
| voice receive packet More...
|
|
struct | voice_server_update_t |
| Voice server update. More...
|
|
struct | voice_state_update_t |
| Voice state update. More...
|
|
struct | voice_track_marker_t |
| Voice state update. More...
|
|
class | voiceconn |
| Represents a connection to a voice channel. A client can only connect to one voice channel per guild at a time, so these are stored in a map in the dpp::discord_client keyed by guild_id. More...
|
|
class | voiceregion |
| Represents a voice region on discord. More...
|
|
class | voicestate |
| Represents the voice state of a user on a guild These are stored in the dpp::guild object, and accessible there, or via dpp::channel::get_voice_members. More...
|
|
class | webhook |
| Represents a discord webhook. More...
|
|
struct | webhooks_update_t |
| Webhooks update. More...
|
|
class | websocket_client |
| Implements a websocket client based on the SSL client. More...
|
|
struct | welcome_channel |
| Defines a channel on a server's welcome screen. More...
|
|
struct | welcome_screen |
| Defines a server's welcome screen. More...
|
|
class | when_any |
| Experimental class to co_await on a bunch of awaitable objects, resuming when the first one completes. On completion, returns a result object that contains the index of the awaitable that finished first. A user can call result::index() and result::get<N>() on the result object to get the result, similar to std::variant. More...
|
|
class | zlibcontext |
| This is an opaque class containing zlib library specific structures. This wraps the C pointers needed for zlib with unique_ptr and gives us a nice buffer abstraction so we don't need to wrestle with raw pointers. More...
|
|
|
typedef std::variant< std::monostate, std::string, int64_t, bool, snowflake, double > | command_value |
| This type is a variant that can hold any of the potential native data types represented by the enum dpp::command_option_type. It is used in interactions. More...
|
|
typedef std::variant< std::monostate, int64_t, double > | command_option_range |
| A minimum or maximum value/length for dpp::co_number, dpp::co_integer and dpp::co_string types of a dpp::command_option. The int64_t is for the integer range or string length that can be entered. The double is for the decimal range that can be entered. More...
|
|
typedef std::unordered_map< snowflake, slashcommand > | slashcommand_map |
| A group of application slash commands. More...
|
|
typedef std::unordered_map< snowflake, guild_command_permissions > | guild_command_permissions_map |
| A group of guild command permissions. More...
|
|
typedef std::unordered_map< snowflake, application > | application_map |
| A group of applications. More...
|
|
typedef std::unordered_map< snowflake, automod_rule > | automod_rule_map |
|
typedef std::unordered_map< snowflake, ban > | ban_map |
| A group of bans. The key is the user ID. More...
|
|
typedef std::unordered_map< snowflake, channel > | channel_map |
| A group of channels. More...
|
|
typedef dpp::collector< dpp::channel_create_t, dpp::channel > | channel_collector_t |
| Template type for base class of channel collector. More...
|
|
typedef dpp::collector< dpp::thread_create_t, dpp::thread > | thread_collector_t |
| Template type for base class of thread collector. More...
|
|
typedef dpp::collector< dpp::guild_role_create_t, dpp::role > | role_collector_t |
| Template type for base class of role collector. More...
|
|
typedef dpp::collector< dpp::guild_scheduled_event_create_t, dpp::scheduled_event > | scheduled_event_collector_t |
| Template type for base class of scheduled event collector. More...
|
|
typedef dpp::collector< dpp::message_create_t, dpp::message > | message_collector_t |
| Template type for base class of message collector. More...
|
|
typedef dpp::collector< dpp::message_reaction_add_t, dpp::collected_reaction > | reaction_collector_t |
| Template type for base class of message reaction collector. More...
|
|
typedef std::variant< std::monostate, std::string, dpp::role, dpp::channel, dpp::resolved_user, int64_t, bool, double > | command_parameter |
| Represents a received parameter. We use variant so that multiple non-related types can be contained within. More...
|
|
typedef std::vector< std::pair< std::string, param_info > > | parameter_registration_t |
| Parameter list used during registration. Note that use of vector/pair is important here to preserve parameter order, as opposed to unordered_map (which doesn't guarantee any order at all) and std::map, which reorders keys alphabetically. More...
|
|
typedef std::vector< std::pair< std::string, command_parameter > > | parameter_list_t |
| Parameter list for a called command. See dpp::parameter_registration_t for an explanation as to why vector is used. More...
|
|
typedef std::function< void(const std::string &, const parameter_list_t &, command_source)> | command_handler |
| The function definition for a command handler. Expects a command name string, and a list of command parameters. More...
|
|
template<typename T > |
using | promise = moveable_promise< T > |
|
using | privacy_code_callback_t = std::function< void(const std::string &)> |
| A callback for obtaining a user's privacy code. The privacy code is returned as the parameter to the function. More...
|
|
using | command_completion_event_t = std::function< void(const confirmation_callback_t &)> |
| A function used as a callback for any REST based command. More...
|
|
using | dns_cache_t = std::unordered_map< std::string, std::unique_ptr< dns_cache_entry > > |
| Cache container type. More...
|
|
typedef std::unordered_map< snowflake, dtemplate > | dtemplate_map |
| A container of invites. More...
|
|
typedef std::unordered_map< snowflake, emoji > | emoji_map |
| Group of emojis. More...
|
|
typedef std::unordered_map< snowflake, entitlement > | entitlement_map |
| Group of entitlements. More...
|
|
typedef size_t | event_handle |
| A returned event handle for an event which was attached. More...
|
|
typedef std::unordered_map< snowflake, guild_member > | members_container |
| Guild members container. More...
|
|
typedef std::unordered_map< snowflake, guild > | guild_map |
| A container of guilds. More...
|
|
typedef std::unordered_map< snowflake, guild_member > | guild_member_map |
| A container of guild members. More...
|
|
typedef std::multimap< std::string, std::string > | http_headers |
| Request headers. More...
|
|
using | https_client_completion_event = std::function< void(class https_client *)> |
|
typedef std::unordered_map< snowflake, integration > | integration_map |
| A group of integrations. More...
|
|
typedef std::unordered_map< snowflake, connection > | connection_map |
| A group of connections. More...
|
|
typedef std::unordered_map< std::string, invite > | invite_map |
| A container of invites. More...
|
|
using | json = nlohmann::json |
|
using | component_emoji = partial_emoji |
| An emoji for a component. Alias to partial_emoji, for backwards compatibility. More...
|
|
typedef std::unordered_map< snowflake, message > | message_map |
| A group of messages. More...
|
|
typedef std::unordered_map< snowflake, sticker > | sticker_map |
| A group of stickers. More...
|
|
typedef std::unordered_map< snowflake, sticker_pack > | sticker_pack_map |
| A group of sticker packs. More...
|
|
using | role_permissions = permissions |
| Represents the various discord permissions. More...
|
|
typedef std::unordered_map< snowflake, presence > | presence_map |
| A container of presences. More...
|
|
typedef std::function< void(const http_request_completion_t &)> | http_completion_event |
| Results of HTTP requests are called back to these std::function types. More...
|
|
typedef std::map< uint32_t, class discord_client * > | shard_list |
| A list of shards. More...
|
|
typedef std::map< uint32_t, time_t > | reconnect_list |
| List of shards awaiting reconnection, by id with earliest possible reconnect time. More...
|
|
typedef std::variant< active_threads, application_role_connection, application_role_connection_metadata_list, confirmation, message, message_map, user, user_identified, user_map, guild_member, guild_member_map, channel, channel_map, thread_member, thread_member_map, guild, guild_map, guild_command_permissions, guild_command_permissions_map, role, role_map, invite, invite_map, dtemplate, dtemplate_map, emoji, emoji_map, ban, ban_map, voiceregion, voiceregion_map, voicestate, integration, integration_map, webhook, webhook_map, prune, guild_widget, gateway, interaction, interaction_response, auditlog, slashcommand, slashcommand_map, stage_instance, sticker, sticker_map, sticker_pack, sticker_pack_map, application, application_map, connection, connection_map, thread, thread_map, scheduled_event, scheduled_event_map, event_member, event_member_map, automod_rule, automod_rule_map, onboarding, welcome_screen, entitlement, entitlement_map, sku, sku_map > | confirmable_t |
| A container for types that can be returned for a REST API call. More...
|
|
typedef std::function< void(json &, const http_request_completion_t &)> | json_encode_t |
| Automatically JSON encoded HTTP result. More...
|
|
typedef std::unordered_map< snowflake, role > | role_map |
| A group of roles. More...
|
|
typedef std::vector< application_role_connection_metadata > | application_role_connection_metadata_list |
| A group of dpp::application_role_connection_metadata objects. More...
|
|
typedef std::unordered_map< snowflake, scheduled_event > | scheduled_event_map |
| A group of scheduled events. More...
|
|
typedef std::unordered_map< snowflake, event_member > | event_member_map |
| A group of scheduled event members. More...
|
|
typedef std::unordered_map< snowflake, sku > | sku_map |
| Group of SKUs. More...
|
|
using | socket = int |
| Represents a socket file descriptor. This is used to ensure parity between windows and unix-like systems. More...
|
|
using | socket_read_event = std::function< void(dpp::socket fd, const struct socket_events &)> |
| Read ready event. More...
|
|
using | socket_write_event = std::function< void(dpp::socket fd, const struct socket_events &)> |
| Write ready event. More...
|
|
using | socket_error_event = std::function< void(dpp::socket fd, const struct socket_events &, int error_code)> |
| Error event. More...
|
|
using | socket_container = std::unordered_map< dpp::socket, std::unique_ptr< socket_events > > |
| Container of event sets keyed by socket file descriptor. More...
|
|
typedef std::unordered_map< snowflake, stage_instance > | stage_instance_map |
| A group of stage instances. More...
|
|
typedef std::unordered_map< snowflake, thread_member > | thread_member_map |
| A group of thread member objects. the key is the user_id of the dpp::thread_member. More...
|
|
typedef std::unordered_map< snowflake, thread > | thread_map |
| A group of threads. More...
|
|
using | active_threads = std::map< snowflake, active_thread_info > |
| A map of threads alongside optionally the thread_member tied to the bot if it is in the thread. The map's key is the thread id. Returned from the cluster::threads_get_active method. More...
|
|
using | work_unit = std::function< void()> |
| A work unit is a lambda executed in the thread pool. More...
|
|
typedef size_t | timer |
| Represents a timer handle. Returned from cluster::start_timer and used by cluster::stop_timer. This is obtained from a simple incrementing value, internally. More...
|
|
typedef std::function< void(timer)> | timer_callback_t |
| The type for a timer callback. More...
|
|
typedef std::priority_queue< timer_t, std::vector< timer_t >, timer_comparator > | timer_next_t |
| A priority timers, ordered by earliest first so that the head is always the soonest to be due. More...
|
|
typedef std::set< timer > | timers_deleted_t |
| A set of deleted timer handles. More...
|
|
typedef std::unordered_map< snowflake, user > | user_map |
| A group of users. More...
|
|
typedef std::unordered_map< std::string, voiceregion > | voiceregion_map |
| A group of voice regions. More...
|
|
typedef std::unordered_map< std::string, voicestate > | voicestate_map |
|
typedef std::unordered_map< snowflake, webhook > | webhook_map |
| A group of webhooks. More...
|
|
|
enum | command_option_type : uint8_t {
co_sub_command = 1
, co_sub_command_group = 2
, co_string = 3
, co_integer = 4
,
co_boolean = 5
, co_user = 6
, co_channel = 7
, co_role = 8
,
co_mentionable = 9
, co_number = 10
, co_attachment = 11
} |
| Represents command option types. These are the possible parameter value types. More...
|
|
enum | interaction_response_type {
ir_pong = 1
, ir_channel_message_with_source = 4
, ir_deferred_channel_message_with_source = 5
, ir_deferred_update_message = 6
,
ir_update_message = 7
, ir_autocomplete_reply = 8
, ir_modal_dialog = 9
, ir_premium_required = 10
} |
| Response types when responding to an interaction within on_interaction_create. More...
|
|
enum | interaction_type {
it_ping = 1
, it_application_command = 2
, it_component_button = 3
, it_autocomplete = 4
,
it_modal_submit = 5
} |
|
enum | interaction_context_type { itc_guild = 0
, itc_bot_dm = 1
, itc_private_channel = 2
} |
|
enum | slashcommand_contextmenu_type { ctxm_none = 0
, ctxm_chat_input = 1
, ctxm_user = 2
, ctxm_message = 3
} |
| Right-click context menu types. More...
|
|
enum | command_permission_type { cpt_role = 1
, cpt_user = 2
} |
| type of permission in the dpp::command_permission class More...
|
|
enum | team_member_status : uint8_t { tms_invited = 1
, tms_accepted = 2
} |
| status of a member of a team who maintain a bot/application More...
|
|
enum | application_flags : uint32_t {
apf_application_automod_rule_create_badge = (1 << 6)
, apf_gateway_presence = (1 << 12)
, apf_gateway_presence_limited = (1 << 13)
, apf_gateway_guild_members = (1 << 14)
,
apf_gateway_guild_members_limited = (1 << 15)
, apf_verification_pending_guild_limit = (1 << 16)
, apf_embedded = (1 << 17)
, apf_gateway_message_content = (1 << 18)
,
apf_gateway_message_content_limited = (1 << 19)
, apf_application_command_badge = (1 << 23)
} |
| Flags for a bot or application. More...
|
|
enum | team_member_role_t : uint8_t { tmr_owner
, tmr_admin
, tmr_developer
, tmr_readonly
} |
| Team member role types for application team members. More...
|
|
enum | audit_type {
aut_guild_update = 1
, aut_channel_create = 10
, aut_channel_update = 11
, aut_channel_delete = 12
,
aut_channel_overwrite_create = 13
, aut_channel_overwrite_update = 14
, aut_channel_overwrite_delete = 15
, aut_member_kick = 20
,
aut_member_prune = 21
, aut_member_ban_add = 22
, aut_member_ban_remove = 23
, aut_member_update = 24
,
aut_member_role_update = 25
, aut_member_move = 26
, aut_member_disconnect = 27
, aut_bot_add = 28
,
aut_role_create = 30
, aut_role_update = 31
, aut_role_delete = 32
, aut_invite_create = 40
,
aut_invite_update = 41
, aut_invite_delete = 42
, aut_webhook_create = 50
, aut_webhook_update = 51
,
aut_webhook_delete = 52
, aut_emoji_create = 60
, aut_emoji_update = 61
, aut_emoji_delete = 62
,
aut_message_delete = 72
, aut_message_bulk_delete = 73
, aut_message_pin = 74
, aut_message_unpin = 75
,
aut_integration_create = 80
, aut_integration_update = 81
, aut_integration_delete = 82
, aut_stage_instance_create = 83
,
aut_stage_instance_update = 84
, aut_stage_instance_delete = 85
, aut_sticker_create = 90
, aut_sticker_update = 91
,
aut_sticker_delete = 92
, aut_guild_scheduled_event_create = 100
, aut_guild_scheduled_event_update = 101
, aut_guild_scheduled_event_delete = 102
,
aut_thread_create = 110
, aut_thread_update = 111
, aut_thread_delete = 112
, aut_appcommand_permission_update = 121
,
aut_automod_rule_create = 140
, aut_automod_rule_update = 141
, aut_automod_rule_delete = 142
, aut_automod_block_message = 143
,
aut_automod_flag_to_channel = 144
, aut_automod_user_communication_disabled = 145
, aut_creator_monetization_request_created = 150
, aut_creator_monetization_terms_accepted = 151
} |
| Defines types of audit log entry. More...
|
|
enum | automod_preset_type : uint8_t { amod_preset_profanity = 1
, amod_preset_sexual_content = 2
, amod_preset_slurs = 3
} |
| Possible types of preset filter lists. More...
|
|
enum | automod_action_type : uint8_t { amod_action_block_message = 1
, amod_action_send_alert = 2
, amod_action_timeout = 3
} |
| Action types to perform on filtering. More...
|
|
enum | automod_event_type : uint8_t { amod_message_send = 1
} |
| Event types, only message send is currently supported. More...
|
|
enum | automod_trigger_type : uint8_t {
amod_type_keyword = 1
, amod_type_harmful_link = 2
, amod_type_spam = 3
, amod_type_keyword_preset = 4
,
amod_type_mention_spam = 5
} |
| Types of moderation to trigger. More...
|
|
enum | channel_type : uint8_t {
CHANNEL_TEXT = 0
, DM = 1
, CHANNEL_VOICE = 2
, GROUP_DM = 3
,
CHANNEL_CATEGORY = 4
, CHANNEL_ANNOUNCEMENT = 5
, CHANNEL_STORE = 6
, CHANNEL_ANNOUNCEMENT_THREAD = 10
,
CHANNEL_PUBLIC_THREAD = 11
, CHANNEL_PRIVATE_THREAD = 12
, CHANNEL_STAGE = 13
, CHANNEL_DIRECTORY = 14
,
CHANNEL_FORUM = 15
, CHANNEL_MEDIA = 16
} |
| Flag integers as received from and sent to discord. More...
|
|
enum | channel_flags : uint16_t {
c_nsfw = 0b0000000000010000
, c_video_quality_720p = 0b0000000000100000
, c_lock_permissions = 0b0000000001000000
, c_pinned_thread = 0b0000000010000000
,
c_require_tag = 0b0000000100000000
, c_hide_media_download_options = 0b0001000000000000
} |
| Our flags as stored in the object. More...
|
|
enum | default_forum_sort_order_t : uint8_t { so_latest_activity = 0
, so_creation_date = 1
} |
| Types for sort posts in a forum channel. More...
|
|
enum | forum_layout_type : uint8_t { fl_not_set = 0
, fl_list_view = 1
, fl_gallery_view = 2
} |
| Types of forum layout views that indicates how the threads in a forum channel will be displayed for users by default. More...
|
|
enum | overwrite_type : uint8_t { ot_role = 0
, ot_member = 1
} |
| channel permission overwrite types More...
|
|
enum | auto_archive_duration_t : uint8_t { arc_1_hour = 1
, arc_1_day = 2
, arc_3_days = 3
, arc_1_week = 4
} |
| Auto archive duration of threads which will stop showing in the channel list after the specified period of inactivity. Defined as an enum to fit into 1 byte. Internally it'll be translated to minutes to match the API. More...
|
|
enum | start_type : bool { st_wait = false
, st_return = true
} |
| Types of startup for cluster::start() More...
|
|
enum | parameter_type {
pt_string
, pt_role
, pt_channel
, pt_user
,
pt_integer
, pt_double
, pt_boolean
} |
| Parameter types when registering a command. We don't pass these in when triggering the command in the handler, because it is expected the developer added the command so they know what types to expect for each named parameter. More...
|
|
enum | shard_frame_type : int {
ft_dispatch = 0
, ft_heartbeat = 1
, ft_identify = 2
, ft_presence = 3
,
ft_voice_state_update = 4
, ft_resume = 6
, ft_reconnect = 7
, ft_request_guild_members = 8
,
ft_invalid_session = 9
, ft_hello = 10
, ft_heartbeat_ack = 11
, ft_request_soundboard_sounds = 31
} |
| Represents different event opcodes sent and received on a shard websocket. More...
|
|
enum | dave_version_t : uint8_t { dave_version_none = 0
, dave_version_1 = 1
} |
| Supported DAVE (Discord Audio Visual Encryption) protocol versions. More...
|
|
enum | voice_websocket_opcode_t : uint8_t {
voice_opcode_connection_identify = 0
, voice_opcode_connection_select_protocol = 1
, voice_opcode_connection_ready = 2
, voice_opcode_connection_heartbeat = 3
,
voice_opcode_connection_description = 4
, voice_opcode_client_speaking = 5
, voice_opcode_connection_heartbeat_ack = 6
, voice_opcode_connection_resume = 7
,
voice_opcode_connection_hello = 8
, voice_opcode_connection_resumed = 9
, voice_opcode_multiple_clients_connect = 11
, voice_opcode_client_disconnect = 13
,
voice_opcode_media_sink = 15
, voice_client_flags = 18
, voice_client_platform = 20
, voice_client_dave_prepare_transition = 21
,
voice_client_dave_execute_transition = 22
, voice_client_dave_transition_ready = 23
, voice_client_dave_prepare_epoch = 24
, voice_client_dave_mls_external_sender = 25
,
voice_client_dave_mls_key_package = 26
, voice_client_dave_mls_proposals = 27
, voice_client_dave_mls_commit_message = 28
, voice_client_dave_announce_commit_transition = 29
,
voice_client_dave_mls_welcome = 30
, voice_client_dave_mls_invalid_commit_welcome = 31
} |
| Discord voice websocket opcode types. More...
|
|
enum | client_platform_t : uint8_t { client_platform_desktop = 0
, client_platform_mobile = 1
} |
| Discord voice platform types. More...
|
|
enum | emoji_flags : uint8_t { e_require_colons = 0b00000001
, e_managed = 0b00000010
, e_animated = 0b00000100
, e_available = 0b00001000
} |
| Flags for dpp::emoji. More...
|
|
enum | entitlement_type : uint8_t {
PURCHASE = 1
, PREMIUM_SUBSCRIPTION = 2
, DEVELOPER_GIFT = 3
, TEST_MODE_PURCHASE = 4
,
FREE_PURCHASE = 5
, USER_GIFT = 6
, PREMIUM_PURCHASE = 7
, APPLICATION_SUBSCRIPTION = 8
} |
| The type of entitlement. More...
|
|
enum | entitlement_flags : uint8_t { ent_deleted = 0b0000001
, ent_consumed = 0b0000010
} |
| Entitlement flags. More...
|
|
enum | etf_token_type : uint8_t {
ett_distribution = 'D'
, ett_new_float = 'F'
, ett_bit_binary = 'M'
, ett_compressed = 'P'
,
ett_smallint = 'a'
, ett_integer = 'b'
, ett_float = 'c'
, ett_atom = 'd'
,
ett_reference = 'e'
, ett_port = 'f'
, ett_pid = 'g'
, ett_small_tuple = 'h'
,
ett_large_tuple = 'i'
, ett_nil = 'j'
, ett_string = 'k'
, ett_list = 'l'
,
ett_binary = 'm'
, ett_bigint_small = 'n'
, ett_bigint_large = 'o'
, ett_new_function = 'p'
,
ett_export = 'q'
, ett_new_reference = 'r'
, ett_atom_small = 's'
, ett_map = 't'
,
ett_function = 'u'
, ett_atom_utf8 = 'v'
, ett_atom_utf8_small = 'w'
} |
| Represents a token which identifies the type of value which follows it in the ETF binary structure. More...
|
|
enum | exception_error_code {
err_no_code_specified = 0
, err_zlib_see_errno = -1
, err_zlib_init_stream = -2
, err_zlib_init_data = -3
,
err_zlib_init_mem = -4
, err_zlib_init_buffer = -5
, err_zlib_init_version = -6
, err_opus_bad_arg = -11
,
err_opus_buffer_too_small = -12
, err_opus_internal_error = -13
, err_opus_invalid_packet = -14
, err_opus_unimplemented = -15
,
err_opus_invalid_state = -16
, err_opus_alloc_fail = -17
, err_dns_bad_flags = -21
, err_name_or_service_unknown = -22
,
err_dns_again = -23
, err_dns_fail = -24
, err_dns_family = -26
, err_dns_socket_type = -27
,
err_dns_service = -28
, err_dns_memory = -30
, err_dns_system_error = -31
, err_dns_overflow = -32
,
err_ssl_new = 1
, err_ssl_connect = 2
, err_write = 3
, err_ssl_write = 4
,
err_no_sessions_left = 5
, err_auto_shard = 6
, err_reconnection = 7
, err_bind_failure = 8
,
err_nonblocking_failure = 9
, err_voice_terminating = 10
, err_connect_failure = 11
, err_ssl_context = 12
,
err_ssl_version = 13
, err_invalid_socket = 14
, err_socket_error = 15
, err_websocket_proto_already_set = 16
,
err_command_handler_not_ready = 17
, err_no_owning_message = 18
, err_cancelled_event = 19
, err_event_status = 20
,
err_event_start_time = 21
, err_event_end_time = 22
, err_command_has_caps = 23
, err_choice_autocomplete = 24
,
err_interaction = 25
, err_too_many_component_rows = 26
, err_invalid_webhook = 27
, err_voice_state_timestamp = 28
,
err_no_voice_support = 29
, err_invalid_voice_packet_length = 30
, err_opus = 31
, err_cant_start_shard = 32
,
err_etf = 33
, err_cache = 34
, err_icon_size = 35
, err_massive_audio = 36
,
err_unknown = 37
, err_bad_request = 400
, err_unauthorized = 401
, err_payment_required = 402
,
err_forbidden = 403
, err_not_found = 404
, err_method_not_allowed = 405
, err_not_acceptable = 406
,
err_proxy_auth_required = 407
, err_request_timeout = 408
, err_conflict = 409
, err_gone = 410
,
err_length_required = 411
, err_precondition_failed = 412
, err_payload_too_large = 413
, err_uri_too_long = 414
,
err_unsupported_media_type = 415
, err_range_not_satisfiable = 416
, err_expectation_failed = 417
, err_im_a_teapot = 418
,
err_page_expired = 419
, err_twitter_rate_limited = 420
, err_misdirected_request = 421
, err_unprocessable_content = 422
,
err_webdav_locked = 423
, err_webdav_failed_dependency = 424
, err_too_early = 425
, err_upgrade_required = 426
,
err_precondition_required = 428
, err_rate_limited = 429
, err_request_headers_too_large = 431
, err_page_blocked = 450
,
err_unavailable_for_legal_reasons = 451
, err_http_request_on_https_port = 497
, err_internal_server_error = 500
, err_not_implemented = 501
,
err_bad_gateway = 502
, err_service_unavailable = 503
, err_gateway_timeout = 504
, err_http_version_not_supported = 505
,
err_variant_also_negotiates = 506
, err_webdav_insufficient_storage = 507
, err_webdav_loop_detected = 508
, err_bandwidth_limit_exceeded = 509
,
err_not_extended = 510
, err_network_auth_required = 511
, err_web_server_down = 521
, err_connection_timed_out = 522
,
err_origin_unreachable = 523
, err_timeout = 524
, err_ssl_handshake_failed = 525
, err_invalid_ssl_certificate = 526
,
err_railgun = 527
, err_cloudflare = 530
, err_websocket_unknown = 4000
, err_websocket_bad_opcode = 4001
,
err_websocket_decode = 4002
, err_websocket_not_authenticated = 4003
, err_websocket_authentication_failed = 4004
, err_websocket_already_authenticated = 4005
,
err_websocket_invalid_seq_number = 4007
, err_websocket_rate_limited = 4008
, err_websocket_session_timeout = 4009
, err_websocket_invalid_shard = 4010
,
err_websocket_sharding_required = 4011
, err_websocket_invalid_api_version = 4012
, err_websocket_invalid_intents = 4013
, err_websocket_disallowed_intents = 4014
,
err_websocket_voice_disconnected = 4014
, err_websocket_voice_server_crashed = 4015
, err_websocket_voice_unknown_encryption = 4016
, err_compression_stream = 6000
,
err_compression_data = 6001
, err_compression_memory = 6002
, err_unknown_account = 10001
, err_unknown_application = 10002
,
err_unknown_channel = 10003
, err_unknown_guild = 10004
, err_unknown_integration = 10005
, err_unknown_invite = 10006
,
err_unknown_member = 10007
, err_unknown_message = 10008
, err_unknown_permission_overwrite = 10009
, err_unknown_provider = 10010
,
err_unknown_role = 10011
, err_unknown_token = 10012
, err_unknown_user = 10013
, err_unknown_emoji = 10014
,
err_unknown_webhook = 10015
, err_unknown_webhook_service = 10016
, err_unknown_session = 10020
, err_unknown_ban = 10026
,
err_unknown_sku = 10027
, err_unknown_store_listing = 10028
, err_unknown_entitlement = 10029
, err_unknown_build = 10030
,
err_unknown_lobby = 10031
, err_unknown_branch = 10032
, err_unknown_store_directory_layout = 10033
, err_unknown_redistributable = 10036
,
err_unknown_gift_code = 10038
, err_unknown_stream = 10049
, err_unknown_premium_server_subscribe_cooldown = 10050
, err_unknown_guild_template = 10057
,
err_unknown_discoverable_server_category = 10059
, err_unknown_sticker = 10060
, err_unknown_interaction = 10062
, err_unknown_application_command = 10063
,
err_unknown_voice_state = 10065
, err_unknown_application_command_permissions = 10066
, err_unknown_stage_instance = 10067
, err_unknown_guild_member_verification_form = 10068
,
err_unknown_guild_welcome_screen = 10069
, err_unknown_guild_scheduled_event = 10070
, err_unknown_guild_scheduled_event_user = 10071
, err_unknown_tag = 10087
,
err_bots_cannot_use_this_endpoint = 20001
, err_only_bots_can_use_this_endpoint = 20002
, err_explicit_content = 20009
, err_unauthorized_for_application = 20012
,
err_slowmode_rate_limit = 20016
, err_owner_only = 20018
, err_announcement_rate_limit = 20022
, err_under_minimum_age = 20024
,
err_write_rate_limit = 20029
, err_stage_banned_words = 20031
, err_guild_premium_subscription_level_too_low = 20035
, err_guilds = 30001
,
err_friends = 30002
, err_pins_for_the_channel = 30003
, err_recipients = 30004
, err_guild_roles = 30005
,
err_webhooks = 30007
, err_emojis = 30008
, err_reactions = 30010
, err_group_dms = 30011
,
err_guild_channels = 30013
, err_attachments_in_a_message = 30015
, err_invites = 30016
, err_animated_emojis = 30018
,
err_server_members = 30019
, err_server_categories = 30030
, err_guild_already_has_a_template = 30031
, err_application_commands = 30032
,
err_thread_participants = 30033
, err_daily_application_command_creates = 30034
, err_bans_for_non_guild_members_have_been_exceeded = 30035
, err_bans_fetches = 30037
,
err_uncompleted_guild_scheduled_events = 30038
, err_stickers = 30039
, err_prune_requests = 30040
, err_guild_widget_settings_updates = 30042
,
err_edits_to_messages_older_than_1_hour = 30046
, err_pinned_threads_in_a_forum_channel = 30047
, err_tags_in_a_forum_channel = 30048
, err_bitrate_is_too_high_for_channel_of_this_type = 30052
,
err_premium_emojis = 30056
, err_webhooks_per_guild = 30058
, err_channel_permission_overwrites = 30060
, err_the_channels_for_this_guild_are_too_large = 30061
,
err_unauthorized_invalid_token = 40001
, err_verify_your_account = 40002
, err_you_are_opening_direct_messages_too_fast = 40003
, err_send_messages_has_been_temporarily_disabled = 40004
,
err_request_entity_too_large = 40005
, err_this_feature_has_been_temporarily_disabled_server_side = 40006
, err_the_user_is_banned_from_this_guild = 40007
, err_connection_has_been_revoked = 40012
,
err_target_user_is_not_connected_to_voice = 40032
, err_this_message_has_already_been_crossposted = 40033
, err_an_application_command_with_that_name_already_exists = 40041
, err_application_interaction_failed_to_send = 40043
,
err_cannot_send_a_message_in_a_forum_channel = 40058
, err_interaction_has_already_been_acknowledged = 40060
, err_tag_names_must_be_unique = 40061
, err_service_resource_is_being_rate_limited = 40062
,
err_no_tags_available = 40066
, err_tag_required = 40067
, err_entitlement_already_granted = 40074
, err_missing_access = 50001
,
err_invalid_account_type = 50002
, err_cannot_execute_action_on_a_dm_channel = 50003
, err_guild_widget_disabled = 50004
, err_cannot_edit_a_message_by_other_user = 50005
,
err_cannot_send_empty_message = 50006
, err_cannot_send_messages_to_this_user = 50007
, err_cannot_send_messages_in_a_non_text_channel = 50008
, err_channel_verification_level_too_high = 50009
,
err_oauth2_application_does_not_have_a_bot = 50010
, err_oauth2_application_limit = 50011
, err_invalid_oauth2_state = 50012
, err_permissions = 50013
,
err_invalid_authentication_token = 50014
, err_note_was_too_long = 50015
, err_too_few_or_too_many_messages = 50016
, err_invalid_mfa_level = 50017
,
err_invalid_pin = 50019
, err_invite_code_invalid = 50020
, err_system_message = 50021
, err_channel_type = 50024
,
err_invalid_oauth2_access_token = 50025
, err_missing_required_oauth2_scope = 50026
, err_invalid_webhook_token = 50027
, err_invalid_role = 50028
,
err_invalid_recipients = 50033
, err_too_old_to_bulk_delete = 50034
, err_invalid_form_body = 50035
, err_invite_error = 50036
,
err_invalid_activity_action = 50039
, err_invalid_api_version_provided = 50041
, err_file_uploaded_exceeds_the_maximum_size = 50045
, err_invalid_file_uploaded = 50046
,
err_cannot_self_redeem_this_gift = 50054
, err_invalid_guild = 50055
, err_invalid_sku = 50057
, err_invalid_request_origin = 50067
,
err_invalid_message_type = 50068
, err_payment_source_required = 50070
, err_cannot_modify_a_system_webhook = 50073
, err_cannot_delete_a_channel_required_for_community_guilds = 50074
,
err_cannot_edit_stickers_within_a_message = 50080
, err_invalid_sticker_sent = 50081
, err_tried_to_perform_an_operation_on_an_archived_thread = 50083
, err_invalid_thread_notification_settings = 50084
,
err_before_value_is_earlier_than_the_thread_creation_date = 50085
, err_community_server_channels_must_be_text_channels = 50086
, err_bad_event_entity_type = 50091
, err_this_server_is_not_available_in_your_location = 50095
,
err_monetization_enabled_in_order_to_perform_this_action = 50097
, err_more_boosts_to_perform_this_action = 50101
, err_the_request_body_contains_invalid_json = 50109
, err_owner_cannot_be_pending_member = 50131
,
err_ownership_cannot_be_transferred_to_a_bot_user = 50132
, err_failed_to_resize_asset_below_the_maximum_size = 50138
, err_cannot_mix_subscription_and_non_subscription_roles_for_an_emoji = 50144
, err_cannot_convert_between_premium_emoji_and_normal_emoji = 50145
,
err_uploaded_file_not_found = 50146
, err_voice_messages_do_not_support_additional_content = 50159
, err_voice_messages_must_have_a_single_audio_attachment = 50160
, err_voice_messages_must_have_supporting_metadata = 50161
,
err_voice_messages_cannot_be_edited = 50162
, err_cannot_delete_guild_subscription_integration = 50163
, err_you_cannot_send_voice_messages_in_this_channel = 50173
, err_the_user_account_must_first_be_verified = 50178
,
err_you_do_not_have_permission_to_send_this_sticker = 50600
, err_two_factor_is_required_for_this_operation = 60003
, err_no_users_with_discordtag_exist = 80004
, err_reaction_was_blocked = 90001
,
err_user_cannot_use_burst_reactions = 90002
, err_application_not_yet_available = 110001
, err_api_resource_is_currently_overloaded = 130000
, err_the_stage_is_already_open = 150006
,
err_cannot_reply_without_permission_to_read_message_history = 160002
, err_a_thread_has_already_been_created_for_this_message = 160004
, err_thread_is_locked = 160005
, err_active_threads = 160006
,
err_active_announcement_threads = 160007
, err_invalid_json_for_uploaded_lottie_file = 170001
, err_uploaded_lotties_cannot_contain_rasterized_images = 170002
, err_sticker_maximum_framerate = 170003
,
err_sticker_frame_count = 170004
, err_lottie_animation_dimensions = 170005
, err_sticker_frame_rate = 170006
, err_sticker_animation_duration = 170007
,
err_cannot_update_a_finished_event = 180000
, err_failed_to_create_stage_needed_for_stage_event = 180002
, err_message_was_blocked_by_automatic_moderation = 200000
, err_title_was_blocked_by_automatic_moderation = 200001
,
err_webhooks_posted_to_forum_channels_must_have_a_thread_name_or_thread_id = 220001
, err_webhooks_posted_to_forum_channels_cannot_have_both_a_thread_name_and_thread_id = 220002
, err_webhooks_can_only_create_threads_in_forum_channels = 220003
, err_webhook_services_cannot_be_used_in_forum_channels = 220004
,
err_message_blocked_links = 240000
, err_cannot_enable_onboarding_requirements_are_not_met = 350000
, err_cannot_update_onboarding_below_requirements = 350001
} |
| Exception error codes possible for dpp::exception::code() More...
|
|
enum class | build_type { universal
, debug
, release
} |
| Represents a build configuration. On some platforms (e.g. Windows) release isn't compatible with debug, so we use this enum to detect it. More...
|
|
enum | region : uint8_t {
r_brazil
, r_central_europe
, r_hong_kong
, r_india
,
r_japan
, r_russia
, r_singapore
, r_south_africa
,
r_sydney
, r_us_central
, r_us_east
, r_us_south
,
r_us_west
, r_western_europe
} |
| Represents voice regions for guilds and channels. More...
|
|
enum | guild_flags : uint32_t {
g_large = 0b00000000000000000000000000000001
, g_unavailable = 0b00000000000000000000000000000010
, g_widget_enabled = 0b00000000000000000000000000000100
, g_invite_splash = 0b00000000000000000000000000001000
,
g_vip_regions = 0b00000000000000000000000000010000
, g_vanity_url = 0b00000000000000000000000000100000
, g_verified = 0b00000000000000000000000001000000
, g_partnered = 0b00000000000000000000000010000000
,
g_community = 0b00000000000000000000000100000000
, g_role_subscription_enabled = 0b00000000000000000000001000000000
, g_news = 0b00000000000000000000010000000000
, g_discoverable = 0b00000000000000000000100000000000
,
g_featureable = 0b00000000000000000001000000000000
, g_animated_icon = 0b00000000000000000010000000000000
, g_banner = 0b00000000000000000100000000000000
, g_welcome_screen_enabled = 0b00000000000000001000000000000000
,
g_member_verification_gate = 0b00000000000000010000000000000000
, g_preview_enabled = 0b00000000000000100000000000000000
, g_no_join_notifications = 0b00000000000001000000000000000000
, g_no_boost_notifications = 0b00000000000010000000000000000000
,
g_has_animated_icon = 0b00000000000100000000000000000000
, g_has_animated_banner = 0b00000000001000000000000000000000
, g_no_setup_tips = 0b00000000010000000000000000000000
, g_no_sticker_greeting = 0b00000000100000000000000000000000
,
g_monetization_enabled = 0b00000001000000000000000000000000
, g_more_stickers = 0b00000010000000000000000000000000
, g_creator_store_page_enabled = 0b00000100000000000000000000000000
, g_role_icons = 0b00001000000000000000000000000000
,
g_seven_day_thread_archive = 0b00010000000000000000000000000000
, g_three_day_thread_archive = 0b00100000000000000000000000000000
, g_ticketed_events = 0b01000000000000000000000000000000
, g_channel_banners = 0b10000000000000000000000000000000
} |
| The various flags that represent the status of a dpp::guild object. More...
|
|
enum | guild_flags_extra : uint16_t {
g_premium_progress_bar_enabled = 0b0000000000000001
, g_animated_banner = 0b0000000000000010
, g_auto_moderation = 0b0000000000000100
, g_invites_disabled = 0b0000000000001000
,
g_developer_support_server = 0b0000000000010000
, g_no_role_subscription_notifications = 0b0000000000100000
, g_no_role_subscription_notification_replies = 0b0000000001000000
, g_role_subscriptions_available_for_purchase = 0b0000000010000000
,
g_raid_alerts_disabled = 0b0000000100000000
} |
| Additional boolean flag values for guild, as guild_flags is full. More...
|
|
enum | guild_member_flags : uint16_t {
gm_deaf = 0b0000000000000001
, gm_mute = 0b0000000000000010
, gm_pending = 0b0000000000000100
, gm_animated_avatar = 0b0000000000001000
,
gm_voice_action = 0b0000000000010000
, gm_did_rejoin = 0b0000000000100000
, gm_completed_onboarding = 0b0000000001000000
, gm_bypasses_verification = 0b0000000010000000
,
gm_started_onboarding = 0b0000000100000000
, gm_roles_action = 0b0000001000000000
, gm_nickname_action = 0b0000010000000000
} |
| Various flags that can be used to indicate the status of a guild member. More...
|
|
enum | guild_nsfw_level_t : uint8_t { nsfw_default = 0
, nsfw_explicit = 1
, nsfw_safe = 2
, nsfw_age_restricted = 3
} |
| Guild NSFW level. Used to represent just how naughty this guild is. Naughty guild, go sit in the corner. More...
|
|
enum | guild_explicit_content_t : uint8_t { expl_disabled = 0
, expl_members_without_roles = 1
, expl_all_members = 2
} |
| explicit content filter level. This is set by a guild admin, but can be forced to a setting if the server is verified, partnered, official etc. More...
|
|
enum | mfa_level_t : uint8_t { mfa_none = 0
, mfa_elevated = 1
} |
| MFA level for server. If set to elevated all moderators need MFA to perform specific actions such as kick or ban. More...
|
|
enum | verification_level_t : uint8_t {
ver_none = 0
, ver_low = 1
, ver_medium = 2
, ver_high = 3
,
ver_very_high = 4
} |
| Guild verification level. More...
|
|
enum | default_message_notification_t : uint8_t { dmn_all = 0
, dmn_only_mentions = 1
} |
| Default message notification level. More...
|
|
enum | guild_premium_tier_t : uint8_t { tier_none = 0
, tier_1 = 1
, tier_2 = 2
, tier_3 = 3
} |
| The guild's premium tier. More...
|
|
enum | guild_afk_timeout_t : uint8_t {
afk_off
, afk_60
, afk_300
, afk_900
,
afk_1800
, afk_3600
} |
| Voice AFK timeout values for guild::afk_timeout. More...
|
|
enum | onboarding_mode : uint8_t { gom_default = 0
, gom_advanced = 1
} |
| The onboarding mode for the dpp::onboarding object. Defines the criteria used to satisfy Onboarding constraints that are required for enabling. More...
|
|
enum | onboarding_prompt_type : uint8_t { opt_multiple_choice = 0
, opt_dropdown = 1
} |
| The various types of dpp::onboarding_prompt. More...
|
|
enum | onboarding_prompt_flags : uint8_t { opf_single_select = 1 << 0
, opf_required = 1 << 1
, opf_in_onboarding = 1 << 2
} |
| Various flags for dpp::onboarding_prompt. More...
|
|
enum | http_state : uint8_t {
HTTPS_HEADERS
, HTTPS_CONTENT
, HTTPS_DONE
, HTTPS_CHUNK_LEN
,
HTTPS_CHUNK_TRAILER
, HTTPS_CHUNK_LAST
, HTTPS_CHUNK_CONTENT
} |
| HTTP connection status. More...
|
|
enum | application_integration_types { ait_guild_install = 0
, ait_user_install = 1
} |
| Where an app can be installed, also called its supported installation contexts. More...
|
|
enum | integration_type { i_twitch
, i_youtube
, i_discord
, i_guild_subscription
} |
| Integration types. More...
|
|
enum | integration_flags {
if_enabled = 0b00000001
, if_syncing = 0b00000010
, if_emoticons = 0b00000100
, if_revoked = 0b00001000
,
if_expire_kick = 0b00010000
} |
| Integration flags. More...
|
|
enum | intents {
i_guilds = (1 << 0)
, i_guild_members = (1 << 1)
, i_guild_bans = (1 << 2)
, i_guild_emojis = (1 << 3)
,
i_guild_integrations = (1 << 4)
, i_guild_webhooks = (1 << 5)
, i_guild_invites = (1 << 6)
, i_guild_voice_states = (1 << 7)
,
i_guild_presences = (1 << 8)
, i_guild_messages = (1 << 9)
, i_guild_message_reactions = (1 << 10)
, i_guild_message_typing = (1 << 11)
,
i_direct_messages = (1 << 12)
, i_direct_message_reactions = (1 << 13)
, i_direct_message_typing = (1 << 14)
, i_message_content = (1 << 15)
,
i_guild_scheduled_events = (1 << 16)
, i_auto_moderation_configuration = (1 << 20)
, i_auto_moderation_execution = (1 << 21)
, i_default_intents
,
i_privileged_intents = dpp::i_guild_members | dpp::i_guild_presences | dpp::i_message_content
, i_all_intents = dpp::i_default_intents | dpp::i_privileged_intents
, i_unverified_default_intents = dpp::i_default_intents | dpp::i_message_content
} |
| intents are a bitmask of allowed events on your websocket. More...
|
|
enum | invite_target_t : uint8_t { itt_none = 0
, itt_stream = 1
, itt_embedded_application = 2
} |
| Invite target types for dpp::invite. More...
|
|
enum | component_type : uint8_t {
cot_action_row = 1
, cot_button = 2
, cot_selectmenu = 3
, cot_text = 4
,
cot_user_selectmenu = 5
, cot_role_selectmenu = 6
, cot_mentionable_selectmenu = 7
, cot_channel_selectmenu = 8
} |
| Represents the type of a component. More...
|
|
enum | text_style_type : uint8_t { text_short = 1
, text_paragraph = 2
} |
| Types of text input. More...
|
|
enum | component_style : uint8_t {
cos_primary = 1
, cos_secondary
, cos_success
, cos_danger
,
cos_link
, cos_premium
} |
| Represents the style of a button. More...
|
|
enum | component_default_value_type : uint8_t { cdt_user = 0
, cdt_role = 1
, cdt_channel = 2
} |
|
enum | attachment_flags : uint8_t { a_is_remix = 1 << 2
} |
| Bitmask flags for a dpp::attachment. More...
|
|
enum | sticker_type : uint8_t { st_standard = 1
, st_guild = 2
} |
| Represents the type of a sticker. More...
|
|
enum | sticker_format : uint8_t { sf_png = 1
, sf_apng = 2
, sf_lottie = 3
, sf_gif = 4
} |
| The file format (png, apng, lottie) of a sticker. More...
|
|
enum | poll_layout_type { pl_default = 1
} |
| Poll layout types. More...
|
|
enum | message_flags : uint16_t {
m_crossposted = 1 << 0
, m_is_crosspost = 1 << 1
, m_suppress_embeds = 1 << 2
, m_source_message_deleted = 1 << 3
,
m_urgent = 1 << 4
, m_has_thread = 1 << 5
, m_ephemeral = 1 << 6
, m_loading = 1 << 7
,
m_thread_mention_failed = 1 << 8
, m_suppress_notifications = 1 << 12
, m_is_voice_message = 1 << 13
} |
| Bitmask flags for a dpp::message. More...
|
|
enum | message_type {
mt_default = 0
, mt_recipient_add = 1
, mt_recipient_remove = 2
, mt_call = 3
,
mt_channel_name_change = 4
, mt_channel_icon_change = 5
, mt_channel_pinned_message = 6
, mt_guild_member_join = 7
,
mt_user_premium_guild_subscription = 8
, mt_user_premium_guild_subscription_tier_1 = 9
, mt_user_premium_guild_subscription_tier_2 = 10
, mt_user_premium_guild_subscription_tier_3 = 11
,
mt_channel_follow_add = 12
, mt_guild_discovery_disqualified = 14
, mt_guild_discovery_requalified = 15
, mt_guild_discovery_grace_period_initial_warning = 16
,
mt_guild_discovery_grace_period_final_warning = 17
, mt_thread_created = 18
, mt_reply = 19
, mt_application_command = 20
,
mt_thread_starter_message = 21
, mt_guild_invite_reminder = 22
, mt_context_menu_command = 23
, mt_auto_moderation_action = 24
,
mt_role_subscription_purchase = 25
, mt_interaction_premium_upsell = 26
, mt_stage_start = 27
, mt_stage_end = 28
,
mt_stage_speaker = 29
, mt_stage_topic = 31
, mt_application_premium_subscription = 32
} |
| Message types for dpp::message::type. More...
|
|
enum | cache_policy_setting_t { cp_aggressive = 0
, cp_lazy = 1
, cp_none = 2
} |
| Represents the caching policy of a cache in the library. More...
|
|
enum | image_type : uint8_t { i_png
, i_jpg
, i_gif
, i_webp
} |
| Supported image types for profile pictures and CDN endpoints. More...
|
|
enum | loglevel {
ll_trace = 0
, ll_debug
, ll_info
, ll_warning
,
ll_error
, ll_critical
} |
| Log levels. More...
|
|
enum | permissions : uint64_t {
p_create_instant_invite = 0x00000000001
, p_kick_members = 0x00000000002
, p_ban_members = 0x00000000004
, p_administrator = 0x00000000008
,
p_manage_channels = 0x00000000010
, p_manage_guild = 0x00000000020
, p_add_reactions = 0x00000000040
, p_view_audit_log = 0x00000000080
,
p_priority_speaker = 0x00000000100
, p_stream = 0x00000000200
, p_view_channel = 0x00000000400
, p_send_messages = 0x00000000800
,
p_send_tts_messages = 0x00000001000
, p_manage_messages = 0x00000002000
, p_embed_links = 0x00000004000
, p_attach_files = 0x00000008000
,
p_read_message_history = 0x00000010000
, p_mention_everyone = 0x00000020000
, p_use_external_emojis = 0x00000040000
, p_view_guild_insights = 0x00000080000
,
p_connect = 0x00000100000
, p_speak = 0x00000200000
, p_mute_members = 0x00000400000
, p_deafen_members = 0x00000800000
,
p_move_members = 0x00001000000
, p_use_vad = 0x00002000000
, p_change_nickname = 0x00004000000
, p_manage_nicknames = 0x00008000000
,
p_manage_roles = 0x00010000000
, p_manage_webhooks = 0x00020000000
, p_manage_emojis_and_stickers = 0x00040000000
, p_use_application_commands = 0x00080000000
,
p_request_to_speak = 0x00100000000
, p_manage_events = 0x00200000000
, p_manage_threads = 0x00400000000
, p_create_public_threads = 0x00800000000
,
p_create_private_threads = 0x01000000000
, p_use_external_stickers = 0x02000000000
, p_send_messages_in_threads = 0x04000000000
, p_use_embedded_activities = 0x08000000000
,
p_moderate_members = 0x10000000000
, p_view_creator_monetization_analytics = 0x20000000000
, p_use_soundboard = 0x40000000000
, p_use_external_sounds = 0x0000200000000000
,
p_send_voice_messages = 0x0000400000000000
, p_use_clyde_ai = 0x0000800000000000
} |
| Represents the various discord permissions. More...
|
|
enum | presence_flags {
p_desktop_online = 0b00000001
, p_desktop_dnd = 0b00000010
, p_desktop_idle = 0b00000011
, p_web_online = 0b00000100
,
p_web_dnd = 0b00001000
, p_web_idle = 0b00001100
, p_mobile_online = 0b00010000
, p_mobile_dnd = 0b00100000
,
p_mobile_idle = 0b00110000
, p_status_online = 0b01000000
, p_status_dnd = 0b10000000
, p_status_idle = 0b11000000
} |
| Presence flags bitmask. More...
|
|
enum | presence_status : uint8_t {
ps_offline = 0
, ps_online = 1
, ps_dnd = 2
, ps_idle = 3
,
ps_invisible = 4
} |
| Online presence status values. More...
|
|
enum | activity_type : uint8_t {
at_game = 0
, at_streaming = 1
, at_listening = 2
, at_watching = 3
,
at_custom = 4
, at_competing = 5
} |
| Game types. More...
|
|
enum | activity_flags {
af_instance = 0b000000001
, af_join = 0b000000010
, af_spectate = 0b000000100
, af_join_request = 0b000001000
,
af_sync = 0b000010000
, af_play = 0b000100000
, af_party_privacy_friends = 0b001000000
, af_party_privacy_voice_channel = 0b010000000
,
af_embedded = 0b100000000
} |
| Activity types for rich presence. More...
|
|
enum | http_error : uint8_t {
h_success = 0
, h_unknown
, h_connection
, h_bind_ip_address
,
h_read
, h_write
, h_exceed_redirect_count
, h_canceled
,
h_ssl_connection
, h_ssl_loading_certs
, h_ssl_server_verification
, h_unsupported_multipart_boundary_chars
,
h_compression
} |
| Error values. Most of these are currently unused in https_client. More...
|
|
enum | http_method {
m_get
, m_post
, m_put
, m_patch
,
m_delete
} |
| Various types of http method supported by the Discord API. More...
|
|
enum | role_flags : uint8_t {
r_hoist = 0b00000001
, r_managed = 0b00000010
, r_mentionable = 0b00000100
, r_premium_subscriber = 0b00001000
,
r_available_for_purchase = 0b00010000
, r_guild_connections = 0b00100000
, r_in_prompt = 0b01000000
} |
| Various flags related to dpp::role. More...
|
|
enum | application_role_connection_metadata_type : uint8_t {
rc_integer_less_than_or_equal = 1
, rc_integer_greater_than_or_equal = 2
, rc_integer_equal = 3
, rc_integer_not_equal = 4
,
rc_datetime_less_than_or_equal = 5
, rc_datetime_greater_than_or_equal = 6
, rc_boolean_equal = 7
, rc_boolean_not_equal = 8
} |
| Application Role Connection Metadata Type. More...
|
|
enum | event_privacy_level : uint8_t { ep_guild_only = 2
} |
| Represents the privacy of an event. More...
|
|
enum | event_entity_type : uint8_t { eet_stage_instance = 1
, eet_voice = 2
, eet_external = 3
} |
| Event entity types. More...
|
|
enum | event_status : uint8_t { es_scheduled = 1
, es_active = 2
, es_completed = 3
, es_cancelled = 4
} |
| Event status types. More...
|
|
enum | sku_type : uint8_t { DURABLE = 2
, CONSUMABLE = 3
, SUBSCRIPTION = 5
, SUBSCRIPTION_GROUP = 6
} |
| The type of SKU. More...
|
|
enum | sku_flags : uint16_t { sku_available = 0b000000000000100
, sku_guild_subscription = 0b000000010000000
, sku_user_subscription = 0b000000100000000
} |
| SKU flags. More...
|
|
enum | socket_event_flags : uint8_t { WANT_READ = 1
, WANT_WRITE = 2
, WANT_ERROR = 4
, WANT_DELETION = 8
} |
| Types of IO events a socket may subscribe to. More...
|
|
enum | stage_privacy_level : uint8_t { sp_public = 1
, sp_guild_only = 2
} |
| Represents the privacy of a stage instance. More...
|
|
enum | user_flags : uint32_t {
u_bot = 0b00000000000000000000000000000001
, u_system = 0b00000000000000000000000000000010
, u_mfa_enabled = 0b00000000000000000000000000000100
, u_verified = 0b00000000000000000000000000001000
,
u_nitro_full = 0b00000000000000000000000000010000
, u_nitro_classic = 0b00000000000000000000000000100000
, u_discord_employee = 0b00000000000000000000000001000000
, u_partnered_owner = 0b00000000000000000000000010000000
,
u_hypesquad_events = 0b00000000000000000000000100000000
, u_bughunter_1 = 0b00000000000000000000001000000000
, u_house_bravery = 0b00000000000000000000010000000000
, u_house_brilliance = 0b00000000000000000000100000000000
,
u_house_balance = 0b00000000000000000001000000000000
, u_early_supporter = 0b00000000000000000010000000000000
, u_team_user = 0b00000000000000000100000000000000
, u_bughunter_2 = 0b00000000000000001000000000000000
,
u_verified_bot = 0b00000000000000010000000000000000
, u_verified_bot_dev = 0b00000000000000100000000000000000
, u_animated_icon = 0b00000000000001000000000000000000
, u_certified_moderator = 0b00000000000010000000000000000000
,
u_bot_http_interactions = 0b00000000000100000000000000000000
, u_nitro_basic = 0b00000000001000000000000000000000
, u_active_developer = 0b00000000010000000000000000000000
, u_animated_banner = 0b00000000100000000000000000000000
} |
| Various bitmask flags used to represent information about a dpp::user. More...
|
|
enum | voiceregion_flags { v_optimal = 0x00000001
, v_deprecated = 0x00000010
, v_custom = 0x00000100
} |
| Flags related to a voice region. More...
|
|
enum | voicestate_flags {
vs_deaf = 0b00000001
, vs_mute = 0b00000010
, vs_self_mute = 0b00000100
, vs_self_deaf = 0b00001000
,
vs_self_stream = 0b00010000
, vs_self_video = 0b00100000
, vs_suppress = 0b01000000
} |
| Bit mask flags relating to voice states. More...
|
|
enum | webhook_type { w_incoming = 1
, w_channel_follower = 2
, w_application = 3
} |
| Defines types of webhook. More...
|
|
enum | websocket_protocol_t : uint8_t { ws_json = 0
, ws_etf = 1
} |
| Websocket protocol types available on Discord. More...
|
|
enum | ws_state : uint8_t { HTTP_HEADERS
, CONNECTED
} |
| Websocket connection status. More...
|
|
enum | ws_opcode : uint8_t {
OP_CONTINUATION = 0x00
, OP_TEXT = 0x01
, OP_BINARY = 0x02
, OP_CLOSE = 0x08
,
OP_PING = 0x09
, OP_PONG = 0x0a
, OP_AUTO = 0xff
} |
| Low-level websocket opcodes for frames. More...
|
|
|
void | to_json (nlohmann::json &j, const command_option_choice &choice) |
| helper function to serialize a command_option_choice to json More...
|
|
void | to_json (nlohmann::json &j, const command_option &opt) |
| helper function to serialize a command_option to json More...
|
|
void | from_json (const nlohmann::json &j, command_data_option &cdo) |
| helper function to deserialize a command_data_option from json More...
|
|
void | from_json (const nlohmann::json &j, command_interaction &ci) |
| helper function to deserialize a command_interaction from json More...
|
|
void | from_json (const nlohmann::json &j, component_interaction &bi) |
| helper function to deserialize a component_interaction from json More...
|
|
void | from_json (const nlohmann::json &j, autocomplete_interaction &ai) |
| helper function to deserialize an autocomplete_interaction from json More...
|
|
void | from_json (const nlohmann::json &j, interaction &i) |
| helper function to deserialize an interaction from json More...
|
|
void | to_json (nlohmann::json &j, const command_permission &cp) |
| helper function to serialize a command_permission to json More...
|
|
void | to_json (nlohmann::json &j, const guild_command_permissions &gcp) |
| helper function to serialize a guild_command_permissions to json More...
|
|
void | to_json (nlohmann::json &j, const slashcommand &cmd) |
| helper function to serialize a slashcommand to json More...
|
|
void DPP_EXPORT | garbage_collection () |
|
DPP_EXPORT class user * | find_user (snowflake id) |
|
DPP_EXPORT cache< class user > * | get_user_cache () |
|
DPP_EXPORT uint64_t | get_user_count () |
|
DPP_EXPORT class guild * | find_guild (snowflake id) |
|
DPP_EXPORT cache< class guild > * | get_guild_cache () |
|
DPP_EXPORT uint64_t | get_guild_count () |
|
DPP_EXPORT class role * | find_role (snowflake id) |
|
DPP_EXPORT cache< class role > * | get_role_cache () |
|
DPP_EXPORT uint64_t | get_role_count () |
|
DPP_EXPORT class channel * | find_channel (snowflake id) |
|
DPP_EXPORT cache< class channel > * | get_channel_cache () |
|
DPP_EXPORT uint64_t | get_channel_count () |
|
DPP_EXPORT class emoji * | find_emoji (snowflake id) |
|
DPP_EXPORT cache< class emoji > * | get_emoji_cache () |
|
DPP_EXPORT uint64_t | get_emoji_count () |
|
void | to_json (nlohmann::json &j, const permission_overwrite &po) |
| Serialize a permission_overwrite object to json. More...
|
|
class DPP_EXPORT | DPP_DEPRECATED ("commandhandler should not be used. Please consider using dpp::cluster::register_command instead.") commandhandler |
| The commandhandler class represents a group of commands, prefixed or slash commands with handling functions. More...
|
|
| DPP_CHECK_ABI_COMPAT (async<>, async_dummy) |
|
| DPP_CHECK_ABI_COMPAT (coroutine< void >, coroutine_dummy) DPP_CHECK_ABI_COMPAT(coroutine< uint64_t > |
|
| DPP_CHECK_ABI_COMPAT (task< void >, task_dummy) DPP_CHECK_ABI_COMPAT(task< uint64_t > |
|
template<typename... Args> |
| when_any (Args...) -> when_any< detail::when_any::awaitable_type< Args >... > |
|
uint64_t DPP_EXPORT | snowflake_not_null (const nlohmann::json *j, const char *keyname) |
| Returns a snowflake id from a json field value, if defined, else returns 0. More...
|
|
void DPP_EXPORT | set_snowflake_not_null (const nlohmann::json *j, const char *keyname, uint64_t &v) |
| Sets a snowflake id from a json field value, if defined, else does nothing. More...
|
|
void DPP_EXPORT | set_snowflake_array_not_null (const nlohmann::json *j, const char *keyname, std::vector< class snowflake > &v) |
| Sets an array of snowflakes from a json field value, if defined, else does nothing. More...
|
|
void DPP_EXPORT | for_each_json (nlohmann::json *parent, std::string_view key, const std::function< void(nlohmann::json *)> &fn) |
| Applies a function to each element of a json array. More...
|
|
template<class T > |
void | set_object_array_not_null (nlohmann::json *j, std::string_view key, std::vector< T > &v) |
| Sets an array of objects from a json field value, if defined, else does nothing. More...
|
|
std::string DPP_EXPORT | string_not_null (const nlohmann::json *j, const char *keyname) |
| Returns a string from a json field value, if defined, else returns an empty string. More...
|
|
void DPP_EXPORT | set_string_not_null (const nlohmann::json *j, const char *keyname, std::string &v) |
| Sets a string from a json field value, if defined, else does nothing. More...
|
|
void DPP_EXPORT | set_iconhash_not_null (const nlohmann::json *j, const char *keyname, utility::iconhash &v) |
| This is a repeat of set_string_not_null, but takes in a iconhash. More...
|
|
double DPP_EXPORT | double_not_null (const nlohmann::json *j, const char *keyname) |
| Returns a double from a json field value, if defined, else returns 0. More...
|
|
void DPP_EXPORT | set_double_not_null (const nlohmann::json *j, const char *keyname, double &v) |
| Sets a double from a json field value, if defined, else does nothing. More...
|
|
uint64_t DPP_EXPORT | int64_not_null (const nlohmann::json *j, const char *keyname) |
| Returns a 64 bit unsigned integer from a json field value, if defined, else returns 0. DO NOT use this for snowflakes, as usually snowflakes are wrapped in a string! More...
|
|
void DPP_EXPORT | set_int64_not_null (const nlohmann::json *j, const char *keyname, uint64_t &v) |
| Sets an unsigned 64 bit integer from a json field value, if defined, else does nothing. More...
|
|
uint32_t DPP_EXPORT | int32_not_null (const nlohmann::json *j, const char *keyname) |
| Returns a 32 bit unsigned integer from a json field value, if defined, else returns 0. More...
|
|
void DPP_EXPORT | set_int32_not_null (const nlohmann::json *j, const char *keyname, uint32_t &v) |
| Sets an unsigned 32 bit integer from a json field value, if defined, else does nothing. More...
|
|
uint16_t DPP_EXPORT | int16_not_null (const nlohmann::json *j, const char *keyname) |
| Returns a 16 bit unsigned integer from a json field value, if defined, else returns 0. More...
|
|
void DPP_EXPORT | set_int16_not_null (const nlohmann::json *j, const char *keyname, uint16_t &v) |
| Sets an unsigned 16 bit integer from a json field value, if defined, else does nothing. More...
|
|
uint8_t DPP_EXPORT | int8_not_null (const nlohmann::json *j, const char *keyname) |
| Returns an 8 bit unsigned integer from a json field value, if defined, else returns 0. More...
|
|
void DPP_EXPORT | set_int8_not_null (const nlohmann::json *j, const char *keyname, uint8_t &v) |
| Sets an unsigned 8 bit integer from a json field value, if defined, else does nothing. More...
|
|
bool DPP_EXPORT | bool_not_null (const nlohmann::json *j, const char *keyname) |
| Returns a boolean value from a json field value, if defined, else returns false. More...
|
|
void DPP_EXPORT | set_bool_not_null (const nlohmann::json *j, const char *keyname, bool &v) |
| Sets a boolean from a json field value, if defined, else does nothing. More...
|
|
time_t DPP_EXPORT | ts_not_null (const nlohmann::json *j, const char *keyname) |
| Returns a time_t from an ISO8601 timestamp field in a json value, if defined, else returns epoch value of 0. More...
|
|
void DPP_EXPORT | set_ts_not_null (const nlohmann::json *j, const char *keyname, time_t &v) |
| Sets an timestamp from a json field value containing an ISO8601 string, if defined, else does nothing. More...
|
|
std::string DPP_EXPORT | base64_encode (unsigned char const *buf, unsigned int buffer_length) |
| Base64 encode data into a string. More...
|
|
std::string DPP_EXPORT | ts_to_string (time_t ts) |
| Convert time_t unix epoch to std::string ISO date/time. More...
|
|
DPP_EXPORT const dns_cache_entry * | resolve_hostname (const std::string &hostname, const std::string &port) |
| Resolve a hostname to an addrinfo. More...
|
|
template<build_type > |
bool | validate_configuration () |
|
void | from_json (const nlohmann::json &j, guild_member &gm) |
| helper function to deserialize a guild_member from json More...
|
|
guild_member DPP_EXPORT | find_guild_member (const snowflake guild_id, const snowflake user_id) |
| Get the guild_member from cache of given IDs. More...
|
|
template<typename T > |
auto | run_once () |
| Run some code within an if() statement only once. More...
|
|
template<class T > |
void | rest_request (dpp::cluster *c, const char *basepath, const std::string &major, const std::string &minor, http_method method, const std::string &postdata, command_completion_event_t callback) |
| Templated REST request helper to save on typing. More...
|
|
template<> |
void | rest_request< message > (dpp::cluster *c, const char *basepath, const std::string &major, const std::string &minor, http_method method, const std::string &postdata, command_completion_event_t callback) |
| Templated REST request helper to save on typing (specialised for message) More...
|
|
template<> |
void | rest_request< confirmation > (dpp::cluster *c, const char *basepath, const std::string &major, const std::string &minor, http_method method, const std::string &postdata, command_completion_event_t callback) |
| Templated REST request helper to save on typing (specialised for confirmation) More...
|
|
template<class T > |
void | rest_request_list (dpp::cluster *c, const char *basepath, const std::string &major, const std::string &minor, http_method method, const std::string &postdata, command_completion_event_t callback, const std::string &key="id") |
| Templated REST request helper to save on typing (for returned lists) More...
|
|
template<> |
void | rest_request_list< invite > (dpp::cluster *c, const char *basepath, const std::string &major, const std::string &minor, http_method method, const std::string &postdata, command_completion_event_t callback, const std::string &key) |
| Templated REST request helper to save on typing (for returned lists, specialised for invites) More...
|
|
template<> |
void | rest_request_list< voiceregion > (dpp::cluster *c, const char *basepath, const std::string &major, const std::string &minor, http_method method, const std::string &postdata, command_completion_event_t callback, const std::string &key) |
| Templated REST request helper to save on typing (for returned lists, specialised for voiceregions) More...
|
|
template<> |
void | rest_request_list< ban > (dpp::cluster *c, const char *basepath, const std::string &major, const std::string &minor, http_method method, const std::string &postdata, command_completion_event_t callback, const std::string &key) |
| Templated REST request helper to save on typing (for returned lists, specialised for bans) More...
|
|
template<> |
void | rest_request_list< sticker_pack > (dpp::cluster *c, const char *basepath, const std::string &major, const std::string &minor, http_method method, const std::string &postdata, command_completion_event_t callback, const std::string &key) |
| Templated REST request helper to save on typing (for returned lists, specialised for sticker packs) More...
|
|
template<class T > |
void | rest_request_list (dpp::cluster *c, const char *basepath, const std::string &major, const std::string &minor, http_method method, const std::string &postdata, command_completion_event_t callback, const std::string &key, const std::string &root) |
| Templated REST request helper to save on typing (for returned lists) More...
|
|
template<class T > |
void | rest_request_vector (dpp::cluster *c, const char *basepath, const std::string &major, const std::string &minor, http_method method, const std::string &postdata, command_completion_event_t callback) |
| Templated REST request helper to save on typing (for returned lists, specialised for objects which doesn't have ids) More...
|
|
DPP_EXPORT std::unique_ptr< socket_engine_base > | create_socket_engine (class cluster *creator) |
| This is implemented by whatever derived form socket_engine takes. More...
|
|
void | set_signal_handler (int signal) |
| Set up a signal handler to be ignored. More...
|
|
DPP_EXPORT bool | close_socket (dpp::socket sfd) |
| Close a socket. More...
|
|
DPP_EXPORT bool | set_nonblocking (dpp::socket sockfd, bool non_blocking) |
| Set a socket to blocking or non-blocking IO. More...
|
|
template<typename T > |
std::basic_string< T > | lowercase (const std::basic_string< T > &s) |
| Convert a string to lowercase using tolower() More...
|
|
template<typename T > |
std::basic_string< T > | uppercase (const std::basic_string< T > &s) |
| Convert a string to uppercase using toupper() More...
|
|
std::string | rtrim (std::string s) |
| trim from end of string (right) More...
|
|
std::string | ltrim (std::string s) |
| trim from beginning of string (left) More...
|
|
std::string | trim (std::string s) |
| Trim from both ends of string (right then left) More...
|
|
template<class T > |
std::string | comma (T value) |
| Add commas to a string (or dots) based on current locale server-side. More...
|
|
template<typename T > |
T | from_string (const std::string &s, std::ios_base &(*f)(std::ios_base &)) |
| Convert any value from a string to another type using stringstream. The optional second parameter indicates the format of the input string, e.g. std::dec for decimal, std::hex for hex, std::oct for octal. More...
|
|
template<typename T > |
T | from_string (const std::string &s) |
| Convert any value from a string to another type using stringstream. More...
|
|
template<uint64_t > |
uint64_t | from_string (const std::string &s) |
| Specialised conversion of uint64_t from string. More...
|
|
template<uint32_t > |
uint32_t | from_string (const std::string &s) |
| Specialised conversion of uint32_t from string. More...
|
|
template<int > |
int | from_string (const std::string &s) |
| Specialised conversion of int from string. More...
|
|
template<typename T > |
std::string | to_hex (T i, bool leading_zeroes=true) |
| Convert a numeric value to hex. More...
|
|
template<typename T > |
std::string | leading_zeroes (T i, size_t width) |
| Format a numeric type as a string with leading zeroes. More...
|
|
void | to_json (nlohmann::json &j, const thread_metadata &tmdata) |
| Serialize a thread_metadata object to json. More...
|
|
void | from_json (const nlohmann::json &j, user &u) |
| helper function to deserialize a user from json More...
|
|
void | from_json (const nlohmann::json &j, user_identified &u) |
| helper function to deserialize a user_identified from json More...
|
|