Struct serenity::model::guild::PartialGuild[][src]

pub struct PartialGuild {
    pub id: GuildId,
    pub afk_channel_id: Option<ChannelId>,
    pub afk_timeout: u64,
    pub default_message_notifications: DefaultMessageNotificationLevel,
    pub embed_channel_id: Option<ChannelId>,
    pub embed_enabled: bool,
    pub emojis: HashMap<EmojiId, Emoji>,
    pub features: Vec<String>,
    pub icon: Option<String>,
    pub mfa_level: MfaLevel,
    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

Features enabled for the guild.

Refer to Guild::features for more information.

Methods

impl PartialGuild
[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:

This example is not tested
// 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.

Gets a list of the guild's bans.

Requires the Ban Members permission.

Gets all of the guild's channels over the REST API.

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:

This example is not tested
use serenity::model::ChannelType;

guild.create_channel("test", ChannelType::Voice, None);

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.

Creates an integration for the guild.

Requires the Manage Guild permission.

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.

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.

Deletes an Emoji from the guild.

Requires the Manage Emojis permission.

Deletes an integration by Id from the guild.

Requires the Manage Guild permission.

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.

Edits the current guild with new data where specified.

Note: Requires the current user to have the Manage Guild permission.

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.

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:

This example is not tested
use serenity::model::GuildId;

GuildId(7).edit_member(user_id, |m| m.mute(true).roles(&vec![role_id]));

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.

Gets a partial amount of guild data by its Id.

Requires that the current user be in the guild.

Kicks a Member from the guild.

Requires the Kick Members permission.

Returns a formatted URL of the guild's icon, if the guild has an icon.

Gets all integration of the guild.

This performs a request over the REST API.

Gets all of the guild's invites.

Requires the Manage Guild permission.

Leaves the guild.

Gets a user's Member for the guild by Id.

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.

Moves a member to a specific voice channel.

Requires the Move Members permission.

Gets the number of Members that would be pruned with the given number of days.

Requires the Kick Members permission.

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.

Returns the formatted URL of the guild's splash image, if one exists.

Starts an integration sync for the given integration Id.

Requires the Manage Guild permission.

Unbans a User from the guild.

Requires the Ban Members permission.

Retrieve's the guild's vanity URL.

Note: Requires the Manage Guild permission.

Retrieves the guild's webhooks.

Note: Requires the Manage Webhooks permission.

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::prelude::*;
use serenity::prelude::*;

struct Handler;

use serenity::CACHE;

impl EventHandler for Handler {
    fn message(&self, _: Context, msg: Message) {
        let guild = msg.guild_id().unwrap().get().unwrap();
        let possible_role = guild.role_by_name("role_name");

        if let Some(role) = possible_role {
            println!("Obtained role's reference: {:?}", role);
        }
    }
}

let mut client = Client::new("token", Handler).unwrap();

client.start().unwrap();

Trait Implementations

impl From<PartialGuild> for GuildId
[src]

Gets the Id of a partial guild.

impl<'a> From<&'a PartialGuild> for GuildId
[src]

Gets the Id of a partial guild.

impl Clone for PartialGuild
[src]

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

impl Debug for PartialGuild
[src]

Formats the value using the given formatter. Read more

impl From<PartialGuild> for GuildContainer
[src]

Performs the conversion.

Auto Trait Implementations