DiscordCoreAPI
A Discord bot library written in C++, with custom asynchronous coroutines.
Loading...
Searching...
No Matches
discord_core_api Namespace Reference

The main namespace for the forward-facing interfaces. More...

Classes and Structures

class  account_data
 Account data. More...
 
struct  action_data
 For representing a single auto-moderation-rule-action. More...
 
struct  action_meta_data
 Action metadata for auto-moderation-rules. More...
 
class  action_row_data
 Action row data of message components. More...
 
struct  active_threads_data
 Data representing an active thread_data. More...
 
struct  activity_data
 Activity data. More...
 
struct  add_guild_member_data
 For adding a new guild_member_data to a chosen guild. More...
 
struct  add_guild_member_role_data
 For addin a role_data to a guild_member. More...
 
struct  add_recipient_to_group_dmdata
 For adding a user to a group dm. More...
 
struct  add_thread_member_data
 For adding a chosen user_data to a chosen thread_data. More...
 
class  allowed_mentions_data
 Allowable mentions for a message. More...
 
class  application_command_data
 Data structure representing an application_command_data. More...
 
struct  application_command_interaction_data_option
 Application_command_data interaction data option. More...
 
class  application_command_option_choice_data
 Data structure representing an application_command_data's option choice. More...
 
struct  application_command_option_data
 Data structure representing an application_command_data's option. More...
 
class  application_command_permission_data
 Permissions data for an application_command_data. More...
 
class  application_commands
 An interface class for the application_command_data related discord endpoints. More...
 
class  application_data
 Application data. More...
 
struct  archived_threads_data
 Data representing an archived thread_data. More...
 
class  attachment_data
 Attachment data. More...
 
struct  audio_frame_data
 Represents a single frame of audio data. More...
 
struct  audit_log_change_data
 Audit log change data. More...
 
class  audit_log_data
 Audit log data. More...
 
class  audit_log_entry_data
 Audit log entry data. More...
 
struct  authorization_info_data
 Authorization info structure. More...
 
struct  auto_moderation_action_execution_event_data
 For when an auto-moderation-rule is executed. More...
 
class  auto_moderation_rule_data
 Represents an auto-moderation-rule. More...
 
class  auto_moderation_rules
 An interface class for the auto_moderation_rule_data related discord endpoints. More...
 
struct  ban_data
 Ban data. More...
 
struct  base_function
 Base class for the command classes. More...
 
struct  base_function_arguments
 Base arguments for the command classes. More...
 
struct  batch_edit_guild_application_command_permissions_data
 For batch editing the permissions of a collection of guild application_commands. More...
 
struct  begin_guild_prune_data
 For pruning a number of guild_members from the guild. More...
 
class  bot_user
 A type of user_data, to represent the bot and some of its associated endpoints. More...
 
struct  bulk_overwrite_global_application_commands_data
 For bulk-overwriting a collection of global application_commands. More...
 
struct  bulk_overwrite_guild_application_commands_data
 For bulk-overwriting a collection of guild application_commands. More...
 
class  button_collector
 Button_collector, for collecting button input from one or more users. More...
 
struct  button_response_data
 Button response data. More...
 
struct  cache_options
 For selecting the caching style of the library. More...
 
class  channel_cache_data
 Data structure representing a single channel_data. More...
 
class  channel_data
 A channel_data object. More...
 
class  channel_mention_data
 Channel_data mention data. More...
 
struct  channel_pins_update_event_data
 Data for when some channel_data pins are updated. More...
 
class  channels
 An interface class for the channel_data related endpoints. More...
 
class  co_routine
 A co_routine - representing a potentially asynchronous operation/function. More...
 
class  co_routine< return_type_new, timeOut >
 A co_routine - representing a potentially asynchronous operation/function. More...
 
struct  co_routine_error
 An error type for co_routines. More...
 
class  command_controller
 A class for handling commands from user input. More...
 
class  command_data
 Command data, for functions executed by the command_controller. More...
 
struct  connect_to_voice
 crtp-based struct for exposing the connectToVoice functionality of the guild-related classes. More...
 
struct  connection_data
 Represents a single user_data connection. More...
 
struct  create_application_command_data
 For creating an application command. More...
 
struct  create_auto_moderation_rule_data
 For creating an auto-moderation-rule. More...
 
struct  create_channel_invite_data
 For creating an invite to a given channel. More...
 
class  create_deferred_interaction_response_data
 For creating a deferred interaction response. More...
 
struct  create_dmchannel_data
 For collecting a direct-messaging channel_data. More...
 
class  create_ephemeral_follow_up_message_data
 For creating an ephemeral follow up message_data. More...
 
class  create_ephemeral_interaction_response_data
 For creating an ephemeral interaction response. More...
 
class  create_follow_up_message_data
 For creating a follow up message_data. More...
 
struct  create_global_application_command_data
 For creating a single global application_command_data. More...
 
struct  create_guild_application_command_data
 For creating a single guild application_command_data. More...
 
struct  create_guild_ban_data
 For banning a current guild_member_data. More...
 
struct  create_guild_channel_data
 For creating a new channel_data within a chosen guild_data. More...
 
struct  create_guild_data
 For creating a guild. More...
 
struct  create_guild_emoji_data
 for creating a new guild emoji. More...
 
struct  create_guild_from_guild_template_data
 For creating a guild from a guild template. More...
 
struct  create_guild_role_data
 For creating a new role_data within a chosen guild. More...
 
struct  create_guild_scheduled_event_data
 For creating a guild_scheduled_event_data. More...
 
struct  create_guild_sticker_data
 For creating a single sticker_data. More...
 
struct  create_guild_template_data
 For creating a guild template. More...
 
class  create_interaction_response_data
 For creating an interaction response. More...
 
class  create_message_data
 For creating a message. More...
 
struct  create_reaction_data
 For creating a single reaction_data. More...
 
struct  create_stage_instance_data
 For creating a stage_instance_data. More...
 
struct  create_web_hook_data
 For creating a new web_hook_data. More...
 
struct  crosspost_message_data
 For crossposting a message. More...
 
struct  dca_exception
 An exception class derived from std::runtime_error for dca-related exceptions. More...
 
struct  delete_all_reactions_data
 For deleting all of the reactions on a particular message_data. More...
 
struct  delete_auto_moderation_rule_data
 For deleting an auto-moderation-rule. More...
 
struct  delete_channel_permission_overwrites_data
 For deleting the permission_types overwrites of a given channel for a given role or user_data. More...
 
struct  delete_follow_up_message_data
 For deleting a follow up message_data. More...
 
struct  delete_global_application_command_data
 For deleting a single global application_command_data. More...
 
struct  delete_guild_application_command_data
 For deleting a single guild application_command_data. More...
 
struct  delete_guild_data
 For deleting a guild. More...
 
struct  delete_guild_emoji_data
 for deleting a guild emoji. More...
 
struct  delete_guild_integration_data
 For deleting a guild integration. More...
 
struct  delete_guild_scheduled_event_data
 For deleting a single guild scheduled event. More...
 
struct  delete_guild_sticker_data
 For deleting a single sticker_data. More...
 
struct  delete_guild_template_data
 For deleting a guild template. More...
 
struct  delete_interaction_response_data
 For deleting an interaction response. More...
 
struct  delete_invite_data
 For deleting a single guild invite. More...
 
struct  delete_message_data
 For deleting a message. More...
 
struct  delete_messages_bulk_data
 For deleting a bulk of messages. More...
 
struct  delete_or_close_channel_data
 For deleting or closing a channel. More...
 
struct  delete_own_reaction_data
 For deleting one's own reaction_data. More...
 
struct  delete_reactions_by_emoji_data
 For deleting all of the reactions of a particular emoji. More...
 
struct  delete_stage_instance_data
 For deleting a single stage_instance_data. More...
 
struct  delete_user_reaction_data
 For deleting a reaction, by user_data. More...
 
struct  delete_web_hook_data
 For deleting a web_hook. More...
 
struct  delete_web_hook_message_data
 For deleting a web_hook message_data. More...
 
struct  delete_web_hook_with_token_data
 For deleting a web_hook, using its token. More...
 
class  discord_core_client
 discord_core_client - the main class for this library. More...
 
struct  discord_core_client_config
 Configuration data for the library's main class, discord_core_client. More...
 
struct  download_url
 Represents a download url. More...
 
struct  edit_channel_permission_overwrites_data
 For editing the permission_types overwrites of a given channel, for a given role or user_data. More...
 
class  edit_follow_up_message_data
 For editing a follow up message_data. More...
 
struct  edit_global_application_command_data
 For editing a single global application_command_data. More...
 
struct  edit_guild_application_command_data
 For editing a single guild application_command_data. More...
 
struct  edit_guild_application_command_permissions_data
 For editing the permissions of a single guild application_command_data. More...
 
class  edit_interaction_response_data
 For editing an interaction response. More...
 
class  edit_message_data
 For editing a message. More...
 
class  edit_web_hook_data
 For editing a web_hook message_data. More...
 
struct  embed_author_data
 Embed author data. More...
 
class  embed_data
 Embed data. More...
 
struct  embed_field_data
 Embed field data. More...
 
struct  embed_footer_data
 Embed footer data. More...
 
struct  embed_image_data
 Embed image data. More...
 
struct  embed_provider_data
 Embed provider data. More...
 
struct  embed_thumbnail_data
 Embed thumbnail data. More...
 
struct  embed_video_data
 Embed video data. More...
 
class  emoji_data
 Data structure representing a single emoji. More...
 
class  event_manager
 Class for handling the assignment of event-handling functions.int32_t. More...
 
class  execute_web_hook_data
 For executing a web_hook. More...
 
struct  file
 Data representing a file to be sent via multipart-form data. More...
 
struct  follow_news_channel_data
 For following a news channel_data. More...
 
struct  forum_tag_data
 forum tags. More...
 
struct  forum_thread_message_data
 Represents a forum thread message. More...
 
struct  gateway_bot_data
 Data from the get_gateway_bot endpoint. More...
 
struct  get_active_guild_threads_data
 For listing the active threads in a chosen guild. More...
 
struct  get_active_threads_data
 For collecting the list of active threads. More...
 
struct  get_application_command_permissions_data
 For acquiring the permissions of a single guild application_command_data. More...
 
struct  get_auto_moderation_rule_data
 For collecting an auto-moderation-rule for a particular auto_moderation_rule_data. More...
 
struct  get_channel_data
 For collecting a channel from discord's servers. More...
 
struct  get_channel_invites_data
 For collecting the invites to a given channel. More...
 
struct  get_channel_web_hooks_data
 For collecting a list of web_hooks from a chosen channel_data. More...
 
struct  get_current_user_guilds_data
 For collecting a list of guild's that the bot is in. More...
 
struct  get_emoji_list_data
 for collecting a list of emoji from a guild. More...
 
struct  get_follow_up_message_data
 For getting a follow-up message_data. More...
 
struct  get_global_application_command_data
 For collecting a single global application_command_data. More...
 
struct  get_global_application_commands_data
 For getting all of the global application commands. More...
 
struct  get_guild_application_command_data
 For acquiring a single guild application_command_data. More...
 
struct  get_guild_application_command_permissions_data
 For acquiring the permissions of a collection of guild application_commands. More...
 
struct  get_guild_application_commands_data
 For acquiring all of the guild application_commands of a single guild. More...
 
struct  get_guild_audit_logs_data
 For geting a guild's audit logs. More...
 
struct  get_guild_ban_data
 For getting a single guild ban. More...
 
struct  get_guild_bans_data
 For getting a list of guild bans. More...
 
struct  get_guild_channels_data
 For acquiring a list of channels from a chosen guild_data. More...
 
struct  get_guild_data
 For getting a guild from the library's cache or a discord server. More...
 
struct  get_guild_emoji_data
 for collecting a single guild emoji. More...
 
struct  get_guild_invites_data
 For geting all of the current invites from a guild. More...
 
struct  get_guild_member_data
 For getting a guild_member, from the library's cache or discord server. More...
 
struct  get_guild_member_roles_data
 For getting a chosen guild_member_data's roles. More...
 
struct  get_guild_preview_data
 For acquiring a guild preview of a chosen guild. More...
 
struct  get_guild_prune_count_data
 For collecting the guild prune count. More...
 
struct  get_guild_roles_data
 For getting a chosen guild's roles. More...
 
struct  get_guild_scheduled_event_data
 For collecting a single guild scheduled event. More...
 
struct  get_guild_scheduled_event_users_data
 For collecting a list of guild scheduled event users. More...
 
struct  get_guild_scheduled_events_data
 For collecting a list of a guild's scheduled events. More...
 
struct  get_guild_stickers_data
 For collecting a list of stickers from a chosen guild. More...
 
struct  get_guild_template_data
 For collecting a guild's template. More...
 
struct  get_guild_templates_data
 For collecting a list of guild templates from a chosen guild. More...
 
struct  get_guild_vanity_invite_data
 For geting the vanity invite responseData of a guild. More...
 
struct  get_guild_voice_regions_data
 For collecting a list of guild voice regions. More...
 
struct  get_guild_web_hooks_data
 For collecting a list of web_hooks from a chosen guild. More...
 
struct  get_guild_welcome_screen_data
 For collecting a guild's welcome screen. More...
 
struct  get_guild_widget_data
 For collecting a guild's widget. More...
 
struct  get_guild_widget_image_data
 For collecting a guild's widget image. More...
 
struct  get_guild_widget_object_data
 Get guild widget data. More...
 
struct  get_guild_widget_settings_data
 For collecting a guild's widget settings. More...
 
struct  get_interaction_response_data
 For getting an interaction response. More...
 
struct  get_invite_data
 For geting a single invite's responseData from a guild. More...
 
struct  get_joined_private_archived_threads_data
 For collecting joined protected archived threads from a given channel. More...
 
struct  get_message_data
 For getting a message. More...
 
struct  get_messages_data
 For getting a collection of messages. More...
 
struct  get_pinned_messages_data
 For getting a collection of pinned messages. More...
 
struct  get_private_archived_threads_data
 For collecting protected archived threads from a given channel. More...
 
struct  get_public_archived_threads_data
 For collecting puiblic archived threads from a given channel. More...
 
struct  get_reactions_data
 For getting all of the reactions. More...
 
struct  get_role_data
 For getting a role_data from the library's cache, or the discord server. More...
 
struct  get_stage_instance_data
 For collecting a single stage_instance_data. More...
 
struct  get_sticker_data
 For getting a sticker_data object for the given sticker id. More...
 
struct  get_thread_member_data
 For collecting a thread_member responseData structure for a given thread_member. More...
 
struct  get_thread_members_data
 For collecting the list of thread_members from a thread_data. More...
 
struct  get_user_data
 For getting user_data responseData from the library's cache or the discord server. More...
 
struct  get_web_hook_data
 Collects a single web_hook_data. More...
 
struct  get_web_hook_message_data
 For getting a web_hook message_data. More...
 
struct  get_web_hook_with_token_data
 Collects a single web_hook_data, using the token and snowflake. More...
 
class  guild_application_command_permission_data
 Guild application command permissions data. More...
 
class  guild_application_command_permissions_data
 Represents the permissions for accessing an application_command_data from within a guild. More...
 
class  guild_cache_data
 Data structure representing a single guild, for the purposes of populating the cache. More...
 
class  guild_data
 A discord guild. used to connect to/disconnect from voice. More...
 
struct  guild_emojis_update_event_data
 Data representing a guild emoji update event. More...
 
class  guild_member_cache_data
 Data structure representing a single guild_member_data. More...
 
class  guild_member_data
 Data structure representing a single guild_member_data. More...
 
class  guild_members
 An interface class for the guild_member_data related discord endpoints. More...
 
struct  guild_preview_data
 Data representing a single guild preview. More...
 
struct  guild_prune_count_data
 Guild prune count data. More...
 
class  guild_scheduled_event_data
 Data representing a guild scheduled event. More...
 
struct  guild_scheduled_event_metadata
 Guild scheduled event entity metadata. More...
 
struct  guild_scheduled_event_user_data
 Data representing a single guild_scheduled_event_user. More...
 
class  guild_scheduled_events
 An interface class for the guild_scheduled_event_data related discord endpoints. More...
 
struct  guild_stickers_update_event_data
 Data representing a guild stickers update event. More...
 
struct  guild_template_data
 Represents a guild template. More...
 
struct  guild_widget_data
 Guild widget data. More...
 
struct  guild_widget_image_data
 Guild widget image data. More...
 
class  guilds
 An interface class for the guild_data related discord endpoints. More...
 
class  input_event_data
 Data representing an input-event, which is any message or interaction that is coming into the bot as an input. More...
 
class  input_events
 For handling user_data input - messages or interactions. More...
 
struct  install_params_data
 Install params data, for application data. More...
 
class  integration_data
 Integration data. More...
 
struct  interaction_callback_data
 Interaction application_command_data callback data. More...
 
class  interaction_data
 Interaction data. More...
 
struct  interaction_data_data
 Interaction data data. More...
 
struct  interaction_package_data
 For storing interaction-related values. More...
 
struct  interaction_response_data
 Interaction response data. More...
 
class  interactions
 An interface class for the interaction_data related discord endpoints. More...
 
struct  invite_data
 Invite data. More...
 
struct  join_thread_data
 For joining a thread_data. More...
 
struct  leave_guild_data
 For leaving a particular guild. More...
 
struct  leave_thread_data
 For leaving a thread_data. More...
 
struct  list_auto_moderation_rules_for_guild_data
 For listing all of the auto-moderation-rules for a particular guild . More...
 
struct  list_guild_members_data
 For listing the guild_members of a chosen guild. More...
 
struct  logging_options
 Loggin options for the library. More...
 
struct  message_activity_data
 Message activity data. More...
 
class  message_data
 Data structure representing a single message_data. More...
 
class  message_data_old
 The core of a message's data structure. More...
 
class  message_interaction_data
 Message interaction data. More...
 
struct  message_package_data
 For storing message_data-related values. More...
 
class  message_printer
 Class for printing different types of messages to output and error streams. More...
 
struct  message_reference_data
 Message reference data. More...
 
class  message_response_base
 Message response base, for responding to messages. More...
 
class  messages
 An interface class for the message_data related discord endpoints. More...
 
class  modal_collector
 Modal_collector, for collecting modal text input from one or more users. More...
 
struct  modal_response_data
 Button response data. More...
 
struct  modify_auto_moderation_rule_data
 For modifying an auto-moderation-rule. More...
 
struct  modify_channel_data
 For modifying a channel's properties. More...
 
struct  modify_current_guild_member_data
 For modifying the current guild_member_data's values. More...
 
struct  modify_current_user_data
 For modifying the bot's user_data responseData. More...
 
struct  modify_current_user_voice_state_data
 For updating the bot's current voice state. More...
 
struct  modify_guild_channel_position_data
 For modifying the channel_data position responseData of a single channel_data. More...
 
struct  modify_guild_channel_positions_data
 For modifying the current positions of one or more channels in the guild_data. More...
 
struct  modify_guild_data
 For modifying the properties of a chosen guild. More...
 
struct  modify_guild_emoji_data
 for modifying a guild emoji. More...
 
struct  modify_guild_member_data
 For modifying a guild_member's values. More...
 
struct  modify_guild_role_data
 For updating a role_data's options within a chosen guild. More...
 
struct  modify_guild_role_positions_data
 For updating the role_data positions. More...
 
struct  modify_guild_scheduled_event_data
 For modifying a single guild scheduled event. More...
 
struct  modify_guild_sticker_data
 For modifying a single sticker_data. More...
 
struct  modify_guild_template_data
 For modifying a guild template. More...
 
struct  modify_guild_welcome_screen_data
 For modifying a guild's welcome screen. More...
 
struct  modify_guild_widget_data
 For modifying a guild's widget. More...
 
struct  modify_stage_instance_data
 For modifying a single stage_instance_data. More...
 
struct  modify_user_voice_state_data
 For modifying a user's voice state. More...
 
struct  modify_web_hook_data
 For modifying a web_hook. More...
 
struct  modify_web_hook_with_token_data
 For modifying a web_hook. More...
 
class  new_thread_awaiter
 An awaitable that can be used to launch the co_routine onto a new thread - as well as return the handle for stoppping its execution. More...
 
class  object_cache
 A template class representing an object cache. More...
 
class  object_collector
 Object collector, for collecting objects from a channel. More...
 
struct  on_application_command_permissions_update_data
 Data that is received as part of an application_command_permissions update event. More...
 
struct  on_auto_complete_entry_data
 Data that is received upon the bot receiving an autocomplete entry. More...
 
struct  on_auto_moderation_action_execution_data
 Data that is received as part of an auto_moderation_action execution event. More...
 
struct  on_auto_moderation_rule_creation_data
 Data that is received as part of an auto_moderation_rule_data creation event. More...
 
struct  on_auto_moderation_rule_deletion_data
 Data that is received as part of an auto_moderation_rule_data delete event. More...
 
struct  on_auto_moderation_rule_update_data
 Data that is received as part of an auto_moderation_rule_data update event. More...
 
struct  on_channel_creation_data
 Data that is received as part of a channel creation event. More...
 
struct  on_channel_deletion_data
 Data that is received as part of a channel deletion event. More...
 
struct  on_channel_pins_update_data
 Data that is received as part of a channel pins update event. More...
 
struct  on_channel_update_data
 Data that is received as part of a channel update event. More...
 
struct  on_gateway_ping_data
 Data that is received as part of a gateway ping event. More...
 
struct  on_guild_ban_add_data
 Data that is received as part of a guild ban add event. More...
 
struct  on_guild_ban_remove_data
 Data that is received as part of a guild ban add event. More...
 
struct  on_guild_creation_data
 Data that is received as part of a guild creation event. More...
 
struct  on_guild_deletion_data
 Data that is received as part of a guild deletion event. More...
 
struct  on_guild_emojis_update_data
 Data that is received as part of a guild emojis update event. More...
 
struct  on_guild_integrations_update_data
 Data that is received as part of a guild integration update event. More...
 
struct  on_guild_member_add_data
 Data that is received as part of a guild_member add event. More...
 
struct  on_guild_member_remove_data
 Data that is received as part of a guild_member remove event. More...
 
struct  on_guild_member_update_data
 Data that is received as part of a guild_member update event. More...
 
struct  on_guild_members_chunk_data
 Data that is received as part of a guild_members chunk event. More...
 
struct  on_guild_scheduled_event_creation_data
 Data that is received as part of a guild_scheduled_event_data creation event. More...
 
struct  on_guild_scheduled_event_deletion_data
 Data that is received as part of a guild_scheduled_event_data delete event. More...
 
struct  on_guild_scheduled_event_update_data
 Data that is received as part of a guild_scheduled_event_data update event. More...
 
struct  on_guild_scheduled_event_user_add_data
 Data that is received as part of a guild_scheduled_event_data user add event. More...
 
struct  on_guild_scheduled_event_user_remove_data
 Data that is received as part of a guild_scheduled_event_data user remove event. More...
 
struct  on_guild_stickers_update_data
 Data that is received as part of a guild sticker update event. More...
 
struct  on_guild_update_data
 Data that is received as part of a guild update event. More...
 
struct  on_input_event_creation_data
 Data that is received as part of an input_event creation event. More...
 
struct  on_integration_creation_data
 Data that is received as part of an integration creation event. More...
 
struct  on_integration_deletion_data
 Data that is received as part of an integration deletion event. More...
 
struct  on_integration_update_data
 Data that is received as part of an integration update event. More...
 
struct  on_interaction_creation_data
 Data that is received as part of an interaction creation event. More...
 
struct  on_invite_creation_data
 Data that is received as part of an invite creation event. More...
 
struct  on_invite_deletion_data
 Data that is received as part of an invite deletion event. More...
 
struct  on_message_creation_data
 Data that is received as part of a message creation event. More...
 
struct  on_message_delete_bulk_data
 Data that is received as part of a message delete bulk event. More...
 
struct  on_message_deletion_data
 Data that is received as part of a message deletion event. More...
 
struct  on_message_update_data
 Data that is received as part of a message update event. More...
 
struct  on_presence_update_data
 Data that is received as part of a presence update event. More...
 
struct  on_reaction_add_data
 Data that is received as part of a reaction add event. More...
 
struct  on_reaction_remove_all_data
 Data that is received as part of a reaction remove all event. More...
 
struct  on_reaction_remove_data
 Data that is received as part of a reaction remove event. More...
 
struct  on_reaction_remove_emoji_data
 Data that is received as part of a reaction remove emoji event. More...
 
struct  on_role_creation_data
 Data that is received as part of a role_data creation event. More...
 
struct  on_role_deletion_data
 Data that is received as part of a role_data deletion event. More...
 
struct  on_role_update_data
 Data that is received as part of a role_data update event. More...
 
struct  on_stage_instance_creation_data
 Data that is received as part of a stage_instance_data creation event. More...
 
struct  on_stage_instance_deletion_data
 Data that is received as part of a stage_instance_data deletion event. More...
 
struct  on_stage_instance_update_data
 Data that is received as part of a stage_instance_data update event. More...
 
struct  on_thread_creation_data
 Data that is received as part of a thread_data creation event. More...
 
struct  on_thread_deletion_data
 Data that is received as part of a thread_data deletion event. More...
 
struct  on_thread_list_sync_data
 Data that is received as part of a thread_data list sync event. More...
 
struct  on_thread_member_update_data
 Data that is received as part of a thread_data member update event. More...
 
struct  on_thread_members_update_data
 Data that is received as part of a thread_data members update event. More...
 
struct  on_thread_update_data
 Data that is received as part of a thread_data update event. More...
 
struct  on_typing_start_data
 Data that is received as part of a typing start event. More...
 
struct  on_user_update_data
 Data that is received as part of a user update event. More...
 
struct  on_voice_server_update_data
 Data that is received as part of a voice server update event. More...
 
struct  on_voice_state_update_data
 Data that is received as part of a voice state update event. More...
 
struct  on_webhook_update_data
 Data that is received as part of a web_hook update event. More...
 
class  optional_audit_entry_info_data
 audit log entry info data More...
 
class  over_write_data
 A permission_types overwrite, for a given channel. More...
 
class  partial_emoji_data
 Data structure representing a single emoji. More...
 
class  permissions_base
 Permissions_base class, for representing and manipulating permission values. More...
 
struct  pin_message_data
 For pinning a single message_data. More...
 
struct  playlist
 Playlist of songs and other variables. More...
 
struct  presence_update_data
 Presence update data. More...
 
class  reaction_data
 /// data structure representing a single reaction. More...
 
struct  reaction_remove_data
 For removing a reaction. More...
 
class  reactions
 An interface class for the reaction_data related discord endpoints. More...
 
struct  remove_guild_ban_data
 For removing a previous created ban. More...
 
struct  remove_guild_member_data
 For removing a guild_member from a chosen guild. More...
 
struct  remove_guild_member_role_data
 For removing a role_data from a guild_member. More...
 
struct  remove_guild_role_data
 For removing a role_data from a chosen guild. More...
 
struct  remove_recipient_from_group_dmdata
 For removing a user from a group dm. More...
 
struct  remove_thread_member_data
 For removing a chosen user_data from a thread_data. More...
 
struct  repeated_function_data
 Function data for repeated functions to be loaded. More...
 
struct  resolved_data
 Resolved data. More...
 
class  respond_to_input_event_data
 Data for responding to an input-event. More...
 
class  role_cache_data
 Data structure representing a single role_data. More...
 
class  role_data
 a single role_data. More...
 
struct  role_position_data
 For updating the positions of the roles. More...
 
struct  role_tags_data
 Role_data tags data. More...
 
class  roles
 An interface class for the role_data related discord endpoints. More...
 
struct  search_guild_members_data
 For searching for one or more guild_members within a chosen guild. More...
 
class  select_menu_collector
 Select_menu_collector, for collecting select-menu input from one or more users. More...
 
struct  select_menu_response_data
 Select menu response data. More...
 
class  select_option_data
 Represents a single selection from a select-menu. More...
 
class  send_dmdata
 For sending a direct-message. More...
 
struct  session_start_data
 Data from the session_start info. More...
 
struct  sharding_options
 Sharding options for the library. More...
 
class  snowflake
 A class representing a snowflake identifier with various operations. More...
 
class  song_api
 A class representing the song apis. More...
 
struct  song_completion_event_data
 Song completion event data. More...
 
class  stage_instance_data
 Stage instance data. More...
 
class  stage_instances
 An interface class for the stage_instance_data related discord endpoints. More...
 
struct  start_thread_in_forum_channel_data
 For starting a thread_data, in a forum channel. More...
 
struct  start_thread_with_message_data
 For starting a thread_data, based on a message. More...
 
struct  start_thread_without_message_data
 For starting a thread_data, not based on a message. More...
 
class  sticker_data
 Data representing a single sticker_data. More...
 
class  sticker_item_data
 Message sticker_data item data. More...
 
struct  sticker_pack_data
 Represents a sticker_data pack. More...
 
class  stickers
 An interface class for the sticker_data related discord endpoints. More...
 
struct  stream_info
 For connecting two bots to stream the vc contents between the two. More...
 
struct  sync_guild_template_data
 For syncing a guild template. More...
 
struct  team_members_object_data
 Team members object data. More...
 
class  team_object_data
 Team object data. More...
 
class  thread_data
 Represents a single thread_data. More...
 
struct  thread_list_sync_data
 Data for when threads are synced. More...
 
class  thread_member_data
 Data for a single member of a thread_data. More...
 
class  thread_members_update_data
 Represents a thread_data-members-update. More...
 
struct  thread_metadata_data
 Meta data for a thread_data type of channel_data. More...
 
class  threads
 An interface class for the thread_data related endpoints. More...
 
class  time_stamp
 A class that extends time_stamp_base to provide additional functionality. More...
 
class  time_stamp_base
 A base class for handling time stamps and conversions. More...
 
struct  timeout_guild_member_data
 For timing out a guild_member. More...
 
class  to_entity
 A class for converting snowflake id's into the data structures they represent. More...
 
struct  trigger_meta_data
 Trigger metadata for auto-moderation-rules. More...
 
struct  trigger_typing_indicator_data
 For triggering the typing indicator in a given channel. More...
 
struct  typing_start_data
 Representing "typing_start" data. More...
 
class  unbounded_message_block
 A thread-safe messaging block for data-structures. More...
 
struct  unicode_emoji
 
class  unique_ptr
 A smart pointer class that provides unique ownership semantics. More...
 
class  unique_ptr< value_type[], deleter >
 Specialization of unique_ptr for arrays. More...
 
struct  unpin_message_data
 For unpinning a single message_data. More...
 
struct  update_channel_data
 For updating/modifying a given channel's properties. More...
 
struct  update_presence_data
 For updating a user's presence. More...
 
struct  update_voice_state_data
 For updating the current voice state. More...
 
struct  update_voice_state_data_dc
 For updating the current voice state. More...
 
class  user_cache_data
 A single user_data. More...
 
class  user_data
 A single user_data. More...
 
class  users
 An interface class for the user_data related discord endpoints. More...
 
struct  voice_connect_init_data
 For connecting to a voice-channel. "streamInfo" is used when a SOCKET is created to connect this bot to another bot, for transmitting audio back and forth. More...
 
class  voice_connection
 voice_connection class - represents the connection to a given voice channel_data. More...
 
struct  voice_region_data
 Structure representing voice region data. More...
 
struct  voice_state_data
 Voice state data. More...
 
struct  voice_state_data_light
 Voice state data. More...
 
class  voice_websocket_close
 Voice websocket close codes. More...
 
class  web_hook_data
 Web_hook_data data. More...
 
class  web_hooks
 An interface class for the web_hook_data related discord endpoints;. More...
 
struct  welcome_screen_channel_data
 Welcome screen channel_data data. More...
 
struct  welcome_screen_data
 Welcome screen data. More...
 

Typedefs

template<typename value_type >
using object_filter = std::function< bool(value_type)>
 Typedef for the message filter.
 

Enumerations

enum class  action_type : uint8_t { action_type::Block_Message = 1 , action_type::Send_Alert_Message = 2 , action_type::Timeout = 3 }
 Action types for auto-moderation. More...
 
enum class  activity_type : uint8_t {
  activity_type::game = 0 , activity_type::streaming = 1 , activity_type::listening = 2 , activity_type::watching = 3 ,
  activity_type::custom = 4 , activity_type::competing = 5
}
 Activity types. More...
 
enum class  afk_time_out_durations : uint16_t {
  afk_time_out_durations::Shortest = 60 , afk_time_out_durations::Short = 300 , afk_time_out_durations::Medium = 900 , afk_time_out_durations::Long = 1800 ,
  afk_time_out_durations::Longest = 3600
}
 Afk timeout durations. More...
 
enum class  application_command_option_type : uint8_t {
  application_command_option_type::Sub_Command = 1 , application_command_option_type::Sub_Command_Group = 2 , application_command_option_type::String = 3 , application_command_option_type::Integer = 4 ,
  application_command_option_type::Boolean = 5 , application_command_option_type::User_Data = 6 , application_command_option_type::Channel_Data = 7 , application_command_option_type::Role_Data = 8 ,
  application_command_option_type::Mentionable = 9 , application_command_option_type::Number = 10 , application_command_option_type::Attachment = 11
}
 Application command-option types. More...
 
enum class  application_command_permission_type : uint8_t { application_command_permission_type::Role_Data = 1 , application_command_permission_type::User_Data = 2 , application_command_permission_type::Channel_Data = 3 }
 Application command permission-types. More...
 
enum class  application_command_type : uint8_t { application_command_type::Chat_Input = 1 , application_command_type::User_Data = 2 , application_command_type::Message = 3 }
 Application command types. More...
 
enum class  application_flags : uint32_t {
  application_flags::Gateway_Presence = 1 << 12 , application_flags::Gateway_Presence_Limited = 1 << 13 , application_flags::Gateway_Guild_Members = 1 << 14 , application_flags::Gateway_Guild_Members_Limited = 1 << 15 ,
  application_flags::Verificatino_Pending_Guild_Limit = 1 << 16 , application_flags::embedded = 1 << 17 , application_flags::Gateway_Message_Content = 1 << 18 , application_flags::Gateway_Message_Content_Limited = 1 << 19
}
 application flags, for the application_data structure. More...
 
enum class  audio_frame_type : uint8_t { audio_frame_type::unset = 0 , audio_frame_type::raw_pcm = 1 , audio_frame_type::encoded = 2 }
 Audio frame types. More...
 
enum class  audit_log_event : uint8_t {
  audit_log_event::Guild_Update = 1 , audit_log_event::Channel_Create = 10 , audit_log_event::Channel_Update = 11 , audit_log_event::Channel_Delete = 12 ,
  audit_log_event::Channel_Overwrite_Create = 13 , audit_log_event::Channel_Overwrite_Update = 14 , audit_log_event::Channel_Overwrite_Delete = 15 , audit_log_event::Member_Kick = 20 ,
  audit_log_event::Member_Prune = 21 , audit_log_event::Member_Ban_Add = 22 , audit_log_event::Member_Ban_Remove = 23 , audit_log_event::Member_Update = 24 ,
  audit_log_event::Member_Role_Update = 25 , audit_log_event::Member_Move = 26 , audit_log_event::Member_Disconnect = 27 , audit_log_event::Bot_Add = 28 ,
  audit_log_event::Role_Create = 30 , audit_log_event::Role_Update = 31 , audit_log_event::Role_Delete = 32 , audit_log_event::Invite_Create = 40 ,
  audit_log_event::Invite_Update = 41 , audit_log_event::Invite_Delete = 42 , audit_log_event::Webhook_Create = 50 , audit_log_event::Webhook_Update = 51 ,
  audit_log_event::Webhook_Delete = 52 , audit_log_event::Emoji_Create = 60 , audit_log_event::Emoji_Update = 61 , audit_log_event::Emoji_Delete = 62 ,
  audit_log_event::Message_Delete = 72 , audit_log_event::Message_Bulk_Delete = 73 , audit_log_event::Message_Pin = 74 , audit_log_event::Message_Unpin = 75 ,
  audit_log_event::Integration_Create = 80 , audit_log_event::Integration_Update = 81 , audit_log_event::Integration_Delete = 82 , audit_log_event::Stage_Instance_Create = 83 ,
  audit_log_event::Stage_Instance_Update = 84 , audit_log_event::Stage_Instance_Delete = 85 , audit_log_event::Sticker_Create = 90 , audit_log_event::Sticker_Update = 91 ,
  audit_log_event::Sticker_Delete = 92 , audit_log_event::Guild_Scheduled_Event_Create = 100 , audit_log_event::Guild_Scheduled_Event_Update = 101 , audit_log_event::Guild_Scheduled_Event_Delete = 102 ,
  audit_log_event::Thread_Create = 110 , audit_log_event::Thread_Update = 111 , audit_log_event::Thread_Delete = 112 , audit_log_event::Application_Command_Permission_Update = 121 ,
  audit_log_event::Auto_Moderation_Rule_Create = 140 , audit_log_event::Auto_Moderation_Rule_Update = 141 , audit_log_event::Auto_Moderation_Rule_Delete = 142 , audit_log_event::Auto_Moderation_Block_Message = 143
}
 Audit log events. More...
 
enum class  button_style : uint8_t {
  button_style::Primary = 1 , button_style::Success = 3 , button_style::Secondary = 2 , button_style::Danger = 4 ,
  button_style::Link = 5
}
 Button styles. More...
 
enum class  channel_type : uint8_t {
  channel_type::Guild_Text = 0 , channel_type::Dm = 1 , channel_type::Guild_Voice = 2 , channel_type::Group_DM = 3 ,
  channel_type::Guild_Category = 4 , channel_type::Guild_Announcement = 5 , channel_type::Announcement_Thread = 10 , channel_type::Public_Thread = 11 ,
  channel_type::Private_Thread = 12 , channel_type::Guild_Stage_Voice = 13 , channel_type::Guild_Directory = 14 , channel_type::Guild_Forum = 15
}
 Channel_data types. More...
 
enum class  co_routine_status { co_routine_status::idle = 0 , co_routine_status::running = 1 , co_routine_status::complete = 2 , co_routine_status::cancelled = 3 }
 The current status of the associated co_routine. More...
 
enum class  component_type : uint8_t {
  component_type::Action_Row = 1 , component_type::Button = 2 , component_type::String_Select = 3 , component_type::Text_Input = 4 ,
  component_type::User_Select = 5 , component_type::Role_Select = 6 , component_type::Mentionable_Select = 7 , component_type::Channel_Select = 8
}
 Component types. More...
 
enum class  connection_visibility_types : uint8_t { connection_visibility_types::None = 0 , connection_visibility_types::Everyone = 1 }
 Connection visibility types. More...
 
enum class  default_message_notification_level : uint8_t { default_message_notification_level::All_Messages = 0 , default_message_notification_level::Only_Mentions = 1 }
 Default message notification levels. More...
 
enum class  embed_type : uint8_t {
  embed_type::Rich = 0 , embed_type::Image = 1 , embed_type::Video = 2 , embed_type::Gifv = 3 ,
  embed_type::Article = 4 , embed_type::Link = 5
}
 Embed types. More...
 
enum class  event_type : uint8_t { event_type::Message_Send = 1 }
 Event types for auto-moderation. More...
 
enum class  explicit_content_filter_level : uint8_t { explicit_content_filter_level::Disabled = 0 , explicit_content_filter_level::Members_Without_Roles = 1 , explicit_content_filter_level::All_Members = 2 }
 Explicit content filter levels. More...
 
enum class  forum_layout_types { forum_layout_types::Not_set = 0 , forum_layout_types::List_View = 1 , forum_layout_types::Gallery_View = 2 }
 forum layout types. More...
 
enum class  gateway_intents : uint32_t {
  gateway_intents::guilds = 1 << 0 , gateway_intents::Guild_Members = 1 << 1 , gateway_intents::Guild_Bans = 1 << 2 , gateway_intents::Guild_Emojis = 1 << 3 ,
  gateway_intents::Guild_Integrations = 1 << 4 , gateway_intents::Guild_Webhooks = 1 << 5 , gateway_intents::Guild_Invites = 1 << 6 , gateway_intents::Guild_VoiceStates = 1 << 7 ,
  gateway_intents::Guild_Presences = 1 << 8 , gateway_intents::Guild_Messages = 1 << 9 , gateway_intents::Guild_Message_Reactions = 1 << 10 , gateway_intents::Guild_Message_Typing = 1 << 11 ,
  gateway_intents::Direct_Messages = 1 << 12 , gateway_intents::Direct_Message_Reactions = 1 << 13 , gateway_intents::Direct_Message_Typing = 1 << 14 , gateway_intents::Message_Content = 1 << 15 ,
  gateway_intents::Guild_Scheduled_Events = 1 << 16 , Auto_Moderation_Configuration = 1 << 20 , gateway_intents::Auto_Moderation_Execution = 1 << 21 , gateway_intents::Default_Intents ,
  gateway_intents::Privileged_Intents = Guild_Members | Guild_Presences | Message_Content , gateway_intents::All_Intents = Default_Intents | Privileged_Intents
}
 Gateway intents. More...
 
enum class  guild_flags : uint8_t {
  guild_flags::Widget_enabled = 1 << 0 , guild_flags::Unavailable = 1 << 1 , guild_flags::Owner = 1 << 2 , guild_flags::Large = 1 << 3 ,
  guild_flags::Premium_Progress_Bar_Enabled = 1 << 4
}
 Guild flags. More...
 
enum class  guild_nsfwlevel : uint8_t { guild_nsfwlevel::Default = 0 , guild_nsfwlevel::Explicit = 1 , guild_nsfwlevel::Safe = 2 , guild_nsfwlevel::Age_Restricted = 3 }
 Guild nsfw level. More...
 
enum class  guild_scheduled_event_entity_type : uint8_t { guild_scheduled_event_entity_type::None = 0 , guild_scheduled_event_entity_type::State_Instance = 1 , guild_scheduled_event_entity_type::Voice = 2 , guild_scheduled_event_entity_type::External = 3 }
 Guild scheduled event entity types. More...
 
enum class  guild_scheduled_event_privacy_level : uint8_t { guild_scheduled_event_privacy_level::Public = 1 , guild_scheduled_event_privacy_level::Guild_Only = 2 }
 Guild scheduled event privacy levels. More...
 
enum class  guild_scheduled_event_status : uint8_t { guild_scheduled_event_status::Scheduled = 1 , guild_scheduled_event_status::Active = 2 , guild_scheduled_event_status::Completed = 3 , guild_scheduled_event_status::Canceled = 4 }
 Guild_scheduled_event_status. More...
 
enum class  input_event_response_type : uint8_t {
  input_event_response_type::unset = 0 , Deferred_Response = 1 , input_event_response_type::Ephemeral_Deferred_Response = 2 , input_event_response_type::Interaction_Response = 3 ,
  input_event_response_type::Ephemeral_Interaction_Response = 4 , input_event_response_type::Edit_Interaction_Response = 5 , input_event_response_type::Follow_Up_Message = 6 , input_event_response_type::Ephemeral_Follow_Up_Message = 7 ,
  input_event_response_type::Edit_Follow_Up_Message = 8 , input_event_response_type::Application_Command_AutoComplete_Result = 9 , input_event_response_type::Modal_Interaction_Response = 10
}
 Input event response types. More...
 
enum class  interaction_callback_type : uint8_t {
  interaction_callback_type::Pong = 1 , interaction_callback_type::Channel_Message_With_Source = 4 , interaction_callback_type::Deferred_Channel_Message_With_Source = 5 , interaction_callback_type::Deferred_Update_Message = 6 ,
  interaction_callback_type::Update_Message = 7 , interaction_callback_type::Application_Command_Autocomplete_Result = 8 , interaction_callback_type::Modal = 9
}
 Interaction callback types. More...
 
enum class  interaction_type : uint8_t {
  interaction_type::Ping = 1 , interaction_type::Application_Command = 2 , interaction_type::Message_Component = 3 , interaction_type::Application_Command_Autocomplete = 4 ,
  interaction_type::Modal_Submit = 5
}
 Interaction types. More...
 
enum class  invite_target_types : uint8_t { invite_target_types::Stream = 1 , invite_target_types::Embedded_Application = 2 }
 Invite target types. More...
 
enum class  keyword_preset_type : uint8_t { keyword_preset_type::Profanity = 1 , keyword_preset_type::Sexual_Content = 2 , keyword_preset_type::Slurs = 3 }
 Keyword preset types for auto-moderation. More...
 
enum class  message_activity_type : uint8_t { message_activity_type::Join = 1 , message_activity_type::Spectate = 2 , message_activity_type::Listen = 3 , message_activity_type::Join_Request = 5 }
 Message activity types. More...
 
enum class  message_flags : uint8_t {
  message_flags::Crossposted = 1 << 0 , message_flags::Is_Crosspost = 1 << 1 , message_flags::Suppress_Embeds = 1 << 2 , message_flags::Source_Message_Deleted = 1 << 3 ,
  message_flags::Urgent = 1 << 4 , message_flags::Has_Thread = 1 << 5 , message_flags::Ephemeral = 1 << 6 , message_flags::Loading = 1 << 7
}
 Message flags. More...
 
enum class  message_type : uint8_t {
  message_type::Default = 0 , message_type::Recipient_Add = 1 , message_type::Recipient_Remove = 2 , message_type::Call = 3 ,
  message_type::Channel_Name_Change = 4 , message_type::Channel_Icon_Change = 5 , message_type::Channel_Pinned_Message = 6 , message_type::Guild_Member_Join = 7 ,
  message_type::User_Premium_Guild_Subscription = 8 , message_type::User_Premium_Guild_Subscription_Tier_1 = 9 , message_type::User_Premium_Guild_Subscription_Tier_2 = 10 , message_type::User_Premium_Guild_Subscription_Tier_3 = 11 ,
  message_type::Channel_Follow_Add = 12 , message_type::Guild_Discovery_Disqualified = 14 , message_type::Guild_Discovery_Requalified = 15 , message_type::Guild_Discovery_Grace_Period_Initial_Warning = 16 ,
  message_type::Guild_Discovery_Grace_Period_Final_Warning = 17 , message_type::Thread_Created = 18 , message_type::Reply = 19 , message_type::Chat_Input_Command = 20 ,
  message_type::Thread_Starter_Message = 21 , message_type::Guild_Invite_Reminder = 22 , message_type::Context_Menu_Command = 23
}
 Message types. More...
 
enum class  mfalevel : uint8_t { mfalevel::None = 0 , mfalevel::Elevated = 1 }
 Mfa levels. More...
 
enum class  permission : uint64_t {
  permission::Create_Instant_Invite = 0x0000000000000001 , permission::Kick_Members = 0x0000000000000002 , permission::Ban_Members = 0x0000000000000004 , permission::administrator = 0x0000000000000008 ,
  permission::Manage_Channels = 0x0000000000000010 , permission::Manage_Guild = 0x0000000000000020 , permission::Add_Reactions = 0x0000000000000040 , permission::View_Audit_Log = 0x0000000000000080 ,
  permission::Priority_Speaker = 0x0000000000000100 , permission::stream = 0x0000000000000200 , permission::View_Channel = 0x0000000000000400 , permission::Send_Messages = 0x0000000000000800 ,
  permission::Send_TTS_Messages = 0x0000000000001000 , permission::Manage_Messages = 0x0000000000002000 , permission::Embed_Links = 0x0000000000004000 , permission::Attach_Files = 0x0000000000008000 ,
  permission::Read_Message_History = 0x0000000000010000 , permission::Mention_Everyone = 0x0000000000020000 , permission::Use_External_Emojis = 0x0000000000040000 , permission::View_Guild_Insights = 0x0000000000080000 ,
  permission::connect = 0x0000000000100000 , permission::speak = 0x0000000000200000 , permission::Mute_Members = 0x0000000000400000 , permission::Deafen_Members = 0x0000000000800000 ,
  permission::Move_Members = 0x0000000001000000 , permission::Use_VAD = 0x0000000002000000 , permission::Change_Nickname = 0x0000000004000000 , permission::Manage_Nicknames = 0x0000000008000000 ,
  permission::Manage_Roles = 0x0000000010000000 , permission::Manage_Webhooks = 0x0000000020000000 , permission::Manage_Guild_Expressions = 0x0000000040000000 , permission::Use_Application_Commands = 0x0000000080000000 ,
  permission::Request_to_Speak = 0x0000000100000000 , permission::Manage_Events = 0x0000000200000000 , permission::Manage_Threads = 0x0000000400000000 , permission::Create_Public_Threads = 0x0000000800000000 ,
  permission::Create_Private_Threads = 0x0000001000000000 , permission::Use_External_Stickers = 0x0000002000000000 , permission::Send_Messages_in_Threads = 0x0000004000000000 , permission::Use_Embedded_Activities = 0x0000008000000000 ,
  permission::Moderate_Members = 0x0000010000000000 , permission::View_Creator_Monetization_Analytics = 0x0000020000000000 , permission::Use_Soundboard = 0x0000040000000000 , permission::Use_External_Sounds = 0x0000200000000000 ,
  permission::Send_Voice_Messages = 0x0000400000000000
}
 Permission values, for a given channel, by role_data or guild_member_data. More...
 
enum class  permission_overwrites_type : uint8_t { permission_overwrites_type::role_data = 0 , permission_overwrites_type::user_data = 1 }
 Permission_types overwrites types. More...
 
enum class  premium_tier : uint8_t { premium_tier::None = 0 , premium_tier::Tier_1 = 1 , premium_tier::Tier_2 = 2 , premium_tier::Tier_3 = 3 }
 Premium tier levels. More...
 
enum class  premium_type : uint8_t { premium_type::None = 0 , premium_type::Nitro_Classic = 1 , premium_type::Nitro = 2 }
 Premium types denote the level of premium a user has. More...
 
enum class  song_type : uint8_t { Neutral = 0 , YouTube = 1 , SoundCloud = 2 }
 Song types. More...
 
enum class  sort_order_types { sort_order_types::Latest_Activity = 0 , sort_order_types::Creation_Date = 1 }
 The sorting order, for guild forum channels. More...
 
enum class  stage_instance_privacy_level : uint8_t { stage_instance_privacy_level::Public = 1 , stage_instance_privacy_level::Guild_Only = 2 }
 Stage instance privacy levels. More...
 
enum class  sticker_format_type : uint8_t { sticker_format_type::png = 1 , sticker_format_type::apng = 2 , sticker_format_type::lottie = 3 }
 Sticker_data format types. More...
 
enum class  sticker_item_type : uint8_t { sticker_item_type::png = 1 , sticker_item_type::apng = 2 , sticker_item_type::lottie = 3 }
 Sticker_data item types. More...
 
enum class  sticker_type : uint8_t { sticker_type::Standard = 1 , sticker_type::Guild = 2 }
 Sticker_data types. More...
 
enum class  stream_type
 For selecting the type of streamer that the given bot is, one must be one server and one of client per connection.
 
enum class  system_channel_flags : uint8_t { system_channel_flags::Suppress_Join_Notifications = 1 << 0 , system_channel_flags::Suppress_Premium_Subscriptions = 1 << 1 , system_channel_flags::Suppress_Guild_Reminder_Notifications = 1 << 2 , system_channel_flags::Suppress_Join_Notification_Replies = 1 << 3 }
 System channel flags. More...
 
enum class  text_format : uint8_t { text_format::etf = 0x00 , text_format::json = 0x01 }
 Represents which text format to use for websocket transfer. More...
 
enum class  text_input_style : uint8_t { text_input_style::Short = 1 , text_input_style::Paragraph = 2 }
 Text input style for modals. More...
 
enum class  thread_auto_archive_duration : uint16_t { thread_auto_archive_duration::Shortest = 60 , thread_auto_archive_duration::Short = 1440 , thread_auto_archive_duration::Long = 4320 , thread_auto_archive_duration::Longest = 10080 }
 Automatic thread_data archiving durations. More...
 
enum class  thread_type : uint8_t { thread_type::Guild_News_Thread = 10 , thread_type::Guild_Public_Thread = 11 , thread_type::Guild_Private_Thread = 12 }
 Thread_data types. More...
 
enum class  time_format : char {
  time_format::long_date = 'D' , time_format::long_date_time = 'F' , time_format::long_time = 'T' , time_format::short_date = 'd' ,
  time_format::short_date_time = 'f' , time_format::short_time = 't'
}
 Time formatting methods. More...
 
enum class  timeout_durations : uint16_t {
  timeout_durations::None = 0 , timeout_durations::Minute = 1 , timeout_durations::Five_Minutes = 5 , timeout_durations::Ten_Minutes = 10 ,
  timeout_durations::Hour = 60 , timeout_durations::Day = 1440 , timeout_durations::Week = 10080
}
 Timeout durations for the timeout command. More...
 
enum class  trigger_type : uint8_t { trigger_type::Keyword = 1 , trigger_type::Spam = 3 , trigger_type::Keyword_Preset = 4 , trigger_type::Mention_Spam = 5 }
 Trigger types for auto-moderation. More...
 
enum class  user_flags : uint32_t {
  user_flags::Staff = 1 << 0 , user_flags::Partner = 1 << 1 , user_flags::Hypesquad = 1 << 2 , user_flags::Bug_Hunter_Level_1 = 1 << 3 ,
  user_flags::Hypesquad_Online_House_1 = 1 << 6 , user_flags::Hypesquad_Online_House_2 = 1 << 7 , user_flags::Hypesquad_Online_House_3 = 1 << 8 , user_flags::Premium_Early_Suppoerter = 1 << 9 ,
  user_flags::Team_Pseudo_User = 1 << 10 , user_flags::Bug_Hunter_Level_2 = 1 << 14 , user_flags::Verified_Bot = 1 << 16 , user_flags::Verified_Developer = 1 << 17 ,
  user_flags::Certified_Moderator = 1 << 18 , user_flags::Bot_Https_Interactions = 1 << 19 , user_flags::Bot = 1 << 20 , user_flags::Mfaenabled = 1 << 21 ,
  user_flags::System = 1 << 22 , user_flags::Verified = 1 << 23
}
 User_data flags. More...
 
enum class  verification_level : uint8_t {
  verification_level::None = 0 , verification_level::Low = 1 , verification_level::Medium = 2 , verification_level::High = 3 ,
  verification_level::Very_High = 4
}
 /// verification levels. More...
 
enum class  voice_active_state : int8_t { connecting = 0 , playing = 1 , stopped = 2 , paused = 3 , exiting = 4 }
 For the various active states of the voice_connection class. More...
 
enum class  voice_connection_state : uint8_t {
  Collecting_Init_Data = 0 , Initializing_WebSocket = 1 , Collecting_Hello = 2 , Sending_Identify = 3 ,
  Collecting_Ready = 4 , Initializing_DatagramSocket = 5 , Sending_Select_Protocol = 6 , Collecting_Session_Description = 7
}
 For the various connection states of the voice_connection class. More...
 
enum class  voice_socket_op_codes {
  identify = 0 , Select_Protocol = 1 , Ready_Server = 2 , heartbeat = 3 ,
  Session_Description = 4 , speaking = 5 , Heartbeat_ACK = 6 , resume = 7 ,
  hello = 8 , resumed = 9 , Client_Disconnect = 13
}
 The various opcodes that could be sent/received by the voice-websocket. More...
 
enum class  web_hook_type : uint8_t { web_hook_type::Incoming = 1 , web_hook_type::Channel_Follower = 2 , web_hook_type::Application = 3 }
 Web_hook_data types. More...
 
enum class  widget_style_options : uint8_t {
  widget_style_options::Shield = 0 , widget_style_options::Banner1 = 1 , widget_style_options::Banner2 = 2 , widget_style_options::Banner3 = 3 ,
  widget_style_options::Banner4 = 4
}
 Widget style options. More...
 

Functions

DiscordCoreAPI_Dll jsonifier::string getTimeAndDate ()
 Acquires a timeStamp with the current time and date - suitable for use in message-embeds. More...
 
template<typename value_type , typename deleter = std::default_delete<value_type>, typename... arg_types, std::enable_if_t<!std::is_array_v< value_type >, int32_t > = 0>
unique_ptr< value_type, deleter > makeUnique (arg_types &&... args)
 Helper function to create a unique_ptr for a non-array object. More...
 
template<typename value_type , typename... arg_types, std::enable_if_t< std::extent_v< value_type > !=0, int32_t > = 0>
void makeUnique (arg_types &&...)=delete
 Deleted overload for creating unique_ptr for static arrays.
 
template<typename value_type , typename deleter = std::default_delete<value_type>, std::enable_if_t< std::is_array_v< value_type > &&std::extent_v< value_type >==0, int32_t > = 0>
unique_ptr< value_type, deleter > makeUnique (const uint64_t size)
 Helper function to create a unique_ptr for a dynamic array. More...
 
template<typename return_type , bool timeOut = true>
auto newThreadAwaitable ()
 An awaitable that can be used to launch the co_routine onto a new thread - as well as return the handle for stoppping its execution. More...
 

Enumeration Type Documentation

◆ song_type

enum class discord_core_api::song_type : uint8_t
strong
Enumerator
Neutral 

For either type.

YouTube 

You_tube.

SoundCloud 

Sound_cloud.

Definition at line 2985 of file FoundationEntities.hpp.

◆ voice_active_state

enum class discord_core_api::voice_active_state : int8_t
strong
Enumerator
connecting 

connecting.

playing 

Playing.

stopped 

Stopped.

paused 

Paused.

Definition at line 211 of file VoiceConnection.hpp.

◆ voice_connection_state

enum class discord_core_api::voice_connection_state : uint8_t
strong
Enumerator
Collecting_Init_Data 

collecting initialization data.

Initializing_WebSocket 

Initializing the websocket.

Collecting_Hello 

collecting the client hello.

Sending_Identify 

Sending the identify payload.

Collecting_Ready 

collecting the client ready.

Initializing_DatagramSocket 

Initializing the datagram udp SOCKET.

Sending_Select_Protocol 

Sending the select-protocol payload.

Collecting_Session_Description 

collecting the session-description payload.

Definition at line 199 of file VoiceConnection.hpp.

◆ voice_socket_op_codes

Enumerator
identify 

Begin a voice websocket connection.

Select_Protocol 

Select the voice protocol.

Ready_Server 

complete the websocket handshake.

heartbeat 

Keep the websocket connection alive.

Session_Description 

Describe the session.

speaking 

Indicate which users are speaking.

Heartbeat_ACK 

Sent to acknowledge a received client heartbeat.

resume 

Resume a connection.

hello 

Time to wait between sending heartbeats in milliseconds.

resumed 

Acknowledge a successful session resume.

Client_Disconnect 

A client has disconnected from the voice channel.

Definition at line 184 of file VoiceConnection.hpp.