aboutsummaryrefslogtreecommitdiff
path: root/src/model/guild/mod.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/model/guild/mod.rs')
-rw-r--r--src/model/guild/mod.rs59
1 files changed, 57 insertions, 2 deletions
diff --git a/src/model/guild/mod.rs b/src/model/guild/mod.rs
index 32b5ee2..d6a2c50 100644
--- a/src/model/guild/mod.rs
+++ b/src/model/guild/mod.rs
@@ -1,3 +1,5 @@
+//! Models relating to guilds and types that it owns.
+
mod emoji;
mod guild_id;
mod integration;
@@ -15,7 +17,7 @@ pub use self::role::*;
pub use self::audit_log::*;
use chrono::{DateTime, FixedOffset};
-use model::*;
+use model::prelude::*;
use serde::de::Error as DeError;
use serde_json;
use super::utils::*;
@@ -1363,7 +1365,7 @@ impl Guild {
/// Obtain a reference to a [`Role`] by its name.
///
/// ```rust,no_run
- /// use serenity::model::*;
+ /// use serenity::model::prelude::*;
/// use serenity::prelude::*;
///
/// struct Handler;
@@ -1583,6 +1585,19 @@ fn closest_to_origin(origin: &str, word_a: &str, word_b: &str) -> std::cmp::Orde
value_a.cmp(&value_b)
}
+/// A container for guilds.
+///
+/// This is used to differentiate whether a guild itself can be used or whether
+/// a guild needs to be retrieved from the cache.
+#[allow(large_enum_variant)]
+#[derive(Clone, Debug)]
+pub enum GuildContainer {
+ /// A guild which can have its contents directly searched.
+ Guild(PartialGuild),
+ /// A guild's id, which can be used to search the cache for a guild.
+ Id(GuildId),
+}
+
/// Information relating to a guild's widget embed.
#[derive(Clone, Copy, Debug, Deserialize)]
pub struct GuildEmbed {
@@ -1747,6 +1762,46 @@ impl MfaLevel {
}
}
+/// The name of a region that a voice server can be located in.
+#[derive(Copy, Clone, Debug, Deserialize, Eq, Hash, PartialEq, PartialOrd, Ord, Serialize)]
+pub enum Region {
+ #[serde(rename = "amsterdam")] Amsterdam,
+ #[serde(rename = "brazil")] Brazil,
+ #[serde(rename = "eu-central")] EuCentral,
+ #[serde(rename = "eu-west")] EuWest,
+ #[serde(rename = "frankfurt")] Frankfurt,
+ #[serde(rename = "london")] London,
+ #[serde(rename = "sydney")] Sydney,
+ #[serde(rename = "us-central")] UsCentral,
+ #[serde(rename = "us-east")] UsEast,
+ #[serde(rename = "us-south")] UsSouth,
+ #[serde(rename = "us-west")] UsWest,
+ #[serde(rename = "vip-amsterdam")] VipAmsterdam,
+ #[serde(rename = "vip-us-east")] VipUsEast,
+ #[serde(rename = "vip-us-west")] VipUsWest,
+}
+
+impl Region {
+ pub fn name(&self) -> &str {
+ match *self {
+ Region::Amsterdam => "amsterdam",
+ Region::Brazil => "brazil",
+ Region::EuCentral => "eu-central",
+ Region::EuWest => "eu-west",
+ Region::Frankfurt => "frankfurt",
+ Region::London => "london",
+ Region::Sydney => "sydney",
+ Region::UsCentral => "us-central",
+ Region::UsEast => "us-east",
+ Region::UsSouth => "us-south",
+ Region::UsWest => "us-west",
+ Region::VipAmsterdam => "vip-amsterdam",
+ Region::VipUsEast => "vip-us-east",
+ Region::VipUsWest => "vip-us-west",
+ }
+ }
+}
+
enum_number!(
#[doc="The level to set as criteria prior to a user being able to send
messages in a [`Guild`].