| D++ (DPP) C++ Discord API Bot Library

Search
Loading...
Searching...
No Matches
Class List
Here are the classes, structs, unions and interfaces with brief descriptions:
[detail level 1 2 3 4 5]

N dpp | The main namespace for D++ functions. classes and types
N detail | Implementation details for internal use only
N async |
C callback | Shared state of the async and its callback, to be used across threads
N coroutine |
C final_awaiter | Struct returned by a coroutine's final_suspend, resumes the continuation
C promise_t | Promise type for coroutine
C promise_t< void > | Struct returned by a coroutine's final_suspend, resumes the continuation
N event_router | Internal cogwheels for dpp::event_router_t
C awaitable | Awaitable object representing an event. A user can co_await on this object to resume the next time the event is fired, optionally with a condition
N job |
C promise | Coroutine promise type for a job
N promise |
C empty | Empty result from void-returning awaitable
C promise_base | Base class defining logic common to all promise types, aka the "write" end of an awaitable
N std_coroutine | Alias for either std or std::experimental depending on compiler and library. Used by coroutine implementation
C coroutine_traits< dpp::coroutine< R >, Args... > | Specialization of std::coroutine_traits, helps the standard library figure out a promise type from a coroutine function
C coroutine_traits< dpp::job, Args... > | Specialization of std::coroutine_traits, helps the standard library figure out a promise type from a coroutine function
C coroutine_traits< dpp::task< T >, Args... > | Specialization of std::coroutine_traits, helps the standard library figure out a promise_t type from a coroutine function
N task |
C final_awaiter | The object automatically co_await-ed at the end of a task. Ensures nested coroutine chains are resolved, and the promise_t cleans up if it needs to
C promise_base | Base implementation of task::promise_t, without the logic that would depend on the return type. Meant to be inherited from
C proxy_awaiter | Proxy awaitable that wraps any co_await inside the task and checks for cancellation on resumption
C promise_t | A task's promise_t type, with special logic for handling nested tasks
C promise_t< void > | Implementation of task::promise_t for void return type
N when_any | Internal cogwheels for dpp::when_any
C arg_helper_s | Type trait helper to obtain the actual type that will be used by a when_any when a type is passed as a parameter. May specialize for certain types for specific behavior, e.g. for an event_router, store the awaitable directly
C arg_helper_s< dpp::event_router_t< T > > |
C empty | Empty result from void-returning awaitable
C wrapped_ssl_ctx | This class wraps a raw SSL_CTX pointer, managing moving, creation, and RAII destruction
N events | Route interaction event
C automod_rule_create | Internal event handler for AUTO_MODERATION_RULE_CREATE websocket events. Called for each websocket message of this type
C automod_rule_delete | Internal event handler for AUTO_MODERATION_RULE_DELETE websocket events. Called for each websocket message of this type
C automod_rule_execute | Internal event handler for AUTO_MODERATION_ACTION_EXECUTION websocket events. Called for each websocket message of this type
C automod_rule_update | Internal event handler for AUTO_MODERATION_RULE_UPDATE websocket events. Called for each websocket message of this type
C channel_create | Internal event handler for CHANNEL_CREATE websocket events. Called for each websocket message of this type
C channel_delete | Internal event handler for CHANNEL_DELETE websocket events. Called for each websocket message of this type
C channel_pins_update | Internal event handler for CHANNEL_PINS_UPDATE websocket events. Called for each websocket message of this type
C channel_update | Internal event handler for CHANNEL_UPDATE websocket events. Called for each websocket message of this type
C entitlement_create | Internal event handler for ENTITLEMENT_CREATE websocket events. Called for each websocket message of this type
C entitlement_delete | Internal event handler for ENTITLEMENT_DELETE websocket events. Called for each websocket message of this type
C entitlement_update | Internal event handler for ENTITLEMENT_UPDATE websocket events. Called for each websocket message of this type
C event | An event object represents an event handled internally, passed from the websocket e.g. MESSAGE_CREATE
C guild_audit_log_entry_create | Internal event handler for GUILD_AUDIT_LOG_ENTRY_CREATE websocket events. Called for each websocket message of this type
C guild_ban_add | Internal event handler for GUILD_BAN_ADD websocket events. Called for each websocket message of this type
C guild_ban_remove | Internal event handler for GUILD_BAN_REMOVE websocket events. Called for each websocket message of this type
C guild_create | Internal event handler for GUILD_CREATE websocket events. Called for each websocket message of this type
C guild_delete | Internal event handler for GUILD_DELETE websocket events. Called for each websocket message of this type
C guild_emojis_update | Internal event handler for GUILD_EMOJIS_UPDATE websocket events. Called for each websocket message of this type
C guild_integrations_update | Internal event handler for GUILD_INTEGRATIONS_UPDATE websocket events. Called for each websocket message of this type
C guild_join_request_delete | Internal event handler for GUILD_JOIN_REQUEST_DELETE websocket events. Called for each websocket message of this type
C guild_member_add | Internal event handler for GUILD_MEMBER_ADD websocket events. Called for each websocket message of this type
C guild_member_remove | Internal event handler for GUILD_MEMBER_REMOVE websocket events. Called for each websocket message of this type
C guild_member_update | Internal event handler for GUILD_MEMBERS_UPDATE websocket events. Called for each websocket message of this type
C guild_members_chunk | Internal event handler for GUILD_MEMBERS_CHUNK websocket events. Called for each websocket message of this type
C guild_role_create | Internal event handler for GUILD_ROLE_CREATE websocket events. Called for each websocket message of this type
C guild_role_delete | Internal event handler for GUILD_ROLE_DELETE websocket events. Called for each websocket message of this type
C guild_role_update | Internal event handler for GUILD_ROLE_UPDATE websocket events. Called for each websocket message of this type
C guild_scheduled_event_create | Internal event handler for GUILD_SCHEDULED_EVENT_CREATE websocket events. Called for each websocket message of this type
C guild_scheduled_event_delete | Internal event handler for GUILD_SCHEDULED_EVENT_DELETE websocket events. Called for each websocket message of this type
C guild_scheduled_event_update | Internal event handler for GUILD_SCHEDULED_EVENT_UPDATE websocket events. Called for each websocket message of this type
C guild_scheduled_event_user_add | Internal event handler for GUILD_SCHEDULED_EVENT_USER_ADD websocket events. Called for each websocket message of this type
C guild_scheduled_event_user_remove | Internal event handler for GUILD_SCHEDULED_EVENT_USER_REMOVE websocket events. Called for each websocket message of this type
C guild_stickers_update | Internal event handler for GUILD_STICKERS_UPDATE websocket events. Called for each websocket message of this type
C guild_update | Internal event handler for GUILD_UPDATE websocket events. Called for each websocket message of this type
C integration_create | Internal event handler for INTEGRATION_CREATE websocket events. Called for each websocket message of this type
C integration_delete | Internal event handler for INTEGRATION_DELETE websocket events. Called for each websocket message of this type
C integration_update | Internal event handler for INTEGRATION_UPDATE websocket events. Called for each websocket message of this type
C interaction_create | Internal event handler for INTERACTION_CREATE websocket events. Called for each websocket message of this type
C invite_create | Internal event handler for INVITE_CREATE websocket events. Called for each websocket message of this type
C invite_delete | Internal event handler for INVITE_DELETE websocket events. Called for each websocket message of this type
C logger | Internal event handler for LOG websocket events. Called for each websocket message of this type
C message_create | Internal event handler for MESSAGE_CREATE websocket events. Called for each websocket message of this type
C message_delete | Internal event handler for MESSAGE_DELETE websocket events. Called for each websocket message of this type
C message_delete_bulk | Internal event handler for MESSAGE_DELETE_BULK websocket events. Called for each websocket message of this type
C message_poll_vote_add | Internal event handler for MESSAGE_POLL_VOTE_ADD websocket events. Called for each websocket message of this type
C message_poll_vote_remove | Internal event handler for MESSAGE_POLL_VOTE_REMOVE websocket events. Called for each websocket message of this type
C message_reaction_add | Internal event handler for MESSAGE_REACTION_ADD websocket events. Called for each websocket message of this type
C message_reaction_remove | Internal event handler for MESSAGE_REACTION_REMOVE websocket events. Called for each websocket message of this type
C message_reaction_remove_all | Internal event handler for MESSAGE_REACTION_REMOVE_ALL websocket events. Called for each websocket message of this type
C message_reaction_remove_emoji | Internal event handler for MESSAGE_REACTION_REMOVE_EMOJI websocket events. Called for each websocket message of this type
C message_update | Internal event handler for MESSAGE_UPDATE websocket events. Called for each websocket message of this type
C presence_update | Internal event handler for PRESENCE_UPDATE websocket events. Called for each websocket message of this type
C ready | Internal event handler for READY websocket events. Called for each websocket message of this type
C resumed | Internal event handler for RESUMED websocket events. Called for each websocket message of this type
C stage_instance_create | Internal event handler for STAGE_INSTANCE_CREATE websocket events. Called for each websocket message of this type
C stage_instance_delete | Internal event handler for STAGE_INSTANCE_DELETE websocket events. Called for each websocket message of this type
C stage_instance_update | Internal event handler for STAGE_INSTANCE_UPDATE websocket events. Called for each websocket message of this type
C thread_create | Internal event handler for THREAD_CREATE websocket events. Called for each websocket message of this type
C thread_delete | Internal event handler for THREAD_DELETE websocket events. Called for each websocket message of this type
C thread_list_sync | Internal event handler for THREAD_LIST_SYNC websocket events. Called for each websocket message of this type
C thread_member_update | Internal event handler for THREAD_MEMBER_UPDATE websocket events. Called for each websocket message of this type
C thread_members_update | Internal event handler for THREAD_MEMBERS_UPDATE websocket events. Called for each websocket message of this type
C thread_update | Internal event handler for THREAD_UPDATE websocket events. Called for each websocket message of this type
C typing_start | Internal event handler for TYPING_START websocket events. Called for each websocket message of this type
C user_update | Internal event handler for USER_UPDATE websocket events. Called for each websocket message of this type
C voice_channel_effect_send | Internal event handler for VOICE_CHANNEL_EFFECT_SEND websocket events. Called for each websocket message of this type
C voice_server_update | Internal event handler for VOICE_SERVER_UPDATE websocket events. Called for each websocket message of this type
C voice_state_update | Internal event handler for VOICE_STATE_UPDATE websocket events. Called for each websocket message of this type
C webhooks_update | Internal event handler for WEBHOOKS_UPDATE websocket events. Called for each websocket message of this type
N utility | Utility helper functions, generally for logging, running programs, time/date manipulation, etc
C dummy | Utility struct that has the same size and alignment as another but does nothing. Useful for ABI compatibility
C icon | Wrapper class around a variant for either iconhash or image, for API objects that have one or the other (generally iconhash when receiving, image when uploading an image)
C iconhash | Store a 128 bit icon hash (profile picture, server icon etc) as a 128 bit binary value made of two uint64_t. Has a constructor to build one from a string, and a method to fetch the value back in string form
C image_data | Image to be received or sent to API calls
C primaryguild | User's primary guild (server tag)
C uptime | A class used to represent an uptime in hours, minutes, seconds and days, with helper functions to convert from time_t and display as a string
C active_thread_info | A thread alongside the bot's optional thread_member object tied to it
C activity | An activity is a representation of what a user is doing. It might be a game, or a website, or a movie. Whatever
C activity_assets | An activity asset are the images and the hover text displayed in the rich presence
C activity_button | An activity button is a custom button shown in the rich presence. Can be to join a game or whatever
C activity_party | Information for the current party of the player
C activity_secrets | Secrets for Rich Presence joining and spectating
C address_t | Represents an IPv4 address for use with socket functions such as bind()
C app_team | Represents a team of users who maintain a bot/application
C application | The application class represents details of a bot application
C application_install_params | Represents the settings for the bot/application's in-app authorization link
C application_role_connection | The application role connection that an application has attached to a user
C application_role_connection_metadata | Application Role Connection Metadata. Represents a role connection metadata for an dpp::application
C async | A co_await-able object handling an API call in parallel with the caller
C async_dummy |
C attachment | Represents an attachment in a dpp::message
C audio_mixer | A class for audio mixing operations using x64 instructions
C audit_change | Defines audit log changes
C audit_entry | An individual audit log entry
C audit_extra | Extra information for an audit log entry
C auditlog | The auditlog class represents the audit log entries of a guild
C autocomplete_interaction | An auto complete interaction
C autocomplete_t | Discord requests that we fill a list of auto completion choices for a command option
C automod_action | Represents an automod action
C automod_metadata | Metadata associated with an automod action. Different fields are relevant based on the value of dpp::automod_rule::trigger_type
C automod_rule | Represents an automod rule
C automod_rule_create_t | Create automod rule
C automod_rule_delete_t | Delete automod rule
C automod_rule_execute_t | Execute/trigger automod rule
C automod_rule_update_t | Update automod rule
C awaitable | Generic awaitable class, represents a future value that can be co_await-ed on
C awaiter | Awaiter returned by co_await
C awaitable_dummy |
C ban | The ban class represents a ban on a guild
C basic_awaitable |
C basic_promise | Generic promise class, represents the owning potion of an asynchronous value
C 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
C bucket_t | A rate limit bucket. The library builds one of these for each endpoint
C button_click_t | Click on button
C cache | A cache object maintains a cache of dpp::managed objects
C cache_exception | Represents invalid access to dpp's cache or its members, which may or may not exist
C cache_policy_t | Represents the caching policy of the cluster
C 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
C channel_collector | Channel collector. Collects channels during a set timeframe and returns them in a list via the completed() method
C channel_create_t | Create channel
C channel_delete_t | Delete channel
C channel_pins_update_t | Channel pins update
C channel_update_t | Update channel
C 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
C collected_reaction | Represents a reaction. Can be filled for use in a collector
C collector | Collects objects from events during a specified time period
C 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
C command_info_t | Represents the details of a command added to the command handler class
C command_interaction | Details of a command within an interaction. This subobject represents the application command associated with the interaction
C 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
C 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()
C command_permission | Application command permissions allow you to enable or disable commands for specific users or roles within a guild
C 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
C 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
C 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
C component_default_value | A Default value structure for components
C component_interaction | A button click for a button component
C confirmation | Confirmation object represents any true or false simple REST request
C confirmation_callback_t | The results of a REST call wrapped in a convenient struct
C connection | The connection object that the user has attached
C connection_exception | Represents an error establishing or maintaining a connection
C context_menu_t | Base class for context menu interactions, e.g. right click on user or message
C coroutine | Base type for a coroutine, starts on co_await
C coroutine_dummy |
C dave_binary_header_t | DAVE E2EE Binary frame header
C discord_client | Implements a discord client. Each discord_client connects to one shard and derives from a websocket client
C discord_voice_client | Implements a discord voice connection. Each discord_voice_client connects to one voice channel and derives from a websocket client
C discord_webhook_server | Creates a HTTP server which listens for incoming Discord interactions, and if verified as valid, raises them as cluster events, returning the response back. Note that Discord requires all interaction endpoints to have a valid SSL certificate (not self signed) so in most cases you should put this port behind a reverse proxy, e.g. nginx, apache, etc
C dns_cache_entry | Represents a cached DNS result. Used by the ssl_connection class to store cached copies of dns lookups
C dtemplate | Represents a guild template
C embed | A rich embed for display within a dpp::message
C embed_author | Author within a dpp::embed object
C embed_field | A dpp::embed may contain zero or more fields
C embed_footer | A footer in a dpp::embed
C embed_image | An video, image or thumbnail in a dpp::embed or dpp::component (v2)
C embed_provider | Embed provider in a dpp::embed. Received from discord but cannot be sent
C emoji | Represents an emoji for a dpp::guild
C entitlement | A definition of a discord entitlement
C entitlement_create_t | Delete stage instance
C entitlement_delete_t | Delete stage instance
C entitlement_update_t | Delete stage instance
C error_detail | The details of a field in an error response
C error_info | The full details of an error from a REST response
C etf_buffer | Represents a buffer of bytes being encoded into ETF
C 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
C 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
C event_entities | Entities for the event
C event_member | Represents a guild member/user who has registered interest in an event
C 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
C exception | The dpp::exception class derives from std::exception and supports some other ways of passing in error details such as via std::string
C file_exception | Represents an error reading or writing to a file
C form_submit_t | On form submitted
C forum_tag | Represents a tag that is able to be applied to a thread in a forum or media channel
C gateway | Represents the various information from the 'get gateway bot' api call
C guild | Represents a guild on Discord (AKA a server)
C guild_audit_log_entry_create_t | Guild audit log entry create
C guild_ban_add_t | Guild ban add
C guild_ban_remove_t | Guild ban remove
C guild_command_permissions | Returned when fetching the permissions for a command in a guild
C guild_create_t | Create guild
C guild_delete_t | Delete guild
C guild_emojis_update_t | Guild emojis update
C guild_integrations_update_t | Guild integrations update
C guild_join_request_delete_t | Guild join request delete (user declined membership screening)
C guild_member | Represents dpp::user membership upon a dpp::guild. This contains the user's nickname, guild roles, and any other guild-specific flags
C guild_member_add_t | Guild member add
C guild_member_remove_t | Guild member remove
C guild_member_update_t | Guild member update
C guild_members_chunk_t | Guild members chunk
C guild_role_create_t | Guild role create
C guild_role_delete_t | Guild role delete
C guild_role_update_t | Guild role update
C guild_scheduled_event_create_t | Create scheduled event
C guild_scheduled_event_delete_t | Delete scheduled event
C guild_scheduled_event_update_t | Create scheduled event
C guild_scheduled_event_user_add_t | Add user to scheduled event
C guild_scheduled_event_user_remove_t | Delete user from scheduled event
C guild_stickers_update_t | Update guild stickers
C guild_update_t | Guild update
C guild_widget | Represents a guild widget, simple web widget of member list
C http_connect_info | Represents a HTTP scheme, hostname and port split into parts for easy use in https_client
C http_request | A HTTP request
C http_request_completion_t | The result of any HTTP request. Contains the headers, vital rate limit figures, and returned request body
C http_server | Creates a simple HTTP server which listens on a TCP port for a plaintext or SSL incoming request, and passes that request to a callback to generate the response
C http_server_request |
C https_client | Implements a HTTPS socket client based on the SSL client
C integration | Represents an integration on a guild, e.g. a connection to twitch
C integration_account | The account information for an integration
C integration_app | An application that has been integrated
C integration_configuration | Configuration object for an app installation
C integration_create_t | Integration create
C integration_delete_t | Integration delete
C integration_update_t | Integration update
C 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
C interaction_create_t | Create interaction
C interaction_metadata_type | Metadata about the interaction, including the source of the interaction and relevant server and user IDs
C interaction_modal_response | Represents a modal dialog box response to an interaction
C 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
C invalid_token_exception | Represents an attempt to construct a cluster with an invalid bot token
C invite | Represents an invite to a discord guild or channel
C invite_create_t | Invite create
C invite_delete_t | Invite delete
C 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
C job_dummy |
C 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
C length_exception | Represents invalid length of argument being passed to a function
C log_t | Log messages
C logic_exception | Represents an error in logic, e.g. you asked the library to do something the Discord API does not support
C 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
C message | Represents messages sent and received on Discord
C allowed_ref | Allowed mentions details
C message_interaction_struct | Reference to an interaction
C message_ref | Reference to another message, e.g. a reply
C message_collector | Message collector. Collects messages during a set timeframe and returns them in a list via the completed() method
C message_context_menu_t | Event parameter for context menu interactions for messages
C message_create_t | Create message
C message_delete_bulk_t | Message delete bulk
C message_delete_t | Message Deleted
C message_file_data | The data for a file attached to a message
C message_pin | Represents a pinned message
C message_poll_vote_add_t | Message poll vote add
C message_poll_vote_remove_t | Message poll vote remove
C message_reaction_add_t | Message reaction add
C message_reaction_remove_all_t | Message remove all reactions
C message_reaction_remove_emoji_t | Message remove emoji
C message_reaction_remove_t | Message reaction remove
C message_search_params | Parameters for searching messages within a guild
C message_search_result | Represents the result of a guild message search
C message_snapshot |
C message_update_t | Message update
C moveable_promise | Generic promise class, represents the owning potion of an asynchronous value
C moving_averager |
C 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
C onboarding | Represents a guild's onboarding flow
C onboarding_prompt | Represents an onboarding prompt
C onboarding_prompt_option | Represents an onboarding prompt option
C oneshot_timer | Trigger a timed event once. The provided callback is called only once
C 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
C parse_exception | Represents inability to parse data, usually caused by malformed JSON or ETF
C partial_emoji | An emoji reference for a component (select menus included) or a poll
C permission | Represents a permission bitmask (refer to enum dpp::permissions) which are held in an uint64_t
C permission_overwrite | Channel permission overwrites
C poll | Represents a poll
C poll_answer | Represents an answer in a poll
C poll_media | Structure representing a poll media, for example the poll question or a possible poll answer
C poll_results | Represents the results of a poll
C answer_count | Represents a reference to an answer and its count of votes
C presence | Represents user presence, e.g. what game they are playing and if they are online
C presence_update_t | Presence update
C prune | Defines a request to count prunable users, or start a prune operation
C raii_socket | Allocates a dpp::socket, closing it on destruction
C reaction | Represents a reaction to a dpp::message
C reaction_collector | Reaction collector. Collects message reactions during a set timeframe and returns them in a list via the completed() method
C ready_t | Session ready

C 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

C request_queue | The request_queue class manages rate limits and marshalls HTTP requests that have been built as http_request objects
C completed_request | A completed request. Contains both the request and the response
C 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
C rest_exception | Represents an error on a REST API call, e.g. a HTTPS request
C resumed_t | Session resumed
C 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
C role_collector | Role collector. Collects guild roles during a set timeframe and returns them in a list via the completed() method
C scheduled_event | A scheduled event
C scheduled_event_collector | Scheduled event collector. Collects messages during a set timeframe and returns them in a list via the completed() method
C select_click_t | Click on select
C select_option | An option for a select component
C signature_verifier | Verifies signatures on incoming webhooks using OpenSSL
C sku | A definition of a discord SKU
C slashcommand | Represents an application command, created by your bot either globally, or on a guild
C slashcommand_t | User has issued a slash command
C 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
C socket_close_t | Closure of socket (removal from socket engine)

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

C socket_events | Represents an active socket event set in the socket engine
C socket_listener | Listens on a TCP socket for new connections, and whenever a new connection is received, accept it and spawn a new connection of type T
C socket_stats | Contains statistics about the IO loop
C ssl_connection | Implements a simple non-blocking SSL stream connection
C stage_instance | A stage instance. Stage instances are like a conference facility, with moderators/speakers and listeners
C stage_instance_create_t | Create stage instance
C stage_instance_delete_t | Delete stage instance
C stage_instance_update_t | Update stage instance
C sticker | Represents stickers received in messages
C sticker_pack | Represents a sticker pack (the built in groups of stickers that all nitro users get to use)
C task | A coroutine task. It starts immediately on construction and can be co_await-ed, making it perfect for parallel coroutines returning a value
C task_cancelled_exception | Represents the cancellation of a task. Will be thrown to the awaiter of a cancelled task
C task_dummy |
C team_member | Represents a team member on a team who maintain a bot/application
C thread | A definition of a discord thread. A thread is a superset of a channel. Not to be confused with std::thread!
C thread_collector | Thread collector. Collects threads during a set timeframe and returns them in a list via the completed() method
C thread_create_t | Thread Create
C thread_delete_t | Thread Delete
C thread_list_sync_t | Thread List Sync
C thread_member | Represents membership of a user with a thread
C thread_member_update_t | Thread Member Update
C thread_members_update_t | Thread Members Update
C thread_metadata | Metadata for threads
C 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
C thread_pool_task | A task within a thread pool. A simple lambda that accepts no parameters and returns void
C thread_pool_task_comparator | Compares two thread pool tasks by priority
C thread_update_t | Thread Update
C 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
C timer_comparator | Used to compare two timers next tick times in a priority queue
C timer_t | Used internally to store state of active timers
C typing_start_t | Typing start
C user | Represents a user on discord. May or may not be a member of a dpp::guild
C user_context_menu_t | Event parameter for context menu interactions for users
C 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
C user_update_t | User update
C voice_buffer_send_t | Voice buffer send
C voice_channel_effect | Represents a voice channel effect e.g. a soundboard sound or an emoji reaction
C voice_channel_effect_send_t | Voice channel effect send
C voice_client_disconnect_t | Voice client disconnect event
C voice_client_platform_t | Voice client platform type notification event
C voice_client_speaking_t | Voice client speaking event
C voice_exception | Represents an error with voice processing
C voice_out_packet | An opus-encoded RTP packet to be sent out to a voice channel
C voice_ready_t | Voice ready
C voice_receive_t | Voice receive packet
C voice_server_update_t | Voice server update
C voice_state_update_t | Voice state update
C voice_track_marker_t | Voice state update
C 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
C voiceregion | Represents a voice region on discord
C 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
C webhook | Represents a discord webhook
C webhooks_update_t | Webhooks update
C websocket_client | Implements a websocket client based on the SSL client
C welcome_channel | Defines a channel on a server's welcome screen
C welcome_screen | Defines a server's welcome screen
C 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
C awaiter | Object returned by operator co_await(). Meant to be used by the standard library, not by a user
C result | Object returned by operator co_await() on resumption. Can be moved but not copied
C 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
N std | STL namespace
C hash< dpp::snowflake > |

D++ Library version 9.0.13 D++ Library version 9.0.12 D++ Library version 9.0.11 D++ Library version 9.0.10 D++ Library version 9.0.9 D++ Library version 9.0.8 D++ Library version 9.0.7 D++ Library version 9.0.6 D++ Library version 9.0.5 D++ Library version 9.0.4 D++ Library version 9.0.3 D++ Library version 9.0.2 D++ Library version 9.0.1 D++ Library version 9.0.0 D++ Library version 1.0.2 D++ Library version 1.0.1 D++ Library version 1.0.0