///|
/// An invite code bound to the REST client that operates on it.
pub struct InviteRef {
priv client : Client
priv code : String
}
///|
/// Bind an invite code to this client.
pub fn Client::invite_ref(self : Client, code : String) -> InviteRef {
{ client: self, code, }
}
///|
/// Fetch this invite.
pub async fn InviteRef::fetch(
self : InviteRef,
with_counts? : Bool,
guild_scheduled_event_id? : @model.ScheduledEventId,
) -> @model.Invite raise DiscordHttpError {
self.client.get_invite(self.code, with_counts?, guild_scheduled_event_id?)
}
///|
/// Delete this invite.
pub async fn InviteRef::delete(
self : InviteRef,
reason? : String,
) -> @model.Invite raise DiscordHttpError {
self.client.delete_invite(self.code, audit_reason?=reason)
}
///|
/// Replace this invite's target users from a CSV file.
pub async fn InviteRef::update_target_users(
self : InviteRef,
target_users_file : FileUpload,
) -> Unit raise DiscordHttpError {
self.client.update_invite_target_users(self.code, target_users_file)
}
///|
/// Fetch this invite's latest target-user update job status.
pub async fn InviteRef::target_users_job_status(
self : InviteRef,
) -> @model.TargetUsersJobStatus raise DiscordHttpError {
self.client.get_invite_target_users_job_status(self.code)
}
///|
/// Add one user to this invite's target users.
pub async fn InviteRef::add_target_user(
self : InviteRef,
user_id : @model.UserId,
) -> Unit raise DiscordHttpError {
self.client.add_invite_target_user(self.code, user_id)
}
///|
/// Remove one user from this invite's target users.
pub async fn InviteRef::remove_target_user(
self : InviteRef,
user_id : @model.UserId,
) -> Unit raise DiscordHttpError {
self.client.remove_invite_target_user(self.code, user_id)
}
///|
/// Add up to 1000 users to this invite's target users.
pub async fn InviteRef::bulk_add_target_users(
self : InviteRef,
user_ids : Array[@model.UserId],
) -> Unit raise DiscordHttpError {
self.client.bulk_add_invite_target_users(self.code, user_ids)
}
///|
/// Remove up to 1000 users from this invite's target users.
pub async fn InviteRef::bulk_delete_target_users(
self : InviteRef,
user_ids : Array[@model.UserId],
) -> Unit raise DiscordHttpError {
self.client.bulk_delete_invite_target_users(self.code, user_ids)
}