From fd77a91f2ba7c782f3e0e67ecee19df17bb31e26 Mon Sep 17 00:00:00 2001 From: Zeyla Hellyer Date: Wed, 25 Apr 2018 21:37:54 -0700 Subject: Fix "Guild Member Chunk" deserialization --- src/model/event.rs | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/model/event.rs b/src/model/event.rs index c88a59c..04169a6 100644 --- a/src/model/event.rs +++ b/src/model/event.rs @@ -615,8 +615,17 @@ impl<'de> Deserialize<'de> for GuildMembersChunkEvent { } } - let members: HashMap = - Deserialize::deserialize(members).map_err(DeError::custom)?; + let members = serde_json::from_value::>(members) + .map(|members| members + .into_iter() + .fold(HashMap::new(), |mut acc, member| { + let id = member.user.read().id; + + acc.insert(id, member); + + acc + })) + .map_err(DeError::custom)?; Ok(GuildMembersChunkEvent { guild_id, -- cgit v1.2.3