Struct serenity::model::user::CurrentUser [−][src]
#[non_exhaustive]pub struct CurrentUser { pub id: UserId, pub avatar: Option<String>, pub bot: bool, pub discriminator: u16, pub email: Option<String>, pub mfa_enabled: bool, pub name: String, pub verified: Option<bool>, pub public_flags: Option<UserPublicFlags>, }
Expand description
Information about the current user.
Fields (Non-exhaustive)
This struct is marked as non-exhaustive
Struct { .. }
syntax; cannot be matched against without a wildcard ..
; and struct update syntax will not work.id: UserId
avatar: Option<String>
bot: bool
discriminator: u16
email: Option<String>
mfa_enabled: bool
name: String
verified: Option<bool>
public_flags: Option<UserPublicFlags>
Implementations
Returns the formatted URL of the user’s icon, if one exists.
This will produce a WEBP image URL, or GIF if the user has a GIF avatar.
Examples
Print out the current user’s avatar url if one is set:
// assuming the cache has been unlocked let user = cache.current_user().await; match user.avatar_url() { Some(url) => println!("{}'s avatar can be found at {}", user.name, url), None => println!("{} does not have an avatar set.", user.name) }
Returns the formatted URL to the user’s default avatar URL.
This will produce a PNG URL.
pub async fn edit<F>(&mut self, http: impl AsRef<Http>, f: F) -> Result<()> where
F: FnOnce(&mut EditProfile) -> &mut EditProfile,
[src]
pub async fn edit<F>(&mut self, http: impl AsRef<Http>, f: F) -> Result<()> where
F: FnOnce(&mut EditProfile) -> &mut EditProfile,
[src]Edits the current user’s profile settings.
This mutates the current user in-place.
Refer to EditProfile
’s documentation for its methods.
Examples
Change the avatar:
let avatar = serenity::utils::read_image("./avatar.png")?; user.edit(&http, |p| p.avatar(Some(&avatar))).await;
Errors
Returns an Error::Http
if an invalid value is set.
May also return an Error::Json
if there is an error in
deserializing the API response.
Retrieves the URL to the current user’s avatar, falling back to the default avatar if needed.
This will call Self::avatar_url
first, and if that returns None
, it
then falls back to Self::default_avatar_url
.
Gets a list of guilds that the current user is in.
Examples
Print out the names of all guilds the current user is in:
// assuming the user has been bound if let Ok(guilds) = user.guilds(&http).await { for (index, guild) in guilds.into_iter().enumerate() { println!("{}: {}", index, guild.name); } }
Errors
May return an Error::Http
if the Discord API returns an error.
Also can return Error::Json
if there is an error in deserializing
the data returned by the API.
pub async fn invite_url(
&self,
http: impl AsRef<Http>,
permissions: Permissions
) -> Result<String>
[src]
pub async fn invite_url(
&self,
http: impl AsRef<Http>,
permissions: Permissions
) -> Result<String>
[src]Returns the invite url for the bot with the given permissions.
This queries the REST API for the client id.
If the permissions passed are empty, the permissions part will be dropped.
Examples
Get the invite url with no permissions set:
use serenity::model::Permissions; // assuming the user has been bound let url = match user.invite_url(&http, Permissions::empty()).await { Ok(v) => v, Err(why) => { println!("Error getting invite url: {:?}", why); return; }, }; assert_eq!(url, "https://discordapp.com/api/oauth2/authorize? \ client_id=249608697955745802&scope=bot");
Get the invite url with some basic permissions set:
use serenity::model::Permissions; // assuming the user has been bound let permissions = Permissions::READ_MESSAGES | Permissions::SEND_MESSAGES | Permissions::EMBED_LINKS; let url = match user.invite_url(&http, permissions).await { Ok(v) => v, Err(why) => { println!("Error getting invite url: {:?}", why); return; }, }; assert_eq!(url, "https://discordapp. com/api/oauth2/authorize?client_id=249608697955745802&scope=bot&permissions=19456");
Errors
Returns an
HttpError::UnsuccessfulRequest(Unauthorized)
If the user is not authorized for this end point.
May return Error::Format
while writing url to the buffer.
Returns a static formatted URL of the user’s icon, if one exists.
This will always produce a WEBP image URL.
Examples
Print out the current user’s static avatar url if one is set:
// assuming the user has been bound match user.static_avatar_url() { Some(url) => println!("{}'s static avatar can be found at {}", user.name, url), None => println!("Could not get static avatar for {}.", user.name) }
Trait Implementations
Returns the “default value” for a type. Read more
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
[src]
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
[src]Deserialize this value from the given Serde deserializer. Read more
Performs the conversion.
Performs the conversion.
Gets the Id of a CurrentUser
struct.
Performs the conversion.
Gets the Id of a CurrentUser
struct.
Auto Trait Implementations
impl RefUnwindSafe for CurrentUser
impl Send for CurrentUser
impl Sync for CurrentUser
impl Unpin for CurrentUser
impl UnwindSafe for CurrentUser
Blanket Implementations
Mutably borrows from an owned value. Read more
Instruments this type with the provided Span
, returning an
Instrumented
wrapper. Read more
type Output = T
type Output = T
Should always be Self
pub fn vzip(self) -> V