pub struct GuildId(pub u64);
Expand description

An identifier for a Guild

Tuple Fields

0: u64

Implementations

Available on crate feature model only.

Adds a User to this guild with a valid OAuth2 access token.

Returns the created Member object, or nothing if the user is already a member of the guild.

Errors

Returns Error::Http if the current user lacks permission, or if invalid values are set.

Available on crate feature model only.

Ban a User from the guild, deleting a number of days’ worth of messages (dmd) between the range 0 and 7.

Refer to the documentation for Guild::ban for more information.

Note: Requires the Ban Members permission.

Examples

Ban a member and remove all messages they’ve sent in the last 4 days:

use serenity::model::id::{GuildId, UserId};

// assuming a `user` has already been bound
let _ = GuildId(81384788765712384).ban(&http, user, 4).await;
Errors

Returns a ModelError::DeleteMessageDaysAmount if the number of days’ worth of messages to delete is over the maximum.

Also can return Error::Http if the current user lacks permission.

Available on crate feature model only.

Ban a User from the guild with a reason. Refer to Self::ban to further documentation.

Errors

In addition to the reasons Self::ban may return an error, may also return Error::ExceededLimit if reason is too long.

Available on crate feature model only.

Gets a list of the guild’s bans.

Note: Requires the Ban Members permission.

Errors

Returns Error::Http if the current user lacks permission.

Available on crate feature model only.

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.

Available on crate feature model only.

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

Errors

Returns Error::Http if the current user is not in the guild.

Available on crate feature model only.

Creates a GuildChannel in the 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::channel::ChannelType;
use serenity::model::id::GuildId;

let _channel =
    GuildId(7).create_channel(&http, |c| c.name("test").kind(ChannelType::Voice)).await;
Errors

Returns Error::Http if the current user lacks permission, or if invalid values are set.

Available on crate feature model only.

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 and Stickers 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 name is too long, or if the image is too big.

Available on crate feature model only.

Creates an integration for the guild.

Requires the Manage Guild permission.

Errors

Returns Error::Http if the current user lacks permission.

Available on crate feature model only.

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

Returns Error::Http if the current user lacks permission, or if invalid data is given.

Available on crate feature model only.

Creates a new sticker in the guild with the data set, if any.

Note: Requires the Manage Emojis and Stickers permission.

Errors

Returns Error::Http if the current user lacks permission, or if invalid data is given.

Available on crate feature model only.

Deletes the current guild if the current account is the owner of the guild.

Refer to Guild::delete for more information.

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.

Available on crate feature model only.

Deletes an Emoji from the guild.

Note: Requires the Manage Emojis and Stickers permission.

Errors

Returns Error::Http if the current user lacks permission, or if an Emoji with that Id does not exist.

Available on crate feature model only.

Deletes an integration by Id from the guild.

Note: 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.

Available on crate feature model only.

Deletes a Role by Id from the guild.

Also see Role::delete if you have the cache and model features enabled.

Note: 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.

Available on crate feature model only.

Deletes a Sticker by Id from the guild.

Note: Requires the Manage Emojis and Stickers permission.

Errors

Returns Error::Http if the current user lacks permission, or if a sticker with that Id does not exist.

Available on crate feature model only.

Edits the current guild with new data where specified.

Refer to Guild::edit for more information.

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

Errors

Returns Error::Http if the current user lacks permission, or if an invalid value is set.

Available on crate feature model only.

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 and Stickers permission.

Errors

Returns Error::Http if the current user lacks permission.

Available on crate feature model only.

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:

guild.edit_member(&context, user_id, |m| m.mute(true).roles(&vec![role_id]));
Errors

Returns Error::Http if the current user lacks the necessary permissions.

Available on crate feature model only.

Edits the current user’s nickname for the guild.

Pass None to reset the nickname.

Requires the Change Nickname permission.

Errors

Returns Error::Http if the current user lacks permission.

Available on crate feature model only.

Edits a Role, optionally setting its new fields.

Requires the Manage Roles permission.

Examples

Make a role hoisted:

use serenity::model::{GuildId, RoleId};

GuildId(7).edit_role(&context, RoleId(8), |r| r.hoist(true));
Errors

Returns Error::Http if the current user lacks permission.

Available on crate feature model only.

Edits a Sticker, optionally setting its fields.

Requires the Manage Emojis and Stickers permission.

Examples

Rename a sticker:

guild.edit_sticker(&context, StickerId(7), |r| r.name("Bun bun meow"));
Errors

Returns Error::Http if the current user lacks permission.

Available on crate feature model only.

Edits the order of Roles Requires the Manage Roles permission.

Examples

Change the order of a role:

use serenity::model::{GuildId, RoleId};
GuildId(7).edit_role_position(&context, RoleId(8), 2);
Errors

Returns an Error::Http if the current user lacks permission.

Available on crate feature model only.

Edits the GuildWelcomeScreen.

Errors

Returns an Error::Http if some mandatory fields are not provided.

Available on crate feature model only.

Edits the GuildWidget.

Errors

Returns an Error::Http if the bot does not have the MANAGE_GUILD permission.

Available on crate feature model only.

Gets all of the guild’s roles over the REST API.

Errors

Returns Error::Http if the current user is not in the guild.

Available on crate features model and cache only.

Tries to find the Guild by its Id in the cache.

Available on crate feature model only.

Requests PartialGuild over REST API.

Note: This will not be a Guild, as the REST API does not send all data with a guild retrieval.

Errors

Returns an Error::Http if the current user is not in the guild.

Available on crate feature model only.

Requests PartialGuild over REST API with counts.

Note: This will not be a Guild, as the REST API does not send all data with a guild retrieval.

Errors

Returns an Error::Http if the current user is not in the guild.

Available on crate feature model only.

Gets all Emojis of this guild via HTTP.

Errors

Returns an Error::Http if the guild is unavailable.

Available on crate feature model only.

Gets an Emoji of this guild by its ID via HTTP.

Errors

Returns an Error::Http if an emoji with that Id does not exist.

Available on crate feature model only.

Gets all Stickers of this guild via HTTP.

Errors

Returns an Error::Http if the guild is unavailable.

Available on crate feature model only.

Gets an Sticker of this guild by its ID via HTTP.

Errors

Returns an Error::Http if an sticker with that Id does not exist.

Available on crate feature model only.

Gets all integration of the guild.

Requires the Manage Guild permission.

Errors

Returns an Error::Http if the current user lacks permission, also may return Error::Json if there is an error in deserializing the API response.

Available on crate feature model only.

Gets all of the guild’s invites.

Requires the Manage Guild permission.

Errors

Returns Error::Http if the current user lacks permission, also may return Error::Json if there is an error in deserializing the API response.

Available on crate feature model only.

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.

Available on crate feature model only.
Errors

In addition to the reasons Self::kick may return an error, may also return an error if the reason is too long.

Available on crate feature model only.

Leaves the guild.

Errors

May return an Error::Http if the current user cannot leave the guild, or currently is not in the guild.

Available on crate feature model only.

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

If the cache feature is enabled the cache will be checked first. If not found it will resort to an http request.

Errors

Returns an Error::Http if the user is not in the guild, or if the guild is otherwise unavailable

Available on crate feature model only.

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.

Available on crate feature model only.

Streams over all the members in a guild.

This is accomplished and equivalent to repeated calls to Self::members. A buffer of at most 1,000 members is used to reduce the number of calls necessary.

Examples
use serenity::futures::StreamExt;
use serenity::model::guild::MembersIter;

let mut members = guild_id.members_iter(&ctx).boxed();
while let Some(member_result) = members.next().await {
    match member_result {
        Ok(member) => println!("{} is {}", member, member.display_name(),),
        Err(error) => eprintln!("Uh oh!  Error: {}", error),
    }
}
Available on crate feature model only.

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.

Available on crate features model and cache only.

Returns the name of whatever guild this id holds.

Available on crate feature model only.

Disconnects a member from a voice channel in the guild.

Requires the Move Members permission.

Errors

Returns Error::Http if the current user lacks permission, or if the member is not currently in a voice channel for this guild.

Available on crate feature model only.

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

Requires the Kick Members permission.

Errors

Returns Error::Http if the current user does not have permission.

Available on crate feature model only.

Re-orders the channels of the guild.

Accepts an iterator of a tuple of the channel ID to modify and its new position.

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 Error::Http if the current user lacks permission.

Available on crate feature model only.

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.

Errors

Returns an Error::Http if the API returns an error.

Available on crate features cache and utils and model only.

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.

Available on crate feature model only.

Starts an integration sync for the given integration Id.

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.

Available on crate feature model only.

Starts a prune of Members.

See the documentation on GuildPrune for more information.

Note: Requires the Kick Members permission.

Errors

Returns Error::Http if the current user lacks permission.

Available on crate feature model only.

Unbans a User from the guild.

Note: Requires the Ban Members permission.

Errors

Returns Error::Http if the current user does not have permission.

Available on crate feature model only.

Retrieve’s the guild’s vanity URL.

Note: Requires the Manage Guild permission.

Errors

Will return Error::Http if the current user lacks permission. Can also return Error::Json if there is an error deserializing the API response.

Available on crate feature model only.

Retrieves the guild’s webhooks.

Note: Requires the Manage Webhooks permission.

Errors

Will return an Error::Http if the bot is lacking permissions. Can also return an Error::Json if there is an error deserializing the API response.

Available on crate features model and collector only.

Returns a future that will await one message sent in this guild.

Available on crate features model and collector only.

Returns a stream builder which can be awaited to obtain a stream of messages in this guild.

Available on crate features model and collector only.

Await a single reaction in this guild.

Available on crate features model and collector only.

Returns a stream builder which can be awaited to obtain a stream of reactions sent in this guild.

Available on crate feature model only.

Creates a guild specific ApplicationCommand

Note: Unlike global ApplicationCommands, guild commands will update instantly.

Errors

Returns the same possible errors as create_global_application_command.

Available on crate feature model only.

Overrides all guild application commands.

Errors

Returns the same possible errors as set_global_application_commands.

Available on crate feature model only.

Creates a guild specific ApplicationCommandPermission.

Note: It will update instantly.

Errors

If there is an error, it will be either Error::Http or Error::Json.

Available on crate feature model only.

Overrides all application commands permissions.

Errors

If there is an error, it will be either Error::Http or Error::Json.

Available on crate feature model only.

Get all guild application commands.

Errors

If there is an error, it will be either Error::Http or Error::Json.

Available on crate feature model only.

Get a specific guild application command by its Id.

Errors

If there is an error, it will be either Error::Http or Error::Json.

Available on crate feature model only.

Edit guild application command by its Id.

Errors

If there is an error, it will be either Error::Http or Error::Json.

Available on crate feature model only.

Delete guild application command by its Id.

Errors

If there is an error, it will be either Error::Http or Error::Json.

Available on crate feature model only.

Get all guild application commands permissions only.

Errors

If there is an error, it will be either Error::Http or Error::Json.

Available on crate feature model only.

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.

Available on crate feature model only.

Get the guild welcome screen.

Errors

Returns Error::Http if the guild does not have a welcome screen.

Available on crate feature model only.

Get the guild preview.

Note: The bot need either to be part of the guild or the guild needs to have the DISCOVERABLE feature.

Errors

Returns Error::Http if the bot cannot see the guild preview, see the note.

Available on crate feature model only.

Get the guild widget.

Errors

Returns Error::Http if the bot does not have MANAGE_MESSAGES permission.

Available on crate feature model only.

Get the widget image URL.

Available on crate feature model only.

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.

Retrieves the time that the Id was created at.

Immutably borrow inner Id.

Mutably borrow inner Id.

Trait Implementations

Converts this type into a shared reference of the (usually inferred) input type.

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

Returns the “default value” for a type. Read more

Deserialize this value from the given Serde deserializer. Read more

Formats the value using the given formatter. Read more

Gets the Id of Guild.

Converts to this type from the input type.

Gets the Id of Guild information struct.

Gets the Id of Invite Guild struct.

Gets the Id of a partial guild.

Gets the Id of Guild.

Converts to this type from the input type.

Converts to this type from the input type.

Converts to this type from the input type.

Gets the Id of Guild information struct.

Gets the Id of Invite Guild struct.

Gets the Id of a partial guild.

Converts to this type from the input type.

Feeds this value into the given Hasher. Read more

Feeds a slice of this type into the given Hasher. Read more

This method returns an Ordering between self and other. Read more

Compares and returns the maximum of two values. Read more

Compares and returns the minimum of two values. Read more

Restrict a value to a certain interval. Read more

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

This method returns an ordering between self and other values if one exists. Read more

This method tests less than (for self and other) and is used by the < operator. Read more

This method tests less than or equal to (for self and other) and is used by the <= operator. Read more

This method tests greater than (for self and other) and is used by the > operator. Read more

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Compare self to key and return true if they are equal.

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Should always be Self

The resulting type after obtaining ownership.

Creates owned data from borrowed data, usually by cloning. Read more

🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

Converts the given value to a String. Read more

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more