[−][src]Struct serenity::model::guild::Member
Information about a member of a guild.
Fields (Non-exhaustive)
Struct { .. }
syntax; cannot be matched against without a wildcard ..
; and struct update syntax will not work.deaf: bool
Indicator of whether the member can hear in voice channels.
guild_id: GuildId
The unique Id of the guild that the member is a part of.
joined_at: Option<DateTime<Utc>>
Timestamp representing the date when the member joined.
mute: bool
Indicator of whether the member can speak in voice channels.
nick: Option<String>
The member's nickname, if present.
Can't be longer than 32 characters.
roles: Vec<RoleId>
Vector of Ids of Role
s given to the member.
user: User
Attached User struct.
Implementations
impl Member
[src]
pub async fn add_role(
&mut self,
http: impl AsRef<Http>,
role_id: impl Into<RoleId>
) -> Result<()>
[src]
&mut self,
http: impl AsRef<Http>,
role_id: impl Into<RoleId>
) -> Result<()>
Adds a Role
to the member, editing its roles in-place if the request
was successful.
Note: Requires the Manage Roles permission.
pub async fn add_roles(
&mut self,
http: impl AsRef<Http>,
role_ids: &[RoleId]
) -> Result<Vec<RoleId>>
[src]
&mut self,
http: impl AsRef<Http>,
role_ids: &[RoleId]
) -> Result<Vec<RoleId>>
Adds one or multiple Role
s to the member, editing
its roles in-place if the request was successful.
Note: Requires the Manage Roles permission.
pub async fn ban(&self, http: impl AsRef<Http>, dmd: u8) -> Result<()>
[src]
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.
Errors
Returns a ModelError::GuildNotFound
if the guild could not be
found.
pub async fn ban_with_reason(
&self,
http: impl AsRef<Http>,
dmd: u8,
reason: impl AsRef<str>
) -> Result<()>
[src]
&self,
http: impl AsRef<Http>,
dmd: u8,
reason: impl AsRef<str>
) -> Result<()>
Ban the member from the guild with a reason. Refer to ban
to further documentation.
pub async fn colour(&self, cache: impl AsRef<Cache>) -> Option<Colour>
[src]
Determines the member's colour.
pub async fn default_channel(
&self,
cache: impl AsRef<Cache>
) -> Option<GuildChannel>
[src]
&self,
cache: impl AsRef<Cache>
) -> Option<GuildChannel>
Returns the "default channel" of the guild for the member.
(This returns the first channel that can be read by the member, if there isn't
one returns None
)
pub fn display_name(&self) -> Cow<'_, String>
[src]
Calculates the member's display name.
The nickname takes priority over the member's username if it exists.
pub fn distinct(&self) -> String
[src]
Returns the DiscordTag of a Member, taking possible nickname into account.
pub async fn edit<F>(&self, http: impl AsRef<Http>, f: F) -> Result<Member> where
F: FnOnce(&mut EditMember) -> &mut EditMember,
[src]
F: FnOnce(&mut EditMember) -> &mut EditMember,
Edits the member with the given data. See Guild::edit_member
for
more information.
See EditMember
for the permission(s) required for separate builder
methods, as well as usage of this.
pub async fn highest_role_info(
&self,
cache: impl AsRef<Cache>
) -> Option<(RoleId, i64)>
[src]
&self,
cache: impl AsRef<Cache>
) -> Option<(RoleId, i64)>
Retrieves the ID and position of the member's highest role in the hierarchy, if they have one.
This may return None
if:
- the user has roles, but they are not present in the cache for cache inconsistency reasons
- you already have a write lock to the member's guild
The "highest role in hierarchy" is defined as the role with the highest position. If two or more roles have the same highest position, then the role with the lowest ID is the highest.
pub async fn kick(&self, cache_http: impl CacheHttp) -> Result<()>
[src]
Kick the member from the guild.
Note: Requires the Kick Members permission.
Examples
Kick a member from its guild:
// assuming a `member` has already been bound match member.kick().await { Ok(()) => println!("Successfully kicked member"), Err(Error::Model(ModelError::GuildNotFound)) => { println!("Couldn't determine guild of member"); }, Err(Error::Model(ModelError::InvalidPermissions(missing_perms))) => { println!("Didn't have permissions; missing: {:?}", missing_perms); }, _ => {}, }
Errors
Returns a ModelError::GuildNotFound
if the Id of the member's guild
could not be determined.
If the cache
is enabled, returns a ModelError::InvalidPermissions
if the current user does not have permission to perform the kick.
pub async fn kick_with_reason(
&self,
cache_http: impl CacheHttp,
reason: &str
) -> Result<()>
[src]
&self,
cache_http: impl CacheHttp,
reason: &str
) -> Result<()>
Kicks the member from the guild, with a reason.
Note: Requires the [Kick Members] permission.
Examples
Kicks a member from it's guild, with an optional reason:
match member.kick(&ctx.http, "A Reason").await { Ok(()) => println!("Successfully kicked member"), Err(Error::Model(ModelError::GuildNotFound)) => { println!("Couldn't determine guild of member"); }, Err(Error::Model(ModelError::InvalidPermissions(missing_perms))) => { println!("Didn't have permissions; missing: {:?}", missing_perms); }, _ => {}, }
Errors
Same as kick
pub async fn move_to_voice_channel(
&self,
http: impl AsRef<Http>,
channel: impl Into<ChannelId>
) -> Result<Member>
[src]
&self,
http: impl AsRef<Http>,
channel: impl Into<ChannelId>
) -> Result<Member>
Moves the member to a voice channel.
Requires the Move Members permission.
pub async fn disconnect_from_voice(
&self,
http: impl AsRef<Http>
) -> Result<Member>
[src]
&self,
http: impl AsRef<Http>
) -> Result<Member>
Disconnects the member from their voice channel if any.
Requires the Move Members permission.
pub async fn permissions(
&self,
cache_http: impl CacheHttp + AsRef<Cache>
) -> Result<Permissions>
[src]
&self,
cache_http: impl CacheHttp + AsRef<Cache>
) -> Result<Permissions>
Returns the guild-level permissions for the member.
Examples
// assuming there's a `member` variable gotten from anything. println!("The permission bits for the member are: {}", member.permissions().expect("permissions").bits);
Errors
Returns a ModelError::GuildNotFound
if the guild the member's in could not be
found in the cache.
And/or returns ModelError::ItemMissing
if the "default channel" of the guild is not
found.
pub async fn remove_role(
&mut self,
http: impl AsRef<Http>,
role_id: impl Into<RoleId>
) -> Result<()>
[src]
&mut self,
http: impl AsRef<Http>,
role_id: impl Into<RoleId>
) -> Result<()>
Removes a Role
from the member, editing its roles in-place if the
request was successful.
Note: Requires the Manage Roles permission.
pub async fn remove_roles(
&mut self,
http: impl AsRef<Http>,
role_ids: &[RoleId]
) -> Result<Vec<RoleId>>
[src]
&mut self,
http: impl AsRef<Http>,
role_ids: &[RoleId]
) -> Result<Vec<RoleId>>
Removes one or multiple Role
s from the member. Returns the member's
new roles.
Note: Requires the Manage Roles permission.
pub async fn roles(&self, cache: impl AsRef<Cache>) -> Option<Vec<Role>>
[src]
Retrieves the full role data for the user's roles.
This is shorthand for manually searching through the Cache.
If role data can not be found for the member, then None
is returned.
pub async fn unban(&self, http: impl AsRef<Http>) -> Result<()>
[src]
Unbans the User
from the guild.
Note: Requires the Ban Members permission.
Errors
If the cache
is enabled, returns a ModelError::InvalidPermissions
if the current user does not have permission to perform bans.
Trait Implementations
impl Clone for Member
[src]
impl Debug for Member
[src]
impl<'de> Deserialize<'de> for Member
[src]
pub fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
[src]
__D: Deserializer<'de>,
impl Display for Member
[src]
pub fn fmt(&self, f: &mut Formatter<'_>) -> FmtResult
[src]
Mentions the user so that they receive a notification.
Examples
// assumes a `member` has already been bound println!("{} is a member!", member);
This is in the format of <@USER_ID>
.
impl From<&'_ Member> for Mention
[src]
impl<'a> From<&'a Member> for UserId
[src]
impl From<Member> for UserId
[src]
impl Mentionable for Member
[src]
impl Serialize for Member
[src]
Auto Trait Implementations
impl RefUnwindSafe for Member
[src]
impl Send for Member
[src]
impl Sync for Member
[src]
impl Unpin for Member
[src]
impl UnwindSafe for Member
[src]
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> DeserializeOwned for T where
T: for<'de> Deserialize<'de>,
[src]
T: for<'de> Deserialize<'de>,
impl<T> From<T> for T
[src]
impl<T> Instrument for T
[src]
pub fn instrument(self, span: Span) -> Instrumented<Self>
[src]
pub fn in_current_span(self) -> Instrumented<Self>
[src]
impl<T> Instrument for T
[src]
pub fn instrument(self, span: Span) -> Instrumented<Self>
[src]
pub fn in_current_span(self) -> Instrumented<Self>
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> Same<T> for T
type Output = T
Should always be Self
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn clone_into(&self, target: &mut T)
[src]
impl<T> ToString for T where
T: Display + ?Sized,
[src]
T: Display + ?Sized,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
V: MultiLane<T>,
pub fn vzip(self) -> V
impl<T> WithSubscriber for T
[src]
pub fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
[src]
S: Into<Dispatch>,