aboutsummaryrefslogtreecommitdiff
path: root/src/utils/builder/create_invite.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/utils/builder/create_invite.rs')
-rw-r--r--src/utils/builder/create_invite.rs84
1 files changed, 0 insertions, 84 deletions
diff --git a/src/utils/builder/create_invite.rs b/src/utils/builder/create_invite.rs
deleted file mode 100644
index 6ff2a67..0000000
--- a/src/utils/builder/create_invite.rs
+++ /dev/null
@@ -1,84 +0,0 @@
-use serde_json::Value;
-use std::default::Default;
-use ::internal::prelude::*;
-
-/// A builder to create a [`RichInvite`] for use via [`Context::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:
-///
-/// ```rust,ignore
-/// use serenity::Client;
-/// use std::env;
-///
-/// let mut client = Client::login(&env::var("DISCORD_BOT_TOKEN").unwrap());
-///
-/// client.on_message(|_, message| {
-/// if message.content == "!invite" {
-/// let invite = message.channel_id.create_invite(|i| i
-/// .max_age(3600)
-/// .max_uses(10));
-/// }
-/// });
-/// ```
-///
-/// [`Context::create_invite`]: ../../client/struct.Context.html#method.create_invite
-/// [`RichInvite`]: ../../model/struct.Invite.html
-#[derive(Clone, Debug)]
-pub struct CreateInvite(pub JsonMap);
-
-impl CreateInvite {
- /// 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.
- pub fn max_age(mut self, max_age: u64) -> Self {
- self.0.insert("max_age".to_owned(), Value::Number(Number::from(max_age)));
-
- 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`.
- pub fn max_uses(mut self, max_uses: u64) -> Self {
- self.0.insert("max_uses".to_owned(), Value::Number(Number::from(max_uses)));
-
- self
- }
-
- /// Whether an invite grants a temporary membership.
- ///
- /// Defaults to `false`.
- pub fn temporary(mut self, temporary: bool) -> Self {
- self.0.insert("temporary".to_owned(), Value::Bool(temporary));
-
- self
- }
-
- /// Whether or not to try to reuse a similar invite.
- ///
- /// Defaults to `false`.
- pub fn unique(mut self, unique: bool) -> Self {
- self.0.insert("unique".to_owned(), Value::Bool(unique));
-
- self
- }
-}
-
-impl Default for CreateInvite {
- /// Creates a builder with default values, setting `validate` to `null`.
- fn default() -> CreateInvite {
- let mut map = Map::new();
- map.insert("validate".to_owned(), Value::Null);
-
- CreateInvite(map)
- }
-}