D++ (DPP)  10.0.30
C++ Discord API Bot Library
guild.h File Reference
#include <dpp/export.h>
#include <dpp/user.h>
#include <dpp/emoji.h>
#include <dpp/snowflake.h>
#include <dpp/managed.h>
#include <dpp/utility.h>
#include <dpp/voicestate.h>
#include <dpp/permissions.h>
#include <string>
#include <unordered_map>
#include <dpp/json_interface.h>
Include dependency graph for guild.h:
This graph shows which files directly or indirectly include this file:

Classes

class  dpp::guild
 Represents a guild on Discord (AKA a server) More...
 
class  dpp::guild_member
 Represents dpp::user membership upon a dpp::guild. More...
 
class  dpp::guild_widget
 Represents a guild widget, simple web widget of member list. More...
 
struct  dpp::onboarding
 Represents a guild's onboarding flow. More...
 
struct  dpp::onboarding_prompt
 Represents an onboarding prompt. More...
 
struct  dpp::onboarding_prompt_option
 Represents an onboarding prompt option. More...
 
struct  dpp::welcome_channel
 Defines a channel on a server's welcome screen. More...
 
struct  dpp::welcome_screen
 Defines a server's welcome screen. More...
 

Namespaces

 dpp
 The main namespace for D++ functions.
 

Typedefs

typedef std::unordered_map< snowflake, guild > dpp::guild_map
 A container of guilds. More...
 
typedef std::unordered_map< snowflake, guild_member > dpp::guild_member_map
 A container of guild members. More...
 
typedef std::unordered_map< snowflake, guild_member > dpp::members_container
 Guild members container. More...
 

Enumerations

enum  dpp::default_message_notification_t : uint8_t {
  dpp::dmn_all = 0,
  dpp::dmn_only_mentions = 1
}
 Default message notification level. More...
 
enum  dpp::guild_afk_timeout_t : uint8_t {
  dpp::afk_off,
  dpp::afk_60,
  dpp::afk_300,
  dpp::afk_900,
  dpp::afk_1800,
  dpp::afk_3600
}
 Voice AFK timeout values for guild::afk_timeout. More...
 
enum  dpp::guild_explicit_content_t : uint8_t {
  dpp::expl_disabled = 0,
  dpp::expl_members_without_roles = 1,
  dpp::expl_all_members = 2
}
 explicit content filter level. More...
 
enum  dpp::guild_flags : uint32_t {
  dpp::g_large = 0b00000000000000000000000000000001,
  dpp::g_unavailable = 0b00000000000000000000000000000010,
  dpp::g_widget_enabled = 0b00000000000000000000000000000100,
  dpp::g_invite_splash = 0b00000000000000000000000000001000,
  dpp::g_vip_regions = 0b00000000000000000000000000010000,
  dpp::g_vanity_url = 0b00000000000000000000000000100000,
  dpp::g_verified = 0b00000000000000000000000001000000,
  dpp::g_partnered = 0b00000000000000000000000010000000,
  dpp::g_community = 0b00000000000000000000000100000000,
  dpp::g_role_subscription_enabled = 0b00000000000000000000001000000000,
  dpp::g_news = 0b00000000000000000000010000000000,
  dpp::g_discoverable = 0b00000000000000000000100000000000,
  dpp::g_featureable = 0b00000000000000000001000000000000,
  dpp::g_animated_icon = 0b00000000000000000010000000000000,
  dpp::g_banner = 0b00000000000000000100000000000000,
  dpp::g_welcome_screen_enabled = 0b00000000000000001000000000000000,
  dpp::g_member_verification_gate = 0b00000000000000010000000000000000,
  dpp::g_preview_enabled = 0b00000000000000100000000000000000,
  dpp::g_no_join_notifications = 0b00000000000001000000000000000000,
  dpp::g_no_boost_notifications = 0b00000000000010000000000000000000,
  dpp::g_has_animated_icon = 0b00000000000100000000000000000000,
  dpp::g_has_animated_banner = 0b00000000001000000000000000000000,
  dpp::g_no_setup_tips = 0b00000000010000000000000000000000,
  dpp::g_no_sticker_greeting = 0b00000000100000000000000000000000,
  dpp::g_monetization_enabled = 0b00000001000000000000000000000000,
  dpp::g_more_stickers = 0b00000010000000000000000000000000,
  dpp::g_creator_store_page_enabled = 0b00000100000000000000000000000000,
  dpp::g_role_icons = 0b00001000000000000000000000000000,
  dpp::g_seven_day_thread_archive = 0b00010000000000000000000000000000,
  dpp::g_three_day_thread_archive = 0b00100000000000000000000000000000,
  dpp::g_ticketed_events = 0b01000000000000000000000000000000,
  dpp::g_channel_banners = 0b10000000000000000000000000000000
}
 The various flags that represent the status of a dpp::guild object. More...
 
enum  dpp::guild_flags_extra : uint16_t {
  dpp::g_premium_progress_bar_enabled = 0b0000000000000001,
  dpp::g_animated_banner = 0b0000000000000010,
  dpp::g_auto_moderation = 0b0000000000000100,
  dpp::g_invites_disabled = 0b0000000000001000,
  dpp::g_developer_support_server = 0b0000000000010000,
  dpp::g_no_role_subscription_notifications = 0b0000000000100000,
  dpp::g_no_role_subscription_notification_replies = 0b0000000001000000,
  dpp::g_role_subscriptions_available_for_purchase = 0b0000000010000000,
  dpp::g_raid_alerts_disabled = 0b0000000100000000
}
 Additional boolean flag values for guild, as guild_flags is full. More...
 
enum  dpp::guild_member_flags : uint16_t {
  dpp::gm_deaf = 0b0000000000000001,
  dpp::gm_mute = 0b0000000000000010,
  dpp::gm_pending = 0b0000000000000100,
  dpp::gm_animated_avatar = 0b0000000000001000,
  dpp::gm_voice_action = 0b0000000000010000,
  dpp::gm_did_rejoin = 0b0000000000100000,
  dpp::gm_completed_onboarding = 0b0000000001000000,
  dpp::gm_bypasses_verification = 0b0000000010000000,
  dpp::gm_started_onboarding = 0b0000000100000000,
  dpp::gm_roles_action = 0b0000001000000000,
  dpp::gm_nickname_action = 0b0000010000000000
}
 Various flags that can be used to indicate the status of a guild member. More...
 
enum  dpp::guild_nsfw_level_t : uint8_t {
  dpp::nsfw_default = 0,
  dpp::nsfw_explicit = 1,
  dpp::nsfw_safe = 2,
  dpp::nsfw_age_restricted = 3
}
 Guild NSFW level. More...
 
enum  dpp::guild_premium_tier_t : uint8_t {
  dpp::tier_none = 0,
  dpp::tier_1 = 1,
  dpp::tier_2 = 2,
  dpp::tier_3 = 3
}
 The guild's premium tier. More...
 
enum  dpp::mfa_level_t : uint8_t {
  dpp::mfa_none = 0,
  dpp::mfa_elevated = 1
}
 MFA level for server. More...
 
enum  dpp::onboarding_mode : uint8_t {
  dpp::gom_default = 0,
  dpp::gom_advanced = 1
}
 The onboarding mode for the dpp::onboarding object. More...
 
enum  dpp::onboarding_prompt_flags : uint8_t {
  dpp::opf_single_select = 1 << 0,
  dpp::opf_required = 1 << 1,
  dpp::opf_in_onboarding = 1 << 2
}
 Various flags for dpp::onboarding_prompt. More...
 
enum  dpp::onboarding_prompt_type : uint8_t {
  dpp::opt_multiple_choice = 0,
  dpp::opt_dropdown = 1
}
 The various types of dpp::onboarding_prompt. More...
 
enum  dpp::region : uint8_t {
  dpp::r_brazil,
  dpp::r_central_europe,
  dpp::r_hong_kong,
  dpp::r_india,
  dpp::r_japan,
  dpp::r_russia,
  dpp::r_singapore,
  dpp::r_south_africa,
  dpp::r_sydney,
  dpp::r_us_central,
  dpp::r_us_east,
  dpp::r_us_south,
  dpp::r_us_west,
  dpp::r_western_europe
}
 Represents voice regions for guilds and channels. More...
 
enum  dpp::verification_level_t : uint8_t {
  dpp::ver_none = 0,
  dpp::ver_low = 1,
  dpp::ver_medium = 2,
  dpp::ver_high = 3,
  dpp::ver_very_high = 4
}
 Guild verification level. More...
 

Functions

guild_member DPP_EXPORT dpp::find_guild_member (const snowflake guild_id, const snowflake user_id)
 Get the guild_member from cache of given IDs. More...
 
void dpp::from_json (const nlohmann::json &j, guild_member &gm)
 helper function to deserialize a guild_member from json More...