Struct serenity::builder::CreateInvite
[−]
[src]
pub struct CreateInvite(pub Map<String, Value>);
A builder to create a RichInvite
for use via GuildChannel::create_invite
.
This is a structured and cleaner way of creating an invite, as all parameters are optional.
Examples
Create an invite with a max age of 3600 seconds and 10 max uses:
use serenity::client::CACHE; client.on_message(|_, msg| { if msg.content == "!createinvite" { let channel = match CACHE.read().unwrap().guild_channel(msg.channel_id) { Some(channel) => channel, None => { let _ = msg.channel_id.say("Error creating invite"); return; }, }; let reader = channel.read().unwrap(); let invite = match reader.create_invite(|i| i.max_age(3600).max_uses(10)) { Ok(invite) => invite, Err(why) => { println!("Err creating invite: {:?}", why); if let Err(why) = msg.channel_id.say("Error creating invite") { println!("Err sending err msg: {:?}", why); } return; }, }; drop(reader); let content = format!("Here's your invite: {}", invite.url()); let _ = msg.channel_id.say(&content); } });
Methods
impl CreateInvite
[src]
fn max_age(self, max_age: u64) -> Self
The duration that the invite will be valid for.
Set to 0
for an invite which does not expire after an amount of time.
Defaults to 86400
, or 24 hours.
Examples
Create an invite with a max age of 3600
seconds, or 1 hour:
let invite = channel.create_invite(|i| i.max_age(3600))?;
fn max_uses(self, max_uses: u64) -> Self
The number of uses that the invite will be valid for.
Set to 0
for an invite which does not expire after a number of uses.
Defaults to 0
.
Examples
Create an invite with a max use limit of 5
:
let invite = channel.create_invite(|i| i.max_uses(5))?;
fn temporary(self, temporary: bool) -> Self
Whether an invite grants a temporary membership.
Defaults to false
.
Examples
Create an invite which is temporary:
let invite = channel.create_invite(|i| i.temporary(true))?;
fn unique(self, unique: bool) -> Self
Whether or not to try to reuse a similar invite.
Defaults to false
.
Examples
Create an invite which is unique:
let invite = channel.create_invite(|i| i.unique(true))?;
Trait Implementations
impl Clone for CreateInvite
[src]
fn clone(&self) -> CreateInvite
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0
Performs copy-assignment from source
. Read more
impl Debug for CreateInvite
[src]
impl Default for CreateInvite
[src]
fn default() -> CreateInvite
Creates a builder with default values, setting validate
to null
.
Examples
Create a default CreateInvite
builder:
use serenity::utils::builder::CreateInvite; let invite_builder = CreateInvite::default();