D++ (DPP)
C++ Discord API Bot Library
Class Hierarchy

Go to the graphical class hierarchy

This inheritance list is sorted roughly, but not completely, alphabetically:
[detail level 123]
 Cdpp::activityAn activity is a representation of what a user is doing. It might be a game, or a website, or a movie. Whatever
 Cdpp::message::allowed_refAllowed mentions detils
 Cdpp::app_teamRepresents a team of users who maintain a bot/application
 Cdpp::attachmentRepresents an attachment in a dpp::message
 Cdpp::audit_changeDefines audit log changes
 Cdpp::audit_entryAn individual audit log entry
 Cdpp::audit_extraExtra information for an audit log entry
 Cdpp::auditlogThe auditlog class represents the audit log entry of a guild
 Cdpp::autocomplete_interactionAn auto complete interaction
 Cdpp::banThe ban class represents a ban on a guild
 Cdpp::bucket_tA rate limit bucket. The library builds one of these for each endpoint
 Cdpp::cache< T >A cache object maintains a cache of dpp::managed objects
 Cdpp::cache_policy_tRepresents the caching policy of the cluster
 Chttplib::detail::ci
 Chttplib::Client
 Chttplib::ClientImpl
 Cdpp::clusterThe 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
 Cdpp::collector< T, C >Collects objects from events during a specified time period
 Cdpp::command_data_optionValues in the command interaction. These are the values specified by the user when actually issuing the command on a channel or in DM
 Cdpp::command_info_tRepresents the details of a command added to the command handler class
 Cdpp::command_interactionDetails of a command within an interaction. This subobject represents the application command associated with the interaction
 Cdpp::command_optionEach 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
 Cdpp::command_option_choiceThis 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()
 Cdpp::command_permissionApplication command permissions allow you to enable or disable commands for specific users or roles within a guild
 Cdpp::command_resolvedResolved snowflake ids to users, guild members, roles and channels
 Cdpp::command_sourceRepresents 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
 Cdpp::commandhandlerThe commandhandler class represents a group of commands, prefixed or slash commands with handling functions
 Cdpp::componentRepresents 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
 Cdpp::component_interactionA button click for a button component
 Cdpp::confirmationConfirmation object represents any true or false simple REST request
 Cdpp::confirmation_callback_tThe results of a REST call wrapped in a convenient struct
 Cdpp::connectionThe connection object that the user has attached
 Chttplib::ContentReader
 Chttplib::DataSink
 Cdpp::dtemplateRepresents a guild template
 Cdpp::embedA rich embed for display within a dpp::message
 Cdpp::embed_authorAuthor within a dpp::embed object
 Cdpp::embed_fieldA dpp::embed may contain zero or more fields
 Cdpp::embed_footerA footer in a dpp::embed
 Cdpp::embed_imageAn video, image or thumbnail in a dpp::embed
 Cdpp::embed_providerEmbed provider in a dpp::embed. Received from discord but cannot be sent
 Cdpp::error_detailThe details of a field in an error response
 Cdpp::error_infoThe full details of an error from a REST response
 Cdpp::etf_bufferRepresents a buffer of bytes being encoded into ETF
 Cdpp::etf_parserThe 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
 Cdpp::events::eventAn event object represents an event handled internally, passed from the websocket e.g. MESSAGE_CREATE
 Cdpp::event_dispatch_tBase 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
 Cdpp::event_entitiesEntities for the event
 Cdpp::event_memberRepresents a guild member/user who has registered interest in an event
 Cdpp::event_router_t< T >Handles routing of an event to multiple listeners
 Cstd::exceptionSTL class
 Cdpp::gatewayRepresents the various information from the 'get gateway bot' api call
 Cdpp::guild_command_permissionsReturned when fetching the permissions for a command in a guild
 Cdpp::guild_memberRepresents dpp::user membership upon a dpp::guild. This contains the user's nickname, guild roles, and any other guild-specific flags
 Cdpp::guild_widgetRepresents a guild widget, simple web widget of member list
 Cdpp::http_requestA HTTP request
 Cdpp::http_request_completion_tThe result of any HTTP request. Contains the headers, vital rate limit figures, and returned request body
 Cdpp::utility::iconhashStore 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
 Cdpp::component::inner_emoji
 Cdpp::select_option::inner_select_emojiEmoji definition. To set an emoji on your button you must set one of either the name or id fields. The easiest way is to use the component::set_emoji method
 Cdpp::integration_appAn application that has been integrated
 Cdpp::interaction_responseA 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
 Cdpp::inviteRepresents an invite to a discord guild or channel
 Cdpp::managedThe managed class is the base class for various types that can be stored in a cache that are identified by a dpp::snowflake id
 Cdpp::message::message_interaction_structReference to an interaction
 Cdpp::message::message_refReference to another message, e.g. a reply
 Chttplib::MultipartFormData
 Cdpp::oneshot_timerTrigger a timed event once. The provided callback is called only once
 Cdpp::param_infoDetails 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
 Cdpp::permission_overwriteChannel permission overwrites
 Cdpp::presenceRepresents user presence, e.g. what game they are playing and if they are online
 Cdpp::pruneDefines a request to count prunable users, or start a prune operation
 Cdpp::reactionRepresets a reaction to a dpp::message
 Chttplib::Request
 Cdpp::request_queueThe request_queue class manages rate limits and marshalls HTTP requests that have been built as http_request objects
 Cdpp::resolved_userDpp::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
 Chttplib::Response
 Chttplib::Result
 Cdpp::select_optionAn option for a select component
 Chttplib::Server
 Chttplib::ClientImpl::Socket
 Cdpp::ssl_clientImplements a simple non-blocking SSL stream client
 Chttplib::Stream
 Chttplib::TaskQueue
 Cdpp::team_memberRepresents a team member on a team who maintain a bot/application
 Cdpp::thread_memberRepresents membership of a user with a thread
 Cdpp::thread_metadataMetadata for threads
 Cdpp::timed_listener< attached_event, listening_function >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
 Cdpp::timer_tUsed internally to store state of active timers
 Cdpp::type_punnerA horrible structure used within the ETF parser to convert uint64_t to double and back. This is horrible, but it is the official way erlang term format does this, so we can't really mess with it much
 Cdpp::utility::uptimeA 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
 Cdpp::voice_out_packetAn opus-encoded RTP packet to be sent out to a voice channel
 Cdpp::voiceconnRepresents 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
 Cdpp::voiceregionRepresents a voice region on discord
 Cdpp::voicestateRepresents 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
 Cdpp::welcome_channel_tDefines a channel on a server's welcome screen
 Cdpp::welcome_screen_tDefines a server's welcome screen
D++ Library version 10.0.35D++ Library version 10.0.34D++ Library version 10.0.33D++ Library version 10.0.32D++ Library version 10.0.31D++ Library version 10.0.30D++ Library version 10.0.29D++ Library version 10.0.28D++ Library version 10.0.27D++ Library version 10.0.26D++ Library version 10.0.25D++ Library version 10.0.24D++ Library version 10.0.23D++ Library version 10.0.22D++ Library version 10.0.21D++ Library version 10.0.20D++ Library version 10.0.19D++ Library version 10.0.18D++ Library version 10.0.17D++ Library version 10.0.16D++ Library version 10.0.15D++ Library version 10.0.14D++ Library version 10.0.13D++ Library version 10.0.12D++ Library version 10.0.11D++ Library version 10.0.10D++ Library version 10.0.9D++ Library version 10.0.8D++ Library version 10.0.7D++ Library version 10.0.6D++ Library version 10.0.5D++ Library version 10.0.4D++ Library version 10.0.3D++ Library version 10.0.2D++ Library version 10.0.1D++ Library version 10.0.0D++ Library version 9.0.19D++ Library version 9.0.18D++ Library version 9.0.17D++ Library version 9.0.16D++ Library version 9.0.15D++ Library version 9.0.14D++ Library version 9.0.13D++ Library version 9.0.12D++ Library version 9.0.11D++ Library version 9.0.10D++ Library version 9.0.9D++ Library version 9.0.8D++ Library version 9.0.7D++ Library version 9.0.6D++ Library version 9.0.5D++ Library version 9.0.4D++ Library version 9.0.3D++ Library version 9.0.2D++ Library version 9.0.1D++ Library version 9.0.0D++ Library version 1.0.2D++ Library version 1.0.1D++ Library version 1.0.0