D++ (DPP)  10.0.30
C++ Discord API Bot Library
dpp::guild Class Reference

Represents a guild on Discord (AKA a server) More...

#include "guild.h"

Inheritance diagram for dpp::guild:
Collaboration diagram for dpp::guild:

Public Member Functions

 guild ()
 Default constructor, zeroes all values. More...
 
virtual ~guild ()=default
 Destroy the guild object. More...
 
permission base_permissions (const class user *user) const
 Compute the base permissions for a member on this guild, before channel overwrites are applied. More...
 
permission base_permissions (const guild_member &member) const
 Compute the base permissions for a member on this guild, before channel overwrites are applied. More...
 
std::string build_json (bool with_id=false) const
 Convert object to json string. More...
 
bool connect_member_voice (snowflake user_id, bool self_mute=false, bool self_deaf=false)
 Connect to a voice channel another guild member is in. More...
 
guildfill_from_json (class discord_client *shard, nlohmann::json *j)
 Read class values from json object. More...
 
guildfill_from_json (nlohmann::json *j)
 Convert object from nlohmann::json. More...
 
std::string get_banner_url (uint16_t size=0, const image_type format=i_png, bool prefer_animated=true) const
 Get the banner url of the guild if it have one, otherwise returns an empty string. More...
 
constexpr double get_creation_time () const noexcept
 Get the creation time of this object according to Discord. More...
 
std::string get_discovery_splash_url (uint16_t size=0, const image_type format=i_png) const
 Get the discovery splash url of the guild if it have one, otherwise returns an empty string. More...
 
std::string get_icon_url (uint16_t size=0, const image_type format=i_png, bool prefer_animated=true) const
 Get the icon url of the guild if it have one, otherwise returns an empty string. More...
 
std::string get_splash_url (uint16_t size=0, const image_type format=i_png) const
 Get the splash url of the guild if it have one, otherwise returns an empty string. More...
 
bool has_animated_banner () const
 Guild has access to set an animated guild banner image. More...
 
bool has_animated_banner_hash () const
 Guild banner is actually an animated gif. More...
 
bool has_animated_icon () const
 Guild has access to set an animated guild icon. More...
 
bool has_animated_icon_hash () const
 Guild icon is actually an animated gif. More...
 
bool has_auto_moderation () const
 Guild has auto moderation features. More...
 
bool has_banner () const
 Guild has access to set a guild banner image. More...
 
bool has_channel_banners () const
 guild has access to channel banners feature More...
 
bool has_creator_store_page () const
 guild has enabled the role subscription promo page More...
 
bool has_invite_splash () const
 Guild has access to set an invite splash background. More...
 
bool has_invites_disabled () const
 True if has paused invites, preventing new users from joining. More...
 
bool has_member_verification_gate () const
 Guild has enabled membership screening. More...
 
bool has_monetization_enabled () const
 guild has access to monetization features More...
 
bool has_more_stickers () const
 guild has increased custom sticker slots More...
 
bool has_news () const
 Guild has access to create announcement channels. More...
 
bool has_premium_progress_bar_enabled () const
 True if the premium progress bar is enabled. More...
 
bool has_raid_alerts_disabled () const
 Guild has disabled alerts for join raids in the configured safety alerts channel. More...
 
bool has_role_icons () const
 guild is able to set role icons More...
 
bool has_role_subscriptions () const
 Has enabled role subscriptions. More...
 
bool has_role_subscriptions_available_for_purchase () const
 Guild has role subscriptions that can be purchased. More...
 
bool has_seven_day_thread_archive () const
 guild has access to the seven day archive time for threads More...
 
bool has_support_server () const
 Guild has been set as a support server on the App Directory. More...
 
bool has_three_day_thread_archive () const
 guild has access to the three day archive time for threads More...
 
bool has_ticketed_events () const
 guild has enabled ticketed events More...
 
bool has_vanity_url () const
 Guild has access to set a vanity URL. More...
 
bool has_vip_regions () const
 Guild has access to set 384kbps bitrate in voice. More...
 
bool is_community () const
 Has enabled community. More...
 
bool is_discoverable () const
 Guild is discoverable. More...
 
bool is_featureable () const
 Guild is featurable. More...
 
bool is_large () const
 Is a large server (>250 users) More...
 
bool is_partnered () const
 Guild is a discord partnered server. More...
 
bool is_preview_enabled () const
 Guild has preview enabled. More...
 
bool is_unavailable () const
 Is unavailable due to outage (most other fields will be blank or outdated. More...
 
bool is_verified () const
 Guild is a verified server. More...
 
bool is_welcome_screen_enabled () const
 Guild has enabled the welcome screen. More...
 
constexpr bool operator!= (const managed &other) const noexcept
 Comparison operator for comparing two managed objects by id. More...
 
constexpr bool operator== (const managed &other) const noexcept
 Comparison operator for comparing two managed objects by id. More...
 
permission permission_overwrites (const guild_member &member, const channel &channel) const
 Get the overall permissions for a member in this channel, including channel overwrites, role permissions and admin privileges. More...
 
permission permission_overwrites (const uint64_t base_permissions, const user *user, const channel *channel) const
 Get the overall permissions for a member in this channel, including channel overwrites, role permissions and admin privileges. More...
 
void rehash_members ()
 Rehash members map. More...
 
guildremove_banner ()
 Remove the guild banner. More...
 
guildremove_discovery_splash ()
 Remove the guild discovery splash. More...
 
guildremove_icon ()
 Remove the guild icon. More...
 
guildremove_splash ()
 Remove the guild invite splash. More...
 
guildset_banner (image_type format, const std::byte *data, uint32_t size)
 Set the guild banner image. More...
 
guildset_banner (image_type format, std::string_view data)
 Set the guild banner image. More...
 
guildset_discovery_splash (image_type format, const std::byte *data, uint32_t size)
 Set the guild discovery splash image. More...
 
guildset_discovery_splash (image_type format, std::string_view data)
 Set the guild discovery splash image. More...
 
guildset_icon (image_type format, const std::byte *data, uint32_t size)
 Set the 1024x1024 guild icon image. More...
 
guildset_icon (image_type format, std::string_view data)
 Set the guild icon image. More...
 
guildset_name (const std::string &n)
 Set the name of the guild in the object Min length: 2, Max length: 100 (not including leading/trailing spaces) More...
 
guildset_splash (image_type format, const std::byte *data, uint32_t size)
 Set the guild invite splash image. More...
 
guildset_splash (image_type format, std::string_view data)
 Set the guild invite splash image. More...
 
auto to_json (bool with_id=false) const
 Convert object to nlohmann::json. More...
 
bool widget_enabled () const
 Widget is enabled for this server. More...
 

Public Attributes

snowflake afk_channel_id
 Snowflake ID of AFK voice channel or 0. More...
 
guild_afk_timeout_t afk_timeout
 Voice AFK timeout before moving users to AFK channel. More...
 
snowflake application_id
 ID of creating application, if any, or 0. More...
 
utility::icon banner
 Server banner. More...
 
std::vector< snowflakechannels
 List of channels on this server. More...
 
default_message_notification_t default_message_notifications
 Setting for how notifications are to be delivered to users. More...
 
std::string description
 Server description. More...
 
utility::icon discovery_splash
 Guild discovery splash. More...
 
std::vector< snowflakeemojis
 List of emojis. More...
 
guild_explicit_content_t explicit_content_filter
 Whether or not explicit content filtering is enable and what setting it is. More...
 
uint32_t flags
 Flags bitmask as defined by values within dpp::guild_flags. More...
 
uint16_t flags_extra
 Additional flags (values from dpp::guild_flags_extra) More...
 
utility::icon icon
 Guild icon. More...
 
snowflake id = {}
 Unique ID of object set by Discord. More...
 
uint32_t max_members
 the maximum number of members for the guild More...
 
uint32_t max_presences
 the maximum number of presences for the guild. More...
 
uint8_t max_video_channel_users
 Maximum users in a video channel, or 0. More...
 
uint32_t member_count
 Approximate member count. More...
 
members_container members
 List of guild members. More...
 
mfa_level_t mfa_level
 If multi factor authentication is required for moderators or not. More...
 
std::string name
 Guild name. More...
 
guild_nsfw_level_t nsfw_level
 Guild NSFW level. More...
 
snowflake owner_id
 Snowflake id of guild owner. More...
 
uint16_t premium_subscription_count
 Number of boosters. More...
 
guild_premium_tier_t premium_tier
 Boost level. More...
 
snowflake public_updates_channel_id
 Public updates channel id or 0. More...
 
std::vector< snowflakeroles
 Roles defined on this server. More...
 
snowflake rules_channel_id
 ID of rules channel for communities. More...
 
snowflake safety_alerts_channel_id
 The id of the channel where admins and moderators of Community guilds receive safety alerts from Discord. More...
 
uint16_t shard_id
 Shard ID of the guild. More...
 
utility::icon splash
 Guild splash. More...
 
snowflake system_channel_id
 ID of system channel where discord update messages are sent. More...
 
std::vector< snowflakethreads
 List of threads on this server. More...
 
std::string vanity_url_code
 Vanity url code for verified or partnered servers and boost level 3. More...
 
verification_level_t verification_level
 Verification level of server. More...
 
std::map< snowflake, voicestatevoice_members
 List of members in voice channels in the guild. More...
 
dpp::welcome_screen welcome_screen
 Welcome screen. More...
 
snowflake widget_channel_id
 Snowflake ID of widget channel, or 0. More...
 

Protected Member Functions

guildfill_from_json_impl (nlohmann::json *j)
 Read class values from json object. More...
 
json to_json_impl (bool with_id=false) const
 Build a JSON from this object. More...
 

Friends

struct json_interface< guild >
 

Detailed Description

Represents a guild on Discord (AKA a server)

Constructor & Destructor Documentation

◆ guild()

dpp::guild::guild ( )

Default constructor, zeroes all values.

◆ ~guild()

virtual dpp::guild::~guild ( )
virtualdefault

Destroy the guild object.

Member Function Documentation

◆ base_permissions() [1/2]

permission dpp::guild::base_permissions ( const class user user) const

Compute the base permissions for a member on this guild, before channel overwrites are applied.

This method takes into consideration the following cases:

  • Guild owner
  • Guild roles including @everyone
Parameters
userUser to get permissions for
Returns
permission permissions bitmask. If the member has administrator privileges, the bitmask returns with all flags set
Note
Requires role cache to be enabled (it's enabled by default).
Warning
The method will search for the guild member in the cache by the users id. If the guild member is not in cache, the method will always return 0.

◆ base_permissions() [2/2]

permission dpp::guild::base_permissions ( const guild_member member) const

Compute the base permissions for a member on this guild, before channel overwrites are applied.

This method takes into consideration the following cases:

  • Guild owner
  • Guild roles including @everyone
Parameters
membermember to get permissions for
Returns
permission permissions bitmask. If the member has administrator privileges, the bitmask returns with all flags set
Note
Requires role cache to be enabled (it's enabled by default).

◆ build_json()

std::string dpp::json_interface< guild >::build_json ( bool  with_id = false) const
inlineinherited

Convert object to json string.

Parameters
with_idWhether to include the ID or not
Note
Some fields are conditionally filled, do not rely on all fields being present
Returns
std::string Json built from the structure

◆ connect_member_voice()

bool dpp::guild::connect_member_voice ( snowflake  user_id,
bool  self_mute = false,
bool  self_deaf = false 
)

Connect to a voice channel another guild member is in.

Parameters
user_idUser id to join
self_muteTrue if the bot should mute itself
self_deafTrue if the bot should deafen itself
Returns
True if the user specified is in a vc, false if they aren't
Note
This is NOT a synchronous blocking call! The bot isn't instantly ready to send or listen for audio, as we have to wait for the connection to the voice server to be established! e.g. wait for dpp::cluster::on_voice_ready event, and then send the audio within that event.

References dpp::utility::icon::as_iconhash(), banner, dpp::utility::cdn_endpoint_url_hash(), has_animated_banner_hash(), dpp::i_gif, dpp::i_jpg, dpp::i_png, dpp::i_webp, and dpp::utility::iconhash::to_string().

Here is the call graph for this function:

◆ fill_from_json() [1/2]

guild & dpp::guild::fill_from_json ( class discord_client shard,
nlohmann::json j 
)

Read class values from json object.

Parameters
shardoriginating shard
jA json object to read from
Returns
A reference to self

Referenced by dpp::invite::fill_from_json_impl().

Here is the caller graph for this function:

◆ fill_from_json() [2/2]

guild & dpp::json_interface< guild >::fill_from_json ( nlohmann::json j)
inlineinherited

Convert object from nlohmann::json.

Parameters
jnlohmann::json object
Returns
T& Reference to self for fluent calling

◆ fill_from_json_impl()

guild & dpp::guild::fill_from_json_impl ( nlohmann::json j)
protected

Read class values from json object.

Parameters
jA json object to read from
Returns
A reference to self

◆ get_banner_url()

std::string dpp::guild::get_banner_url ( uint16_t  size = 0,
const image_type  format = i_png,
bool  prefer_animated = true 
) const

Get the banner url of the guild if it have one, otherwise returns an empty string.

Parameters
sizeThe size of the banner in pixels. It can be any power of two between 16 and 4096, otherwise the default sized banner is returned.
formatThe format to use for the avatar. It can be one of i_webp, i_jpg, i_png or i_gif. Passing i_gif might result in an invalid url for non-animated images. Consider using the prefer_animated parameter instead.
prefer_animatedWhether you prefer gif format. If true, it'll return gif format whenever the image is available as animated.
Returns
std::string banner url or an empty string, if required attributes are missing or an invalid format was passed

◆ get_creation_time()

constexpr double dpp::managed::get_creation_time ( ) const
inlineconstexprnoexceptinherited

Get the creation time of this object according to Discord.

Returns
double creation time inferred from the snowflake ID. The minimum possible value is the first second of 2015.

◆ get_discovery_splash_url()

std::string dpp::guild::get_discovery_splash_url ( uint16_t  size = 0,
const image_type  format = i_png 
) const

Get the discovery splash url of the guild if it have one, otherwise returns an empty string.

Parameters
sizeThe size of the discovery splash in pixels. It can be any power of two between 16 and 4096, otherwise the default sized discovery splash is returned.
formatThe format to use for the avatar. It can be one of i_webp, i_jpg or i_png.
Returns
std::string discovery splash url or an empty string, if required attributes are missing or an invalid format was passed

◆ get_icon_url()

std::string dpp::guild::get_icon_url ( uint16_t  size = 0,
const image_type  format = i_png,
bool  prefer_animated = true 
) const

Get the icon url of the guild if it have one, otherwise returns an empty string.

Parameters
sizeThe size of the icon in pixels. It can be any power of two between 16 and 4096, otherwise the default sized icon is returned.
formatThe format to use for the avatar. It can be one of i_webp, i_jpg, i_png or i_gif. When passing i_gif, it returns an empty string for non-animated images. Consider using the prefer_animated parameter instead.
prefer_animatedWhether you prefer gif format. If true, it'll return gif format whenever the image is available as animated.
Returns
std::string icon url or an empty string, if required attributes are missing or an invalid format was passed

◆ get_splash_url()

std::string dpp::guild::get_splash_url ( uint16_t  size = 0,
const image_type  format = i_png 
) const

Get the splash url of the guild if it have one, otherwise returns an empty string.

Parameters
sizeThe size of the splash in pixels. It can be any power of two between 16 and 4096, otherwise the default sized splash is returned.
formatThe format to use for the avatar. It can be one of i_webp, i_jpg or i_png.
Returns
std::string splash url or an empty string, if required attributes are missing or an invalid format was passed

◆ has_animated_banner()

bool dpp::guild::has_animated_banner ( ) const

Guild has access to set an animated guild banner image.

Returns
bool can have animated banner image

References dpp::g_animated_icon.

◆ has_animated_banner_hash()

bool dpp::guild::has_animated_banner_hash ( ) const

Guild banner is actually an animated gif.

Returns
bool is animated gif

References dpp::g_seven_day_thread_archive.

Referenced by connect_member_voice().

Here is the caller graph for this function:

◆ has_animated_icon()

bool dpp::guild::has_animated_icon ( ) const

Guild has access to set an animated guild icon.

Returns
bool can have animated icon

References dpp::g_has_animated_icon.

◆ has_animated_icon_hash()

bool dpp::guild::has_animated_icon_hash ( ) const

Guild icon is actually an animated gif.

Returns
bool is animated gif

References dpp::g_role_icons.

◆ has_auto_moderation()

bool dpp::guild::has_auto_moderation ( ) const

Guild has auto moderation features.

Returns
bool has auto moderation features

References dpp::g_banner.

◆ has_banner()

bool dpp::guild::has_banner ( ) const

Guild has access to set a guild banner image.

Returns
bool can have banner image

References dpp::g_has_animated_banner.

◆ has_channel_banners()

bool dpp::guild::has_channel_banners ( ) const

guild has access to channel banners feature

Returns
bool has channel banners
Deprecated:
Removed by Discord

References dpp::g_news.

◆ has_creator_store_page()

bool dpp::guild::has_creator_store_page ( ) const

guild has enabled the role subscription promo page

Returns
bool has role subscription promo page enabled

◆ has_invite_splash()

bool dpp::guild::has_invite_splash ( ) const

Guild has access to set an invite splash background.

Returns
bool can have an invite splash

References dpp::g_channel_banners.

◆ has_invites_disabled()

bool dpp::guild::has_invites_disabled ( ) const

True if has paused invites, preventing new users from joining.

Returns
bool has paused invites

References dpp::g_role_subscription_enabled.

◆ has_member_verification_gate()

bool dpp::guild::has_member_verification_gate ( ) const

Guild has enabled membership screening.

Returns
bool has membership screening

References dpp::g_more_stickers.

◆ has_monetization_enabled()

bool dpp::guild::has_monetization_enabled ( ) const

guild has access to monetization features

Returns
bool

References dpp::g_three_day_thread_archive.

◆ has_more_stickers()

bool dpp::guild::has_more_stickers ( ) const

guild has increased custom sticker slots

Returns
bool has more stickers

References dpp::g_ticketed_events.

◆ has_news()

bool dpp::guild::has_news ( ) const

Guild has access to create announcement channels.

Returns
bool has announcement channels features enabled

References flags_extra, and dpp::g_developer_support_server.

◆ has_premium_progress_bar_enabled()

bool dpp::guild::has_premium_progress_bar_enabled ( ) const

True if the premium progress bar is enabled.

Returns
bool has progress bar enabled

References dpp::g_community.

◆ has_raid_alerts_disabled()

bool dpp::guild::has_raid_alerts_disabled ( ) const

Guild has disabled alerts for join raids in the configured safety alerts channel.

Returns
bool dpp::g_raid_alerts_disabled flag is set

References dpp::g_preview_enabled.

◆ has_role_icons()

bool dpp::guild::has_role_icons ( ) const

guild is able to set role icons

Returns
bool has role icons

◆ has_role_subscriptions()

bool dpp::guild::has_role_subscriptions ( ) const

Has enabled role subscriptions.

Returns
bool has enabled role subscriptions

References flags_extra, and dpp::g_auto_moderation.

◆ has_role_subscriptions_available_for_purchase()

bool dpp::guild::has_role_subscriptions_available_for_purchase ( ) const

Guild has role subscriptions that can be purchased.

Returns
bool has role subscriptions that can be purchased

References dpp::g_member_verification_gate.

◆ has_seven_day_thread_archive()

bool dpp::guild::has_seven_day_thread_archive ( ) const

guild has access to the seven day archive time for threads

Returns
bool has seven day thread archive
Deprecated:
Removed by Discord

◆ has_support_server()

bool dpp::guild::has_support_server ( ) const

Guild has been set as a support server on the App Directory.

Returns
bool has been set as a support server of an app in the app directory

References dpp::g_welcome_screen_enabled.

◆ has_three_day_thread_archive()

bool dpp::guild::has_three_day_thread_archive ( ) const

guild has access to the three day archive time for threads

Returns
bool has three day thread archive
Deprecated:
Removed by Discord

◆ has_ticketed_events()

bool dpp::guild::has_ticketed_events ( ) const

guild has enabled ticketed events

Returns
bool has ticketed events

◆ has_vanity_url()

bool dpp::guild::has_vanity_url ( ) const

Guild has access to set a vanity URL.

Returns
bool can have vanity url

References dpp::g_partnered.

◆ has_vip_regions()

bool dpp::guild::has_vip_regions ( ) const

Guild has access to set 384kbps bitrate in voice.

Returns
bool can have VIP voice regions

References dpp::g_verified.

◆ is_community()

bool dpp::guild::is_community ( ) const

Has enabled community.

Returns
bool has enabled community

References flags_extra, and dpp::g_animated_banner.

◆ is_discoverable()

bool dpp::guild::is_discoverable ( ) const

Guild is discoverable.

Returns
bool is discoverable

References flags_extra, and dpp::g_role_subscriptions_available_for_purchase.

◆ is_featureable()

bool dpp::guild::is_featureable ( ) const

Guild is featurable.

Returns
bool is featurable

References flags_extra, and dpp::g_raid_alerts_disabled.

◆ is_large()

bool dpp::guild::is_large ( ) const

Is a large server (>250 users)

Returns
bool is a large guild

References dpp::g_vanity_url.

◆ is_partnered()

bool dpp::guild::is_partnered ( ) const

Guild is a discord partnered server.

Returns
bool is discord partnered

References dpp::g_featureable.

◆ is_preview_enabled()

bool dpp::guild::is_preview_enabled ( ) const

Guild has preview enabled.

Returns
bool has preview

References dpp::g_creator_store_page_enabled.

◆ is_unavailable()

bool dpp::guild::is_unavailable ( ) const

Is unavailable due to outage (most other fields will be blank or outdated.

Returns
bool is unavailable

References flags_extra, and dpp::g_premium_progress_bar_enabled.

◆ is_verified()

bool dpp::guild::is_verified ( ) const

Guild is a verified server.

Returns
bool is verified

References dpp::g_discoverable.

◆ is_welcome_screen_enabled()

bool dpp::guild::is_welcome_screen_enabled ( ) const

Guild has enabled the welcome screen.

Returns
bool enabled welcome screen

References dpp::g_monetization_enabled.

◆ operator!=()

constexpr bool dpp::managed::operator!= ( const managed other) const
inlineconstexprnoexceptinherited

Comparison operator for comparing two managed objects by id.

Parameters
otherOther object to compare against
Returns
true objects are not the same id
false objects are the same id

◆ operator==()

constexpr bool dpp::managed::operator== ( const managed other) const
inlineconstexprnoexceptinherited

Comparison operator for comparing two managed objects by id.

Parameters
otherOther object to compare against
Returns
true objects are the same id
false objects are not the same id

◆ permission_overwrites() [1/2]

permission dpp::guild::permission_overwrites ( const guild_member member,
const channel channel 
) const

Get the overall permissions for a member in this channel, including channel overwrites, role permissions and admin privileges.

Parameters
memberThe member to resolve the permissions for
channelChannel to compute permission overwrites for
Returns
permission Permission overwrites for the member. Made of bits in dpp::permissions.
Note
Requires role cache to be enabled (it's enabled by default).

◆ permission_overwrites() [2/2]

permission dpp::guild::permission_overwrites ( const uint64_t  base_permissions,
const user user,
const channel channel 
) const

Get the overall permissions for a member in this channel, including channel overwrites, role permissions and admin privileges.

Parameters
base_permissionsbase permissions before overwrites, from guild::base_permissions
userThe user to resolve the permissions for
channelChannel to compute permission overwrites for
Returns
permission Permission overwrites for the member. Made of bits in dpp::permissions.
Note
Requires role cache to be enabled (it's enabled by default).
Warning
The method will search for the guild member in the cache by the users id. If the guild member is not in cache, the method will always return 0.

◆ rehash_members()

void dpp::guild::rehash_members ( )

Rehash members map.

◆ remove_banner()

guild & dpp::guild::remove_banner ( )

Remove the guild banner.

Returns
guild& Reference to self for chaining

References discovery_splash.

◆ remove_discovery_splash()

guild & dpp::guild::remove_discovery_splash ( )

Remove the guild discovery splash.

Returns
guild& Reference to self for chaining

References splash.

◆ remove_icon()

guild & dpp::guild::remove_icon ( )

Remove the guild icon.

Returns
guild& Reference to self for chaining

References dpp::guild_member::flags, and dpp::gm_deaf.

◆ remove_splash()

guild & dpp::guild::remove_splash ( )

Remove the guild invite splash.

Returns
guild& Reference to self for chaining

References icon.

◆ set_banner() [1/2]

guild & dpp::guild::set_banner ( image_type  format,
const std::byte *  data,
uint32_t  size 
)

Set the guild banner image.

Server needs banner feature. Must be 16:9, and depending on nitro level, must be png or jpeg. Animated gif needs the animated banner server feature.

Parameters
formatImage format.
dataImage data in bytes
sizeSize of the data in bytes
Returns
guild& Reference to self for chaining

References splash.

◆ set_banner() [2/2]

guild & dpp::guild::set_banner ( image_type  format,
std::string_view  data 
)

Set the guild banner image.

Server needs banner feature. Must be 16:9, and depending on nitro level, must be png or jpeg. Animated gif needs the animated banner server feature.

Parameters
formatImage format.
dataImage data in bytes
Returns
guild& Reference to self for chaining

References discovery_splash.

◆ set_discovery_splash() [1/2]

guild & dpp::guild::set_discovery_splash ( image_type  format,
const std::byte *  data,
uint32_t  size 
)

Set the guild discovery splash image.

Server needs discoverable feature. Must be 16:9 and png or jpeg.

Parameters
formatImage format.
dataImage data in bytes
sizeSize of the data in bytes
Returns
guild& Reference to self for chaining

References icon.

◆ set_discovery_splash() [2/2]

guild & dpp::guild::set_discovery_splash ( image_type  format,
std::string_view  data 
)

Set the guild discovery splash image.

Server needs discoverable feature. Must be 16:9 and png or jpeg.

Parameters
formatImage format.
dataImage data in bytes
Returns
guild& Reference to self for chaining

References splash.

◆ set_icon() [1/2]

guild & dpp::guild::set_icon ( image_type  format,
const std::byte *  data,
uint32_t  size 
)

Set the 1024x1024 guild icon image.

Must be png or jpeg. Gif allowed only if the server has animated icon.

Parameters
formatImage format.
dataImage data in bytes
sizeSize of the data in bytes
Returns
guild& Reference to self for chaining

◆ set_icon() [2/2]

guild & dpp::guild::set_icon ( image_type  format,
std::string_view  data 
)

Set the guild icon image.

Must be 1024x1024 and png or jpeg. Gif allowed only if the server has animated icon.

Parameters
formatImage format.
dataImage data in bytes
Returns
guild& Reference to self for chaining

◆ set_name()

guild & dpp::guild::set_name ( const std::string &  n)

Set the name of the guild in the object Min length: 2, Max length: 100 (not including leading/trailing spaces)

Parameters
nGuild name
Returns
guild& reference to self
Exceptions
dpp::length_exceptionif guild name is too short

References discovery_splash.

◆ set_splash() [1/2]

guild & dpp::guild::set_splash ( image_type  format,
const std::byte *  data,
uint32_t  size 
)

Set the guild invite splash image.

Server needs invite splash feature. Must be 16:9 and png or jpeg.

Parameters
formatImage format.
dataImage data in bytes
sizeSize of the data in bytes
Returns
guild& Reference to self for chaining

References dpp::find_user(), and dpp::guild_member::user_id.

Here is the call graph for this function:

◆ set_splash() [2/2]

guild & dpp::guild::set_splash ( image_type  format,
std::string_view  data 
)

Set the guild invite splash image.

Server needs invite splash feature. Must be 16:9 and png or jpeg.

Parameters
formatImage format.
dataImage data in bytes
Returns
guild& Reference to self for chaining

References icon.

◆ to_json()

auto dpp::json_interface< guild >::to_json ( bool  with_id = false) const
inlineinherited

Convert object to nlohmann::json.

Parameters
with_idWhether to include the ID or not
Note
Some fields are conditionally filled, do not rely on all fields being present
Returns
json Json built from the structure

◆ to_json_impl()

json dpp::guild::to_json_impl ( bool  with_id = false) const
protected

Build a JSON from this object.

Parameters
with_idTrue if an ID is to be included in the JSON
Returns
JSON

◆ widget_enabled()

bool dpp::guild::widget_enabled ( ) const

Widget is enabled for this server.

Returns
bool widget enabled

References flags_extra, and dpp::g_invites_disabled.

Friends And Related Function Documentation

◆ json_interface< guild >

friend struct json_interface< guild >
friend

Member Data Documentation

◆ afk_channel_id

snowflake dpp::guild::afk_channel_id

Snowflake ID of AFK voice channel or 0.

◆ afk_timeout

guild_afk_timeout_t dpp::guild::afk_timeout

Voice AFK timeout before moving users to AFK channel.

◆ application_id

snowflake dpp::guild::application_id

ID of creating application, if any, or 0.

◆ banner

utility::icon dpp::guild::banner

Server banner.

Referenced by connect_member_voice().

◆ channels

std::vector<snowflake> dpp::guild::channels

List of channels on this server.

Referenced by dpp::discord_client::get_channel_count().

◆ default_message_notifications

default_message_notification_t dpp::guild::default_message_notifications

Setting for how notifications are to be delivered to users.

◆ description

std::string dpp::guild::description

Server description.

◆ discovery_splash

utility::icon dpp::guild::discovery_splash

Guild discovery splash.

Referenced by remove_banner(), set_banner(), and set_name().

◆ emojis

std::vector<snowflake> dpp::guild::emojis

List of emojis.

◆ explicit_content_filter

guild_explicit_content_t dpp::guild::explicit_content_filter

Whether or not explicit content filtering is enable and what setting it is.

◆ flags

uint32_t dpp::guild::flags

Flags bitmask as defined by values within dpp::guild_flags.

◆ flags_extra

uint16_t dpp::guild::flags_extra

◆ icon

utility::icon dpp::guild::icon

Guild icon.

Referenced by remove_splash(), set_discovery_splash(), and set_splash().

◆ id

◆ max_members

uint32_t dpp::guild::max_members

the maximum number of members for the guild

◆ max_presences

uint32_t dpp::guild::max_presences

the maximum number of presences for the guild.

Note
Generally Discord always fills this with 0, apart from for the largest of guilds

◆ max_video_channel_users

uint8_t dpp::guild::max_video_channel_users

Maximum users in a video channel, or 0.

◆ member_count

uint32_t dpp::guild::member_count

Approximate member count.

May be sent as zero

Referenced by dpp::discord_client::get_member_count().

◆ members

members_container dpp::guild::members

List of guild members.

Note
When you first receive the guild create event, this may be empty or near empty. This depends upon your dpp::intents and the size of your bot. It will be filled by guild member chunk requests.

Referenced by dpp::discord_client::get_member_count(), dpp::events::guild_member_update::handle(), dpp::events::voice_state_update::handle(), and dpp::commandhandler::route().

◆ mfa_level

mfa_level_t dpp::guild::mfa_level

If multi factor authentication is required for moderators or not.

◆ name

std::string dpp::guild::name

Guild name.

◆ nsfw_level

guild_nsfw_level_t dpp::guild::nsfw_level

Guild NSFW level.

◆ owner_id

snowflake dpp::guild::owner_id

Snowflake id of guild owner.

Referenced by dpp::guild_widget::to_json_impl().

◆ premium_subscription_count

uint16_t dpp::guild::premium_subscription_count

Number of boosters.

◆ premium_tier

guild_premium_tier_t dpp::guild::premium_tier

Boost level.

◆ public_updates_channel_id

snowflake dpp::guild::public_updates_channel_id

Public updates channel id or 0.

◆ roles

std::vector<snowflake> dpp::guild::roles

Roles defined on this server.

Referenced by dpp::events::guild_role_create::handle().

◆ rules_channel_id

snowflake dpp::guild::rules_channel_id

ID of rules channel for communities.

◆ safety_alerts_channel_id

snowflake dpp::guild::safety_alerts_channel_id

The id of the channel where admins and moderators of Community guilds receive safety alerts from Discord.

◆ shard_id

uint16_t dpp::guild::shard_id

◆ splash

utility::icon dpp::guild::splash

◆ system_channel_id

snowflake dpp::guild::system_channel_id

ID of system channel where discord update messages are sent.

◆ threads

std::vector<snowflake> dpp::guild::threads

List of threads on this server.

◆ vanity_url_code

std::string dpp::guild::vanity_url_code

Vanity url code for verified or partnered servers and boost level 3.

Note
This field cannot be set from the API. Attempts to change this value will be silently ignored even if the correct number of boosts or verified/partnered status exist. See: https://github.com/discord/discord-api-docs/issues/519

◆ verification_level

verification_level_t dpp::guild::verification_level

Verification level of server.

◆ voice_members

std::map<snowflake, voicestate> dpp::guild::voice_members

List of members in voice channels in the guild.

◆ welcome_screen

dpp::welcome_screen dpp::guild::welcome_screen

Welcome screen.

◆ widget_channel_id

snowflake dpp::guild::widget_channel_id

Snowflake ID of widget channel, or 0.


The documentation for this class was generated from the following files: