Struct serenity::model::PartialGuild
[−]
[src]
pub struct PartialGuild {
pub id: GuildId,
pub afk_channel_id: Option<ChannelId>,
pub afk_timeout: u64,
pub default_message_notifications: u64,
pub embed_channel_id: Option<ChannelId>,
pub embed_enabled: bool,
pub emojis: HashMap<EmojiId, Emoji>,
pub features: Vec<Feature>,
pub icon: Option<String>,
pub mfa_level: u64,
pub name: String,
pub owner_id: UserId,
pub region: String,
pub roles: HashMap<RoleId, Role>,
pub splash: Option<String>,
pub verification_level: VerificationLevel,
}Partial information about a Guild. This does not include information
like member data.
Fields
id: GuildId
afk_channel_id: Option<ChannelId>
afk_timeout: u64
default_message_notifications: u64
embed_channel_id: Option<ChannelId>
embed_enabled: bool
emojis: HashMap<EmojiId, Emoji>
features: Vec<Feature>
icon: Option<String>
mfa_level: u64
name: String
owner_id: UserId
region: String
roles: HashMap<RoleId, Role>
splash: Option<String>
verification_level: VerificationLevel
Methods
impl PartialGuild[src]
fn ban<U: Into<UserId>>(&self, user: U, delete_message_days: u8) -> Result<()>[src]
Ban a User from the guild. All messages by the
user within the last given number of days given will be deleted. This
may be a range between 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.
fn bans(&self) -> Result<Vec<Ban>>[src]
Gets a list of the guild's bans.
Requires the Ban Members permission.
fn channels(&self) -> Result<HashMap<ChannelId, GuildChannel>>[src]
Gets all of the guild's channels over the REST API.
fn create_channel(&self, name: &str, kind: ChannelType) -> Result<GuildChannel>[src]
Creates a GuildChannel in the guild.
Refer to http::create_channel for more information.
Requires the Manage Channels permission.
Examples
Create a voice channel in a guild with the name test:
use serenity::model::ChannelType; guild.create_channel("test", ChannelType::Voice);
fn create_emoji(&self, name: &str, image: &str) -> Result<Emoji>[src]
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 Manage Emojis 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.
fn create_integration<I>(&self, integration_id: I, kind: &str) -> Result<()> where
I: Into<IntegrationId>, [src]
I: Into<IntegrationId>,
Creates an integration for the guild.
Requires the Manage Guild permission.
fn create_role<F: FnOnce(EditRole) -> EditRole>(&self, f: F) -> Result<Role>[src]
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 does not have permission to perform bans.
fn delete(&self) -> Result<PartialGuild>[src]
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.
fn delete_emoji<E: Into<EmojiId>>(&self, emoji_id: E) -> Result<()>[src]
Deletes an Emoji from the guild.
Requires the Manage Emojis permission.
fn delete_integration<I: Into<IntegrationId>>(
&self,
integration_id: I
) -> Result<()>[src]
&self,
integration_id: I
) -> Result<()>
Deletes an integration by Id from the guild.
Requires the Manage Guild permission.
fn delete_role<R: Into<RoleId>>(&self, role_id: R) -> Result<()>[src]
Deletes a Role by Id from the guild.
Also see Role::delete if you have the cache and methods features
enabled.
Requires the Manage Roles permission.
fn edit<F>(&mut self, f: F) -> Result<()> where
F: FnOnce(EditGuild) -> EditGuild, [src]
F: FnOnce(EditGuild) -> EditGuild,
Edits the current guild with new data where specified.
Note: Requires the current user to have the Manage Guild permission.
fn edit_emoji<E: Into<EmojiId>>(&self, emoji_id: E, name: &str) -> Result<Emoji>[src]
Edits an Emoji's name in the guild.
Also see Emoji::edit if you have the cache and methods features
enabled.
Requires the Manage Emojis permission.
fn edit_member<F, U>(&self, user_id: U, f: F) -> Result<()> where
F: FnOnce(EditMember) -> EditMember,
U: Into<UserId>, [src]
F: FnOnce(EditMember) -> EditMember,
U: Into<UserId>,
Edits the properties of member of the guild, such as muting or nicknaming them.
Refer to EditMember's documentation for a full list of methods and
permission restrictions.
Examples
Mute a member and set their roles to just one role with a predefined Id:
use serenity::model::GuildId; GuildId(7).edit_member(user_id, |m| m.mute(true).roles(&vec![role_id]));
fn edit_nickname(&self, new_nickname: Option<&str>) -> Result<()>[src]
Edits the current user's nickname for the guild.
Pass None to reset the nickname.
Note: Requires the Change Nickname permission.
Errors
If the cache is enabled, returns a ModelError::InvalidPermissions
if the current user does not have permission to change their own
nickname.
fn get<G: Into<GuildId>>(guild_id: G) -> Result<PartialGuild>[src]
Gets a partial amount of guild data by its Id.
Requires that the current user be in the guild.
fn kick<U: Into<UserId>>(&self, user_id: U) -> Result<()>[src]
Kicks a Member from the guild.
Requires the Kick Members permission.
fn icon_url(&self) -> Option<String>[src]
Returns a formatted URL of the guild's icon, if the guild has an icon.
fn integrations(&self) -> Result<Vec<Integration>>[src]
Gets all integration of the guild.
This performs a request over the REST API.
fn invites(&self) -> Result<Vec<RichInvite>>[src]
Gets all of the guild's invites.
Requires the Manage Guild permission.
fn leave(&self) -> Result<()>[src]
Leaves the guild.
fn member<U: Into<UserId>>(&self, user_id: U) -> Result<Member>[src]
Gets a user's Member for the guild by Id.
fn members<U>(
&self,
limit: Option<u64>,
after: Option<U>
) -> Result<Vec<Member>> where
U: Into<UserId>, [src]
&self,
limit: Option<u64>,
after: Option<U>
) -> Result<Vec<Member>> where
U: Into<UserId>,
Gets a list of the guild's members.
Optionally pass in the limit to limit the number of results. Maximum
value is 1000. Optionally pass in after to offset the results by a
User's Id.
fn move_member<C, U>(&self, user_id: U, channel_id: C) -> Result<()> where
C: Into<ChannelId>,
U: Into<UserId>, [src]
C: Into<ChannelId>,
U: Into<UserId>,
Moves a member to a specific voice channel.
Requires the Move Members permission.
fn prune_count(&self, days: u16) -> Result<GuildPrune>[src]
Gets the number of Members that would be pruned with the given
number of days.
Requires the Kick Members permission.
[src]
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.
fn splash_url(&self) -> Option<String>[src]
Returns the formatted URL of the guild's splash image, if one exists.
fn start_integration_sync<I: Into<IntegrationId>>(
&self,
integration_id: I
) -> Result<()>[src]
&self,
integration_id: I
) -> Result<()>
Starts an integration sync for the given integration Id.
Requires the Manage Guild permission.
fn unban<U: Into<UserId>>(&self, user_id: U) -> Result<()>[src]
Unbans a User from the guild.
Requires the Ban Members permission.
fn webhooks(&self) -> Result<Vec<Webhook>>[src]
Retrieves the guild's webhooks.
Note: Requires the Manage Webhooks permission.
fn role_by_name(&self, role_name: &str) -> Option<&Role>[src]
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.
use serenity::model::*; use serenity::prelude::*; struct Handler; use serenity::CACHE; impl EventHandler for Handler { fn on_message(&self, _: Context, msg: Message) { if let Some(role) = msg.guild_id().unwrap().get().unwrap().role_by_name("role_name") { println!("Obtained role's reference: {:?}", role); } } } let mut client = Client::new("token", Handler); client.start().unwrap();
Trait Implementations
impl Clone for PartialGuild[src]
fn clone(&self) -> PartialGuild[src]
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)1.0.0[src]
Performs copy-assignment from source. Read more