diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/model/event.rs | 2 | ||||
| -rw-r--r-- | src/model/guild/partial_guild.rs | 3 |
2 files changed, 5 insertions, 0 deletions
diff --git a/src/model/event.rs b/src/model/event.rs index e0f1993..db5a7c7 100644 --- a/src/model/event.rs +++ b/src/model/event.rs @@ -3,6 +3,7 @@ use serde::de::Error as DeError; use serde_json::{self, Error as JsonError}; use std::collections::HashMap; +use super::utils::deserialize_emojis; use super::*; use ::constants::{OpCode, VoiceOpCode}; use ::internal::prelude::*; @@ -134,6 +135,7 @@ impl Deserialize for GuildDeleteEvent { #[derive(Clone, Debug, Deserialize)] pub struct GuildEmojisUpdateEvent { + #[serde(deserialize_with="deserialize_emojis")] pub emojis: HashMap<EmojiId, Emoji>, pub guild_id: GuildId, } diff --git a/src/model/guild/partial_guild.rs b/src/model/guild/partial_guild.rs index 2be0ae2..8c1113b 100644 --- a/src/model/guild/partial_guild.rs +++ b/src/model/guild/partial_guild.rs @@ -1,3 +1,4 @@ +use super::super::utils::{deserialize_emojis, deserialize_roles}; use ::model::*; use ::utils::builder::{EditGuild, EditMember, EditRole}; @@ -13,6 +14,7 @@ pub struct PartialGuild { pub default_message_notifications: u64, pub embed_channel_id: Option<ChannelId>, pub embed_enabled: bool, + #[serde(deserialize_with="deserialize_emojis")] pub emojis: HashMap<EmojiId, Emoji>, pub features: Vec<Feature>, pub icon: Option<String>, @@ -20,6 +22,7 @@ pub struct PartialGuild { pub name: String, pub owner_id: UserId, pub region: String, + #[serde(deserialize_with="deserialize_roles")] pub roles: HashMap<RoleId, Role>, pub splash: Option<String>, pub verification_level: VerificationLevel, |