#[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>,
pub scheduled_event: Option<ScheduledEvent>,
}
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.
scheduled_event: Option<ScheduledEvent>
Guild scheduled event data, only included if guild_scheduled_event_id contains a valid guild scheduled event id (according to Discord docs, whatever that means).
Implementations§
Source§impl Invite
impl Invite
Sourcepub async fn create(
cache_http: impl CacheHttp,
channel_id: impl Into<ChannelId>,
builder: CreateInvite<'_>,
) -> Result<RichInvite>
pub async fn create( cache_http: impl CacheHttp, channel_id: impl Into<ChannelId>, builder: CreateInvite<'_>, ) -> Result<RichInvite>
Creates an invite for the given channel.
Note: Requires the Create Instant Invite permission.
§Errors
If the cache
is enabled, returns ModelError::InvalidPermissions
if the current user
lacks permission. Otherwise returns Error::Http
, as well as if invalid data is given.
Sourcepub async fn delete(&self, cache_http: impl CacheHttp) -> Result<Invite>
pub async fn delete(&self, cache_http: impl CacheHttp) -> Result<Invite>
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<ScheduledEventId>,
) -> Result<Invite>
pub async fn get( http: impl AsRef<Http>, code: &str, member_counts: bool, expiration: bool, event_id: Option<ScheduledEventId>, ) -> Result<Invite>
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.