#[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<User>,
pub target_type: Option<InviteTargetType>,
pub target_user: Option<UserId>,
pub target_application: Option<ApplicationId>,
pub expires_at: Option<Timestamp>,
pub stage_instance: Option<InviteStageInstance>,
}
Expand description
Information about an invite code.
Information can not be accessed for guilds the current user is banned from.
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.approximate_member_count: Option<u64>
approximate_presence_count: Option<u64>
The approximate number of Member
s 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<User>
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.
target_type: Option<InviteTargetType>
The type of target for this voice channel invite.
target_user: Option<UserId>
The user whose stream to display for this voice channel stream invite.
Only shows up if target_type
is Stream
.
target_application: Option<ApplicationId>
The embedded application to open for this voice channel embedded application invite.
Only shows up if target_type
is EmmbeddedApplication
.
expires_at: Option<Timestamp>
The expiration date of this invite, returned from Http::get_invite
when
with_expiration
is true.
stage_instance: Option<InviteStageInstance>
The Stage instance data if there is a public Stage instance in the Stage channel this invite is for.
Implementations
sourceimpl Invite
impl Invite
sourcepub async fn create<F>(
cache_http: impl CacheHttp,
channel_id: impl Into<ChannelId>,
f: F
) -> Result<RichInvite> where
F: FnOnce(CreateInvite) -> CreateInvite,
Available on crate feature model
only.
pub async fn create<F>(
cache_http: impl CacheHttp,
channel_id: impl Into<ChannelId>,
f: F
) -> Result<RichInvite> where
F: FnOnce(CreateInvite) -> CreateInvite,
model
only.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 Instant Invite permission.
Errors
If the cache
is enabled, returns a ModelError::InvalidPermissions
if the current user does not have the required permission.
sourcepub async fn delete(&self, cache_http: impl CacheHttp) -> Result<Invite>
Available on crate feature model
only.
pub async fn delete(&self, cache_http: impl CacheHttp) -> Result<Invite>
model
only.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.
sourcepub async fn get(
http: impl AsRef<Http>,
code: &str,
member_counts: bool,
expiration: bool,
event_id: Option<u64>
) -> Result<Invite>
Available on crate feature model
only.
pub async fn get(
http: impl AsRef<Http>,
code: &str,
member_counts: bool,
expiration: bool,
event_id: Option<u64>
) -> Result<Invite>
model
only.Gets information about an invite.
Arguments
code
- The invite code.member_counts
- Whether to include information about the current number of members in the server that the invite belongs to.expiration
- Whether to include information about when the invite expires.event_id
- An optional server event ID to include with the invite.
More information about these arguments can be found on Discord’s API documentation.
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.
Trait Implementations
sourceimpl<'de> Deserialize<'de> for Invite
impl<'de> Deserialize<'de> for Invite
sourcefn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
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
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
fn vzip(self) -> V
sourceimpl<T> WithSubscriber for T
impl<T> WithSubscriber for T
sourcefn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
Attaches the provided Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
sourcefn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more