Struct serenity::model::invite::Invite[][src]

#[non_exhaustive]pub struct Invite {
    pub approximate_member_count: Option<u64>,
    pub approximate_presence_count: Option<u64>,
    pub code: String,
    pub channel: InviteChannel,
    pub guild: Option<InviteGuild>,
    pub inviter: Option<InviteUser>,
}

Information about an invite code.

Information can not be accessed for guilds the current user is banned from.

Fields (Non-exhaustive)

Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional Struct {{ .. }} syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.
approximate_member_count: Option<u64>

The approximate number of Members in the related Guild.

approximate_presence_count: Option<u64>

The approximate number of Members with an active session in the related Guild.

An active session is defined as an open, heartbeating WebSocket connection. These include invisible members.

code: String

The unique code for the invite.

channel: InviteChannel

A representation of the minimal amount of information needed about the GuildChannel being invited to.

guild: Option<InviteGuild>

A representation of the minimal amount of information needed about the Guild being invited to.

inviter: Option<InviteUser>

A representation of the minimal amount of information needed about the User that created the invite.

This can be None for invites created by Discord such as invite-widgets or vanity invite links.

Implementations

impl Invite[src]

pub async fn create<F>(
    cache_http: impl CacheHttp,
    channel_id: impl Into<ChannelId>,
    f: F
) -> Result<RichInvite> where
    F: FnOnce(CreateInvite) -> CreateInvite
[src]

Creates an invite for a GuildChannel, providing a builder so that fields may optionally be set.

See the documentation for the CreateInvite builder for information on how to use this and the default values that it provides.

Requires the Create Invite permission.

Errors

If the cache is enabled, returns a ModelError::InvalidPermissions if the current user does not have the required permission.

pub async fn delete(&self, cache_http: impl CacheHttp) -> Result<Invite>[src]

Deletes the invite.

Note: Requires the Manage Guild permission.

Errors

If the cache is enabled, returns a ModelError::InvalidPermissions if the current user does not have the required permission.

Otherwise may return Error::Http if permissions are lacking, or if the invite is invalid.

pub async fn get(
    http: impl AsRef<Http>,
    code: &str,
    stats: bool
) -> Result<Invite>
[src]

Gets the information about an invite.

Errors

May return an Error::Http if the invite is invalid. Can also return an Error::Json if there is an error deserializing the API response.

pub fn url(&self) -> String[src]

Returns a URL to use for the invite.

Examples

Retrieve the URL for an invite with the code WxZumR:

assert_eq!(invite.url(), "https://discord.gg/WxZumR");

Trait Implementations

impl Clone for Invite[src]

impl Debug for Invite[src]

impl<'de> Deserialize<'de> for Invite[src]

impl Serialize for Invite[src]

Auto Trait Implementations

impl RefUnwindSafe for Invite

impl Send for Invite

impl Sync for Invite

impl Unpin for Invite

impl UnwindSafe for Invite

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> DeserializeOwned for T where
    T: for<'de> Deserialize<'de>, 
[src]

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,