aboutsummaryrefslogtreecommitdiff
path: root/src/model/guild
diff options
context:
space:
mode:
Diffstat (limited to 'src/model/guild')
-rw-r--r--src/model/guild/member.rs5
-rw-r--r--src/model/guild/mod.rs5
2 files changed, 6 insertions, 4 deletions
diff --git a/src/model/guild/member.rs b/src/model/guild/member.rs
index 99bf67b..0082643 100644
--- a/src/model/guild/member.rs
+++ b/src/model/guild/member.rs
@@ -1,3 +1,4 @@
+use chrono::{DateTime, FixedOffset};
use std::fmt::{Display, Formatter, Result as FmtResult};
use super::deserialize_sync_user;
use ::model::*;
@@ -23,7 +24,7 @@ pub struct Member {
/// The unique Id of the guild that the member is a part of.
pub guild_id: Option<GuildId>,
/// Timestamp representing the date when the member joined.
- pub joined_at: String,
+ pub joined_at: Option<DateTime<FixedOffset>>,
/// Indicator of whether the member can speak in voice channels.
pub mute: bool,
/// The member's nickname, if present.
@@ -326,7 +327,7 @@ impl Member {
.unwrap()
.members
.values()
- .any(|m| m.user.read().unwrap().id == self.user.read().unwrap().id && m.joined_at == *self.joined_at))
+ .any(|m| m.user.read().unwrap().id == self.user.read().unwrap().id && m.joined_at == self.joined_at))
.map(|guild| guild
.read()
.unwrap()
diff --git a/src/model/guild/mod.rs b/src/model/guild/mod.rs
index 24e1881..a744b2c 100644
--- a/src/model/guild/mod.rs
+++ b/src/model/guild/mod.rs
@@ -14,6 +14,7 @@ pub use self::member::*;
pub use self::partial_guild::*;
pub use self::role::*;
+use chrono::{DateTime, FixedOffset};
use serde::de::Error as DeError;
use serde_json;
use super::utils::*;
@@ -73,7 +74,7 @@ pub struct Guild {
/// that of the default channel (typically `#general`).
pub id: GuildId,
/// The date that the current user joined the guild.
- pub joined_at: String,
+ pub joined_at: DateTime<FixedOffset>,
/// Indicator of whether the guild is considered "large" by Discord.
pub large: bool,
/// The number of members in the guild.
@@ -1149,7 +1150,7 @@ impl<'de> Deserialize<'de> for Guild {
.map_err(DeError::custom)?;
let joined_at = map.remove("joined_at")
.ok_or_else(|| DeError::custom("expected guild joined_at"))
- .and_then(String::deserialize)
+ .and_then(DateTime::deserialize)
.map_err(DeError::custom)?;
let large = map.remove("large")
.ok_or_else(|| DeError::custom("expected guild large"))