#[non_exhaustive]pub struct PartialGuild {Show 38 fields
pub id: GuildId,
pub name: String,
pub icon: Option<ImageHash>,
pub icon_hash: Option<ImageHash>,
pub splash: Option<ImageHash>,
pub discovery_splash: Option<ImageHash>,
pub owner_id: UserId,
pub afk_metadata: Option<AfkMetadata>,
pub widget_enabled: Option<bool>,
pub widget_channel_id: Option<ChannelId>,
pub verification_level: VerificationLevel,
pub default_message_notifications: DefaultMessageNotificationLevel,
pub explicit_content_filter: ExplicitContentFilter,
pub roles: HashMap<RoleId, Role>,
pub emojis: HashMap<EmojiId, Emoji>,
pub features: Vec<String>,
pub mfa_level: MfaLevel,
pub application_id: Option<ApplicationId>,
pub system_channel_id: Option<ChannelId>,
pub system_channel_flags: SystemChannelFlags,
pub rules_channel_id: Option<ChannelId>,
pub max_presences: Option<u64>,
pub max_members: Option<u64>,
pub vanity_url_code: Option<String>,
pub description: Option<String>,
pub banner: Option<String>,
pub premium_tier: PremiumTier,
pub premium_subscription_count: Option<u64>,
pub preferred_locale: String,
pub public_updates_channel_id: Option<ChannelId>,
pub max_video_channel_users: Option<u64>,
pub max_stage_video_channel_users: Option<u64>,
pub approximate_member_count: Option<u64>,
pub approximate_presence_count: Option<u64>,
pub welcome_screen: Option<GuildWelcomeScreen>,
pub nsfw_level: NsfwLevel,
pub stickers: HashMap<StickerId, Sticker>,
pub premium_progress_bar_enabled: bool,
}Expand description
Partial information about a Guild. This does not include information like member data.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.id: GuildIdThe unique Id identifying the guild.
This is equivalent to the Id of the default role (@everyone).
name: StringThe name of the guild.
icon: Option<ImageHash>The hash of the icon used by the guild.
In the client, this appears on the guild list on the left-hand side.
icon_hash: Option<ImageHash>Icon hash, returned when in the template object
splash: Option<ImageHash>An identifying hash of the guild’s splash icon.
If the InviteSplash feature is enabled, this can be used to generate a URL to a splash
image.
discovery_splash: Option<ImageHash>An identifying hash of the guild discovery’s splash icon.
Note: Only present for guilds with the DISCOVERABLE feature.
owner_id: UserIdThe Id of the User who owns the guild.
afk_metadata: Option<AfkMetadata>Information about the voice afk channel.
widget_enabled: Option<bool>Whether or not the guild widget is enabled.
widget_channel_id: Option<ChannelId>The channel id that the widget will generate an invite to, or null if set to no invite
verification_level: VerificationLevelIndicator of the current verification level of the guild.
default_message_notifications: DefaultMessageNotificationLevelIndicator of whether notifications for all messages are enabled by default in the guild.
explicit_content_filter: ExplicitContentFilterDefault explicit content filter level.
roles: HashMap<RoleId, Role>A mapping of the guild’s roles.
emojis: HashMap<EmojiId, Emoji>All of the guild’s custom emojis.
features: Vec<String>The guild features. More information available at discord documentation.
The following is a list of known features:
ANIMATED_ICONBANNERCOMMERCECOMMUNITYDISCOVERABLEFEATURABLEINVITE_SPLASHMEMBER_VERIFICATION_GATE_ENABLEDMONETIZATION_ENABLEDMORE_STICKERSNEWSPARTNEREDPREVIEW_ENABLEDPRIVATE_THREADSROLE_ICONSSEVEN_DAY_THREAD_ARCHIVETHREE_DAY_THREAD_ARCHIVETICKETED_EVENTS_ENABLEDVANITY_URLVERIFIEDVIP_REGIONSWELCOME_SCREEN_ENABLEDTHREE_DAY_THREAD_ARCHIVESEVEN_DAY_THREAD_ARCHIVEPRIVATE_THREADS
mfa_level: MfaLevelIndicator of whether the guild requires multi-factor authentication for Roles or
Users with moderation permissions.
application_id: Option<ApplicationId>Application ID of the guild creator if it is bot-created.
system_channel_id: Option<ChannelId>The ID of the channel to which system messages are sent.
system_channel_flags: SystemChannelFlagsSystem channel flags.
rules_channel_id: Option<ChannelId>The id of the channel where rules and/or guidelines are displayed.
Note: Only available on COMMUNITY guild, see Self::features.
max_presences: Option<u64>The maximum number of presences for the guild. The default value is currently 25000.
Note: It is in effect when it is None.
max_members: Option<u64>The maximum number of members for the guild.
vanity_url_code: Option<String>The vanity url code for the guild, if it has one.
description: Option<String>The server’s description, if it has one.
The guild’s banner, if it has one.
The server’s premium boosting level.
The total number of users currently boosting this server.
preferred_locale: StringThe preferred locale of this guild only set if guild has the “DISCOVERABLE” feature, defaults to en-US.
public_updates_channel_id: Option<ChannelId>The id of the channel where admins and moderators of Community guilds receive notices from Discord.
Note: Only available on COMMUNITY guild, see Self::features.
max_video_channel_users: Option<u64>The maximum amount of users in a video channel.
max_stage_video_channel_users: Option<u64>The maximum amount of users in a stage video channel
approximate_member_count: Option<u64>Approximate number of members in this guild.
approximate_presence_count: Option<u64>Approximate number of non-offline members in this guild.
welcome_screen: Option<GuildWelcomeScreen>The welcome screen of the guild.
Note: Only available on COMMUNITY guild, see Self::features.
nsfw_level: NsfwLevelThe guild NSFW state. See discord support article.
stickers: HashMap<StickerId, Sticker>All of the guild’s custom stickers.
Whether the guild has the boost progress bar enabled
Implementations§
Source§impl<'de> PartialGuild
impl<'de> PartialGuild
pub fn deserialize<__D>(
__deserializer: __D,
) -> Result<PartialGuild, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Source§impl PartialGuild
impl PartialGuild
pub fn serialize<__S>(
__self: &PartialGuild,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
Source§impl PartialGuild
impl PartialGuild
Sourcepub async fn automod_rules(
self,
http: impl AsRef<Http>,
) -> Result<Vec<Rule>, Error>
pub async fn automod_rules( self, http: impl AsRef<Http>, ) -> Result<Vec<Rule>, Error>
Gets all auto moderation Rules of this guild via HTTP.
Note: Requires the Manage Guild permission.
§Errors
Returns Error::Http if the guild is unavailable.
Sourcepub async fn automod_rule(
&self,
http: impl AsRef<Http>,
rule_id: impl Into<RuleId>,
) -> Result<Rule, Error>
pub async fn automod_rule( &self, http: impl AsRef<Http>, rule_id: impl Into<RuleId>, ) -> Result<Rule, Error>
Gets an auto moderation Rule of this guild by its ID via HTTP.
Note: Requires the Manage Guild permission.
§Errors
Returns Error::Http if a rule with the given ID does not exist.
Sourcepub async fn create_automod_rule(
&self,
cache_http: impl CacheHttp,
builder: EditAutoModRule<'_>,
) -> Result<Rule, Error>
pub async fn create_automod_rule( &self, cache_http: impl CacheHttp, builder: EditAutoModRule<'_>, ) -> Result<Rule, Error>
Creates an auto moderation Rule in the guild.
Note: Requires the Manage Guild permission.
§Examples
See GuildId::create_automod_rule for details.
§Errors
Returns Error::Http if the current user lacks permission, or if invalid data is given.
Sourcepub async fn edit_automod_rule(
&self,
cache_http: impl CacheHttp,
rule_id: impl Into<RuleId>,
builder: EditAutoModRule<'_>,
) -> Result<Rule, Error>
pub async fn edit_automod_rule( &self, cache_http: impl CacheHttp, rule_id: impl Into<RuleId>, builder: EditAutoModRule<'_>, ) -> Result<Rule, Error>
Edit an auto moderation Rule, given its Id.
Note: Requires the Manage Guild permission.
§Errors
Returns Error::Http if the current user lacks permission, or if invalid data is given.
Sourcepub async fn delete_automod_rule(
&self,
http: impl AsRef<Http>,
rule_id: impl Into<RuleId>,
) -> Result<(), Error>
pub async fn delete_automod_rule( &self, http: impl AsRef<Http>, rule_id: impl Into<RuleId>, ) -> Result<(), Error>
Deletes an auto moderation Rule from the guild.
Note: Requires the Manage Guild permission.
§Errors
Returns Error::Http if the current user lacks permission, or if a rule with that Id
does not exist.
Sourcepub async fn ban(
&self,
http: impl AsRef<Http>,
user: impl Into<UserId>,
dmd: u8,
) -> Result<(), Error>
pub async fn ban( &self, http: impl AsRef<Http>, user: impl Into<UserId>, dmd: u8, ) -> Result<(), Error>
Ban a User from the guild, deleting a number of days’ worth of messages (dmd) between
the range 0 and 7.
Note: Requires the Ban Members permission.
§Examples
Ban a member and remove all messages they’ve sent in the last 4 days:
// assumes a `user` and `guild` have already been bound
let _ = guild.ban(user, 4);§Errors
Returns a ModelError::DeleteMessageDaysAmount if the number of days’ worth of messages
to delete is over the maximum.
Also may return Error::Http if the current user lacks permission.
Sourcepub async fn ban_with_reason(
&self,
http: impl AsRef<Http>,
user: impl Into<UserId>,
dmd: u8,
reason: impl AsRef<str>,
) -> Result<(), Error>
pub async fn ban_with_reason( &self, http: impl AsRef<Http>, user: impl Into<UserId>, dmd: u8, reason: impl AsRef<str>, ) -> Result<(), Error>
Sourcepub async fn bans(
&self,
http: impl AsRef<Http>,
target: Option<UserPagination>,
limit: Option<u8>,
) -> Result<Vec<Ban>, Error>
pub async fn bans( &self, http: impl AsRef<Http>, target: Option<UserPagination>, limit: Option<u8>, ) -> Result<Vec<Ban>, Error>
Gets a list of the guild’s bans, with additional options and filtering. See
Http::get_bans for details.
Requires the Ban Members permission.
§Errors
Returns Error::Http if the current user lacks permission.
Sourcepub async fn audit_logs(
&self,
http: impl AsRef<Http>,
action_type: Option<Action>,
user_id: Option<UserId>,
before: Option<AuditLogEntryId>,
limit: Option<u8>,
) -> Result<AuditLogs, Error>
pub async fn audit_logs( &self, http: impl AsRef<Http>, action_type: Option<Action>, user_id: Option<UserId>, before: Option<AuditLogEntryId>, limit: Option<u8>, ) -> Result<AuditLogs, Error>
Gets a list of the guild’s audit log entries
Note: Requires the View Audit Log permission.
§Errors
Returns Error::Http if the current user lacks permission, or if an invalid value is
given.
Sourcepub async fn channels(
&self,
http: impl AsRef<Http>,
) -> Result<HashMap<ChannelId, GuildChannel>, Error>
pub async fn channels( &self, http: impl AsRef<Http>, ) -> Result<HashMap<ChannelId, GuildChannel>, Error>
Gets all of the guild’s channels over the REST API.
§Errors
Returns Error::Http if the current user is not in the guild or if the guild is
otherwise unavailable.
pub fn channel_id_from_name( &self, cache: impl AsRef<Cache>, name: impl AsRef<str>, ) -> Option<ChannelId>
Sourcepub async fn create_channel(
&self,
cache_http: impl CacheHttp,
builder: CreateChannel<'_>,
) -> Result<GuildChannel, Error>
pub async fn create_channel( &self, cache_http: impl CacheHttp, builder: CreateChannel<'_>, ) -> Result<GuildChannel, Error>
Creates a GuildChannel in the guild.
Refer to Http::create_channel for more information.
Note: Requires the Manage Channels permission.
§Examples
Create a voice channel in a guild with the name test:
use serenity::builder::CreateChannel;
use serenity::model::channel::ChannelType;
let builder = CreateChannel::new("my-test-channel").kind(ChannelType::Text);
// assuming a `guild` has already been bound
let _channel = guild.create_channel(&http, builder).await?;§Errors
If the cache is enabled, returns a ModelError::InvalidPermissions if the current user
lacks permission. Otherwise returns Error::Http, as well as if invalid data is given.
Sourcepub async fn create_emoji(
&self,
http: impl AsRef<Http>,
name: &str,
image: &str,
) -> Result<Emoji, Error>
pub async fn create_emoji( &self, http: impl AsRef<Http>, name: &str, image: &str, ) -> Result<Emoji, Error>
Creates an emoji in the guild with a name and base64-encoded image.
Refer to the documentation for Guild::create_emoji for more information.
Requires the Create Guild Expressions permission.
§Examples
See the EditProfile::avatar example for an in-depth example as to how to read an image
from the filesystem and encode it as base64. Most of the example can be applied similarly
for this method.
§Errors
Returns Error::Http if the current user lacks permission, if the emoji name is too
long, or if the image is too large.
Sourcepub async fn create_integration(
&self,
http: impl AsRef<Http>,
integration_id: impl Into<IntegrationId>,
kind: &str,
) -> Result<(), Error>
pub async fn create_integration( &self, http: impl AsRef<Http>, integration_id: impl Into<IntegrationId>, kind: &str, ) -> Result<(), Error>
Creates an integration for the guild.
Requires the Manage Guild permission.
§Errors
Returns Error::Http if the current user lacks permission.
Sourcepub async fn create_command(
&self,
cache_http: impl CacheHttp,
builder: CreateCommand,
) -> Result<Command, Error>
pub async fn create_command( &self, cache_http: impl CacheHttp, builder: CreateCommand, ) -> Result<Command, Error>
Create a guild specific application Command.
Note: Unlike global commands, guild commands will update instantly.
§Errors
See CreateCommand::execute for a list of possible errors.
Sourcepub async fn set_commands(
&self,
http: impl AsRef<Http>,
commands: Vec<CreateCommand>,
) -> Result<Vec<Command>, Error>
pub async fn set_commands( &self, http: impl AsRef<Http>, commands: Vec<CreateCommand>, ) -> Result<Vec<Command>, Error>
Sourcepub async fn edit_command_permissions(
&self,
cache_http: impl CacheHttp,
command_id: CommandId,
builder: EditCommandPermissions,
) -> Result<CommandPermissions, Error>
pub async fn edit_command_permissions( &self, cache_http: impl CacheHttp, command_id: CommandId, builder: EditCommandPermissions, ) -> Result<CommandPermissions, Error>
Overwrites permissions for a specific command.
Note: It will update instantly.
§Errors
See CreateCommandPermissionsData::execute for a list of possible errors.
Sourcepub async fn get_commands(
&self,
http: impl AsRef<Http>,
) -> Result<Vec<Command>, Error>
pub async fn get_commands( &self, http: impl AsRef<Http>, ) -> Result<Vec<Command>, Error>
Get all guild application commands.
§Errors
If there is an error, it will be either Error::Http or Error::Json.
Sourcepub async fn get_commands_with_localizations(
&self,
http: impl AsRef<Http>,
) -> Result<Vec<Command>, Error>
pub async fn get_commands_with_localizations( &self, http: impl AsRef<Http>, ) -> Result<Vec<Command>, Error>
Get all guild application commands with localizations.
§Errors
If there is an error, it will be either Error::Http or Error::Json.
Sourcepub async fn get_command(
&self,
http: impl AsRef<Http>,
command_id: CommandId,
) -> Result<Command, Error>
pub async fn get_command( &self, http: impl AsRef<Http>, command_id: CommandId, ) -> Result<Command, Error>
Get a specific guild application command by its Id.
§Errors
If there is an error, it will be either Error::Http or Error::Json.
Sourcepub async fn edit_command(
&self,
cache_http: impl CacheHttp,
command_id: CommandId,
builder: CreateCommand,
) -> Result<Command, Error>
pub async fn edit_command( &self, cache_http: impl CacheHttp, command_id: CommandId, builder: CreateCommand, ) -> Result<Command, Error>
Edit a guild application command, given its Id.
§Errors
See CreateCommand::execute for a list of possible errors.
Sourcepub async fn delete_command(
&self,
http: impl AsRef<Http>,
command_id: CommandId,
) -> Result<(), Error>
pub async fn delete_command( &self, http: impl AsRef<Http>, command_id: CommandId, ) -> Result<(), Error>
Delete guild application command by its Id.
§Errors
If there is an error, it will be either Error::Http or Error::Json.
Sourcepub async fn get_commands_permissions(
&self,
http: impl AsRef<Http>,
) -> Result<Vec<CommandPermissions>, Error>
pub async fn get_commands_permissions( &self, http: impl AsRef<Http>, ) -> Result<Vec<CommandPermissions>, Error>
Get all guild application commands permissions only.
§Errors
If there is an error, it will be either Error::Http or Error::Json.
Sourcepub async fn get_command_permissions(
&self,
http: impl AsRef<Http>,
command_id: CommandId,
) -> Result<CommandPermissions, Error>
pub async fn get_command_permissions( &self, http: impl AsRef<Http>, command_id: CommandId, ) -> Result<CommandPermissions, Error>
Get permissions for specific guild application command by its Id.
§Errors
If there is an error, it will be either Error::Http or Error::Json.
Sourcepub async fn create_role(
&self,
cache_http: impl CacheHttp,
builder: EditRole<'_>,
) -> Result<Role, Error>
pub async fn create_role( &self, cache_http: impl CacheHttp, builder: EditRole<'_>, ) -> Result<Role, Error>
Creates a new role in the guild with the data set, if any.
See the documentation for Guild::create_role on how to use this.
Note: Requires the Manage Roles permission.
§Errors
If the cache is enabled, returns a ModelError::InvalidPermissions if the current user
lacks permission. Otherwise returns Error::Http, as well as if invalid data is given.
Sourcepub async fn create_sticker(
&self,
cache_http: impl CacheHttp,
builder: CreateSticker<'_>,
) -> Result<Sticker, Error>
pub async fn create_sticker( &self, cache_http: impl CacheHttp, builder: CreateSticker<'_>, ) -> Result<Sticker, Error>
Creates a new sticker in the guild with the data set, if any.
Note: Requires the Create Guild Expressions permission.
§Errors
If the cache is enabled, returns a ModelError::InvalidPermissions if the current user
lacks permission. Otherwise returns Error::Http, as well as if invalid data is given.
Sourcepub async fn delete(&self, http: impl AsRef<Http>) -> Result<(), Error>
pub async fn delete(&self, http: impl AsRef<Http>) -> Result<(), Error>
Deletes the current guild if the current user is the owner of the guild.
Note: Requires the current user to be the owner of the guild.
§Errors
Returns Error::Http if the current user is not the owner of
the guild.
Sourcepub async fn delete_emoji(
&self,
http: impl AsRef<Http>,
emoji_id: impl Into<EmojiId>,
) -> Result<(), Error>
pub async fn delete_emoji( &self, http: impl AsRef<Http>, emoji_id: impl Into<EmojiId>, ) -> Result<(), Error>
Deletes an Emoji from the guild.
Note: If the emoji was created by the current user, requires either the Create Guild Expressions or the Manage Guild Expressions permission. Otherwise, the Manage Guild Expressions permission is required.
§Errors
Returns Error::Http if the current user lacks permission, or if an emoji with the given
id does not exist in the guild.
Sourcepub async fn delete_integration(
&self,
http: impl AsRef<Http>,
integration_id: impl Into<IntegrationId>,
) -> Result<(), Error>
pub async fn delete_integration( &self, http: impl AsRef<Http>, integration_id: impl Into<IntegrationId>, ) -> Result<(), Error>
Deletes an integration by Id from the guild.
Requires the Manage Guild permission.
§Errors
Returns Error::Http if the current user lacks permission, or if an integration with
that Id does not exist in the guild.
Sourcepub async fn delete_role(
&self,
http: impl AsRef<Http>,
role_id: impl Into<RoleId>,
) -> Result<(), Error>
pub async fn delete_role( &self, http: impl AsRef<Http>, role_id: impl Into<RoleId>, ) -> Result<(), Error>
Deletes a Role by Id from the guild.
Also see Role::delete if you have the cache and model features enabled.
Requires the Manage Roles permission.
§Errors
Returns Error::Http if the current user lacks permission, or if a Role with that Id
does not exist in the Guild.
Sourcepub async fn delete_sticker(
&self,
http: impl AsRef<Http>,
sticker_id: impl Into<StickerId>,
) -> Result<(), Error>
pub async fn delete_sticker( &self, http: impl AsRef<Http>, sticker_id: impl Into<StickerId>, ) -> Result<(), Error>
Deletes a Sticker by Id from the guild.
Note: If the sticker was created by the current user, requires either the Create Guild Expressions or the Manage Guild Expressions permission. Otherwise, the Manage Guild Expressions permission is required.
§Errors
Returns Error::Http if the current user lacks permission, or if a sticker with that id
does not exist.
Sourcepub async fn edit(
&mut self,
cache_http: impl CacheHttp,
builder: EditGuild<'_>,
) -> Result<(), Error>
pub async fn edit( &mut self, cache_http: impl CacheHttp, builder: EditGuild<'_>, ) -> Result<(), Error>
Edits the current guild with new data where specified.
Note: Requires the Manage Guild permission.
§Errors
If the cache is enabled, returns a ModelError::InvalidPermissions if the current user
lacks permission. Otherwise returns Error::Http, as well as if invalid data is given.
Sourcepub async fn edit_emoji(
&self,
http: impl AsRef<Http>,
emoji_id: impl Into<EmojiId>,
name: &str,
) -> Result<Emoji, Error>
pub async fn edit_emoji( &self, http: impl AsRef<Http>, emoji_id: impl Into<EmojiId>, name: &str, ) -> Result<Emoji, Error>
Edits an Emoji’s name in the guild.
Also see Emoji::edit if you have the cache and methods features enabled.
Note: If the emoji was created by the current user, requires either the Create Guild Expressions or the Manage Guild Expressions permission. Otherwise, the Manage Guild Expressions permission is required.
§Errors
Returns Error::Http if the current user lacks permission, or if an emoji with the given
id does not exist.
Sourcepub async fn edit_member(
&self,
cache_http: impl CacheHttp,
user_id: impl Into<UserId>,
builder: EditMember<'_>,
) -> Result<Member, Error>
pub async fn edit_member( &self, cache_http: impl CacheHttp, user_id: impl Into<UserId>, builder: EditMember<'_>, ) -> Result<Member, Error>
Edits the properties a guild member, such as muting or nicknaming them. Returns the new member.
Refer to the documentation of EditMember for a full list of methods and permission
restrictions.
§Examples
See GuildId::edit_member for details.
§Errors
Returns Error::Http if the current user lacks permission, or if invalid data is given.
Sourcepub async fn edit_mfa_level(
&self,
http: impl AsRef<Http>,
mfa_level: MfaLevel,
audit_log_reason: Option<&str>,
) -> Result<MfaLevel, Error>
pub async fn edit_mfa_level( &self, http: impl AsRef<Http>, mfa_level: MfaLevel, audit_log_reason: Option<&str>, ) -> Result<MfaLevel, Error>
Edits the guild’s MFA level. Returns the new level on success.
Requires guild ownership.
§Errors
Returns Error::Http if the current user lacks permission.
Sourcepub async fn edit_nickname(
&self,
http: impl AsRef<Http>,
new_nickname: Option<&str>,
) -> Result<(), Error>
pub async fn edit_nickname( &self, http: impl AsRef<Http>, new_nickname: Option<&str>, ) -> Result<(), Error>
Edits the current user’s nickname for the guild.
Pass None to reset the nickname.
Note: Requires the Change Nickname permission.
§Errors
Returns Error::Http if the current user lacks permission to change their nickname.
Sourcepub async fn edit_role(
&self,
cache_http: impl CacheHttp,
role_id: impl Into<RoleId>,
builder: EditRole<'_>,
) -> Result<Role, Error>
pub async fn edit_role( &self, cache_http: impl CacheHttp, role_id: impl Into<RoleId>, builder: EditRole<'_>, ) -> Result<Role, Error>
Edits a role, optionally setting its fields.
Note: Requires the Manage Roles permission.
§Examples
See the documentation of GuildId::edit_role for details.
§Errors
If the cache is enabled, returns a ModelError::InvalidPermissions if the current user
lacks permission. Otherwise returns Error::Http, as well as if invalid data is given.
Sourcepub async fn edit_role_position(
&self,
http: impl AsRef<Http>,
role_id: impl Into<RoleId>,
position: u16,
) -> Result<Vec<Role>, Error>
pub async fn edit_role_position( &self, http: impl AsRef<Http>, role_id: impl Into<RoleId>, position: u16, ) -> Result<Vec<Role>, Error>
Edits the order of Roles. Requires the Manage Roles permission.
§Examples
Change the order of a role:
use serenity::model::id::RoleId;
partial_guild.edit_role_position(&context, RoleId::new(8), 2);§Errors
Returns Error::Http if the current user lacks permission.
Sourcepub async fn edit_sticker(
&self,
cache_http: impl CacheHttp,
sticker_id: impl Into<StickerId>,
builder: EditSticker<'_>,
) -> Result<Sticker, Error>
pub async fn edit_sticker( &self, cache_http: impl CacheHttp, sticker_id: impl Into<StickerId>, builder: EditSticker<'_>, ) -> Result<Sticker, Error>
Edits a sticker.
Note: If the sticker was created by the current user, requires either the Create Guild Expressions or the Manage Guild Expressions permission. Otherwise, the Manage Guild Expressions permission is required.
§Examples
Rename a sticker:
use serenity::builder::EditSticker;
use serenity::model::id::StickerId;
let builder = EditSticker::new().name("Bun bun meow");
guild.edit_sticker(&http, StickerId::new(7), builder).await?;§Errors
Returns Error::Http if the current user lacks permission, or if invalid data is given.
Sourcepub async fn edit_welcome_screen(
&self,
cache_http: impl CacheHttp,
builder: EditGuildWelcomeScreen<'_>,
) -> Result<GuildWelcomeScreen, Error>
pub async fn edit_welcome_screen( &self, cache_http: impl CacheHttp, builder: EditGuildWelcomeScreen<'_>, ) -> Result<GuildWelcomeScreen, Error>
Edits the guild’s welcome screen.
Note: Requires the Manage Guild permission.
§Errors
Returns Error::Http if the current user lacks permission.
Sourcepub async fn edit_widget(
&self,
cache_http: impl CacheHttp,
builder: EditGuildWidget<'_>,
) -> Result<GuildWidget, Error>
pub async fn edit_widget( &self, cache_http: impl CacheHttp, builder: EditGuildWidget<'_>, ) -> Result<GuildWidget, Error>
Edits the guild’s widget.
Note: Requires the Manage Guild permission.
§Errors
Returns Error::Http if the current user lacks permission.
Sourcepub async fn get(
cache_http: impl CacheHttp,
guild_id: impl Into<GuildId>,
) -> Result<PartialGuild, Error>
pub async fn get( cache_http: impl CacheHttp, guild_id: impl Into<GuildId>, ) -> Result<PartialGuild, Error>
Gets a partial amount of guild data by its Id.
§Errors
Returns Error::Http if the current user is not
in the guild.
Sourcepub fn greater_member_hierarchy(
&self,
cache: impl AsRef<Cache>,
lhs_id: impl Into<UserId>,
rhs_id: impl Into<UserId>,
) -> Option<UserId>
👎Deprecated: Use Cache::guild and Guild::greater_member_hierarchy
pub fn greater_member_hierarchy( &self, cache: impl AsRef<Cache>, lhs_id: impl Into<UserId>, rhs_id: impl Into<UserId>, ) -> Option<UserId>
Returns which of two Users has a higher Member hierarchy.
Hierarchy is essentially who has the Role with the highest position.
Returns None if at least one of the given users’ member instances is not present.
Returns None if the users have the same hierarchy, as neither are greater than the
other.
If both user IDs are the same, None is returned. If one of the users is the guild
owner, their ID is returned.
Sourcepub fn member_permissions(&self, member: &Member) -> Permissions
👎Deprecated: Use PartialGuild::member_permissions_in, as this doesn’t consider permission overwrites
pub fn member_permissions(&self, member: &Member) -> Permissions
Calculate a Member’s permissions in the guild.
Sourcepub fn partial_member_permissions(
&self,
member_id: UserId,
member: &PartialMember,
) -> Permissions
👎Deprecated: Use PartialGuild::partial_member_permissions_in, as this doesn’t consider permission overwrites
pub fn partial_member_permissions( &self, member_id: UserId, member: &PartialMember, ) -> Permissions
Calculate a PartialMember’s permissions in the guild.
§Panics
Panics if the passed UserId does not match the PartialMember id, if user is Some.
Sourcepub fn partial_member_permissions_in(
&self,
channel: &GuildChannel,
member_id: UserId,
member: &PartialMember,
) -> Permissions
pub fn partial_member_permissions_in( &self, channel: &GuildChannel, member_id: UserId, member: &PartialMember, ) -> Permissions
Calculate a PartialMember’s permissions in a given channel in a guild.
§Panics
Panics if the passed UserId does not match the PartialMember id, if user is Some.
Sourcepub async fn reorder_channels(
&self,
http: impl AsRef<Http>,
channels: impl IntoIterator<Item = (ChannelId, u64)>,
) -> Result<(), Error>
pub async fn reorder_channels( &self, http: impl AsRef<Http>, channels: impl IntoIterator<Item = (ChannelId, u64)>, ) -> Result<(), Error>
Re-orders the channels of the guild.
Although not required, you should specify all channels’ positions, regardless of whether they were updated. Otherwise, positioning can sometimes get weird.
Note: Requires the Manage Channels permission.
§Errors
Returns an Error::Http if the current user is lacking permission.
Sourcepub async fn search_members(
&self,
http: impl AsRef<Http>,
query: &str,
limit: Option<u64>,
) -> Result<Vec<Member>, Error>
pub async fn search_members( &self, http: impl AsRef<Http>, query: &str, limit: Option<u64>, ) -> Result<Vec<Member>, Error>
Returns a list of Members in a Guild whose username or nickname starts with a
provided string.
Optionally pass in the limit to limit the number of results. Minimum value is 1, maximum
and default value is 1000.
Note: Queries are case insensitive.
§Errors
Returns an Error::Http if the API returns an error.
Sourcepub async fn start_prune(
&self,
cache_http: impl CacheHttp,
days: u8,
) -> Result<GuildPrune, Error>
pub async fn start_prune( &self, cache_http: impl CacheHttp, days: u8, ) -> Result<GuildPrune, Error>
Starts a prune of Members.
See the documentation on GuildPrune for more information.
Note: Requires Kick Members and Manage Guild permissions.
§Errors
If the cache is enabled, returns a ModelError::InvalidPermissions if the current user
does not have permission to kick members.
Otherwise will return Error::Http if the current user does not have permission.
Can also return an Error::Json if there is an error deserializing the API response.
Sourcepub async fn kick(
&self,
http: impl AsRef<Http>,
user_id: impl Into<UserId>,
) -> Result<(), Error>
pub async fn kick( &self, http: impl AsRef<Http>, user_id: impl Into<UserId>, ) -> Result<(), Error>
Kicks a Member from the guild.
Requires the Kick Members permission.
§Errors
Returns Error::Http if the member cannot be kicked by the current user.
Sourcepub async fn kick_with_reason(
&self,
http: impl AsRef<Http>,
user_id: impl Into<UserId>,
reason: &str,
) -> Result<(), Error>
pub async fn kick_with_reason( &self, http: impl AsRef<Http>, user_id: impl Into<UserId>, reason: &str, ) -> Result<(), Error>
§Errors
In addition to the reasons Self::kick may return an error, can also return an error if
the reason is too long.
Sourcepub fn icon_url(&self) -> Option<String>
pub fn icon_url(&self) -> Option<String>
Returns a formatted URL of the guild’s icon, if the guild has an icon.
Returns a formatted URL of the guild’s banner, if the guild has a banner.
Sourcepub async fn emoji(
&self,
http: impl AsRef<Http>,
emoji_id: EmojiId,
) -> Result<Emoji, Error>
pub async fn emoji( &self, http: impl AsRef<Http>, emoji_id: EmojiId, ) -> Result<Emoji, Error>
Gets an Emoji of this guild by its ID via HTTP.
§Errors
Returns Error::Http if an Emoji with the given Id does not exist for the guild.
Sourcepub async fn integrations(
&self,
http: impl AsRef<Http>,
) -> Result<Vec<Integration>, Error>
pub async fn integrations( &self, http: impl AsRef<Http>, ) -> Result<Vec<Integration>, Error>
Gets all integration of the guild.
Requires the Manage Guild permission.
§Errors
Returns Error::Http if the current user lacks permission.
Sourcepub async fn invites(
&self,
http: impl AsRef<Http>,
) -> Result<Vec<RichInvite>, Error>
pub async fn invites( &self, http: impl AsRef<Http>, ) -> Result<Vec<RichInvite>, Error>
Gets all of the guild’s invites.
Requires the Manage Guild permission.
§Errors
Returns Error::Http if the current user lacks permission.
Sourcepub async fn current_user_member(
&self,
http: impl AsRef<Http>,
) -> Result<Member, Error>
pub async fn current_user_member( &self, http: impl AsRef<Http>, ) -> Result<Member, Error>
Returns a guild Member object for the current user.
See Http::get_current_user_guild_member for more.
§Errors
Returns an Error::Http if the current user is not in the guild or the access token
lacks the necessary scope.
Sourcepub async fn leave(&self, http: impl AsRef<Http>) -> Result<(), Error>
pub async fn leave(&self, http: impl AsRef<Http>) -> Result<(), Error>
Leaves the guild.
§Errors
Returns Error::Http if the current user is unable to leave the Guild, or currently is
not in the guild.
Sourcepub async fn member(
&self,
cache_http: impl CacheHttp,
user_id: impl Into<UserId>,
) -> Result<Member, Error>
pub async fn member( &self, cache_http: impl CacheHttp, user_id: impl Into<UserId>, ) -> Result<Member, Error>
Gets a user’s Member for the guild by Id.
§Errors
Returns Error::Http if the member is not in the Guild, or if the Guild is otherwise
unavailable.
Sourcepub async fn members(
&self,
http: impl AsRef<Http>,
limit: Option<u64>,
after: impl Into<Option<UserId>>,
) -> Result<Vec<Member>, Error>
pub async fn members( &self, http: impl AsRef<Http>, limit: Option<u64>, after: impl Into<Option<UserId>>, ) -> Result<Vec<Member>, Error>
Gets a list of the guild’s members.
Optionally pass in the limit to limit the number of results. Minimum value is 1, maximum
and default value is 1000.
Optionally pass in after to offset the results by a User’s Id.
§Errors
Returns an Error::Http if the API returns an error, may also return
Error::NotInRange if the input is not within range.
Sourcepub async fn move_member(
&self,
cache_http: impl CacheHttp,
user_id: impl Into<UserId>,
channel_id: impl Into<ChannelId>,
) -> Result<Member, Error>
pub async fn move_member( &self, cache_http: impl CacheHttp, user_id: impl Into<UserId>, channel_id: impl Into<ChannelId>, ) -> Result<Member, Error>
Moves a member to a specific voice channel.
Requires the Move Members permission.
§Errors
Returns an Error::Http if the current user lacks permission, or if the member is not
currently in a voice channel for this Guild.
Sourcepub fn user_permissions_in(
&self,
channel: &GuildChannel,
member: &Member,
) -> Permissions
pub fn user_permissions_in( &self, channel: &GuildChannel, member: &Member, ) -> Permissions
Calculate a Member’s permissions in a given channel in the guild.
Sourcepub fn role_permissions_in(
&self,
channel: &GuildChannel,
role: &Role,
) -> Result<Permissions, Error>
👎Deprecated: this function ignores other roles the user may have as well as user-specific permissions; use user_permissions_in instead
pub fn role_permissions_in( &self, channel: &GuildChannel, role: &Role, ) -> Result<Permissions, Error>
Sourcepub async fn prune_count(
&self,
http: impl AsRef<Http>,
days: u8,
) -> Result<GuildPrune, Error>
pub async fn prune_count( &self, http: impl AsRef<Http>, days: u8, ) -> Result<GuildPrune, Error>
Gets the number of Members that would be pruned with the given number of days.
Requires the Kick Members permission.
See Guild::prune_count.
§Errors
Returns Error::Http if the current user lacks permission.
Sourcepub fn shard_id(&self, cache: impl AsRef<Cache>) -> u32
pub fn shard_id(&self, cache: impl AsRef<Cache>) -> u32
Returns the Id of the shard associated with the guild.
When the cache is enabled this will automatically retrieve the total number of shards.
Note: When the cache is enabled, this function unlocks the cache to retrieve the total
number of shards in use. If you already have the total, consider using utils::shard_id.
Sourcepub fn splash_url(&self) -> Option<String>
pub fn splash_url(&self) -> Option<String>
Returns the formatted URL of the guild’s splash image, if one exists.
Sourcepub async fn start_integration_sync(
&self,
http: impl AsRef<Http>,
integration_id: impl Into<IntegrationId>,
) -> Result<(), Error>
pub async fn start_integration_sync( &self, http: impl AsRef<Http>, integration_id: impl Into<IntegrationId>, ) -> Result<(), Error>
Starts an integration sync for the given integration Id.
Requires the Manage Guild permission.
§Errors
Sourcepub async fn unban(
&self,
http: impl AsRef<Http>,
user_id: impl Into<UserId>,
) -> Result<(), Error>
pub async fn unban( &self, http: impl AsRef<Http>, user_id: impl Into<UserId>, ) -> Result<(), Error>
Sourcepub async fn vanity_url(&self, http: impl AsRef<Http>) -> Result<String, Error>
pub async fn vanity_url(&self, http: impl AsRef<Http>) -> Result<String, Error>
Retrieve’s the guild’s vanity URL.
Note: Requires the Manage Guild permission.
§Errors
See Guild::vanity_url.
Sourcepub async fn webhooks(
&self,
http: impl AsRef<Http>,
) -> Result<Vec<Webhook>, Error>
pub async fn webhooks( &self, http: impl AsRef<Http>, ) -> Result<Vec<Webhook>, Error>
Retrieves the guild’s webhooks.
Note: Requires the Manage Webhooks permission.
§Errors
See Guild::webhooks.
Sourcepub fn role_by_name(&self, role_name: &str) -> Option<&Role>
pub fn role_by_name(&self, role_name: &str) -> Option<&Role>
Obtain a reference to a role by its name.
Note: If two or more roles have the same name, obtained reference will be one of them.
§Examples
Obtain a reference to a Role by its name.
#[serenity::async_trait]
#[cfg(all(feature = "cache", feature = "client"))]
impl EventHandler for Handler {
async fn message(&self, context: Context, msg: Message) {
if let Some(guild_id) = msg.guild_id {
if let Some(guild) = guild_id.to_guild_cached(&context) {
if let Some(role) = guild.role_by_name("role_name") {
println!("Obtained role's reference: {:?}", role);
}
}
}
}
}Sourcepub fn await_reply(
&self,
shard_messenger: impl AsRef<ShardMessenger>,
) -> MessageCollector
pub fn await_reply( &self, shard_messenger: impl AsRef<ShardMessenger>, ) -> MessageCollector
Returns a builder which can be awaited to obtain a message or stream of messages in this guild.
Sourcepub fn await_replies(
&self,
shard_messenger: impl AsRef<ShardMessenger>,
) -> MessageCollector
pub fn await_replies( &self, shard_messenger: impl AsRef<ShardMessenger>, ) -> MessageCollector
Same as Self::await_reply.
Sourcepub fn await_reaction(
&self,
shard_messenger: impl AsRef<ShardMessenger>,
) -> ReactionCollector
pub fn await_reaction( &self, shard_messenger: impl AsRef<ShardMessenger>, ) -> ReactionCollector
Returns a builder which can be awaited to obtain a message or stream of reactions sent in this guild.
Sourcepub fn await_reactions(
&self,
shard_messenger: impl AsRef<ShardMessenger>,
) -> ReactionCollector
pub fn await_reactions( &self, shard_messenger: impl AsRef<ShardMessenger>, ) -> ReactionCollector
Same as Self::await_reaction.
Sourcepub async fn get_active_threads(
&self,
http: impl AsRef<Http>,
) -> Result<ThreadsData, Error>
pub async fn get_active_threads( &self, http: impl AsRef<Http>, ) -> Result<ThreadsData, Error>
Gets the guild active threads.
§Errors
Returns Error::Http if there is an error in the deserialization, or if the bot issuing
the request is not in the guild.
Trait Implementations§
Source§impl Clone for PartialGuild
impl Clone for PartialGuild
Source§fn clone(&self) -> PartialGuild
fn clone(&self) -> PartialGuild
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for PartialGuild
impl Debug for PartialGuild
Source§impl<'de> Deserialize<'de> for PartialGuild
impl<'de> Deserialize<'de> for PartialGuild
Source§fn deserialize<D>(
deserializer: D,
) -> Result<PartialGuild, <D as Deserializer<'de>>::Error>where
D: Deserializer<'de>,
fn deserialize<D>(
deserializer: D,
) -> Result<PartialGuild, <D as Deserializer<'de>>::Error>where
D: Deserializer<'de>,
Source§impl From<&PartialGuild> for GuildId
impl From<&PartialGuild> for GuildId
Source§fn from(guild: &PartialGuild) -> GuildId
fn from(guild: &PartialGuild) -> GuildId
Gets the Id of a partial guild.
Source§impl From<Guild> for PartialGuild
impl From<Guild> for PartialGuild
Source§fn from(guild: Guild) -> PartialGuild
fn from(guild: Guild) -> PartialGuild
Converts this Guild instance into a PartialGuild
Source§impl From<PartialGuild> for GuildId
impl From<PartialGuild> for GuildId
Source§fn from(guild: PartialGuild) -> GuildId
fn from(guild: PartialGuild) -> GuildId
Gets the Id of a partial guild.