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 Member
s 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