From d3eddc68e07bbc31e2043577cbf48741f0547ed3 Mon Sep 17 00:00:00 2001 From: Zeyla Hellyer Date: Tue, 31 Oct 2017 08:51:43 -0700 Subject: Make Member::permissions return guild permissions Fixes what is realistically a bug where `Member::permissions` would retrieve the permissions for the Member in the default channel of the guild. This now only returns the guild-level permissions of the member. --- src/model/guild/member.rs | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) (limited to 'src/model') diff --git a/src/model/guild/member.rs b/src/model/guild/member.rs index a9de969..c81e2a3 100644 --- a/src/model/guild/member.rs +++ b/src/model/guild/member.rs @@ -265,7 +265,7 @@ impl Member { self.guild_id.kick(self.user.read().unwrap().id) } - /// Returns the permissions for the member. + /// Returns the guild-level permissions for the member. /// /// # Examples /// @@ -292,17 +292,9 @@ impl Member { None => return Err(From::from(ModelError::GuildNotFound)), }; - let guild = guild.read().unwrap(); + let reader = guild.read().unwrap(); - let default_channel = match guild.default_channel() { - Some(dc) => dc, - None => return Err(From::from(ModelError::ItemMissing)), - }; - - Ok( - guild - .permissions_in(default_channel.id, self.user.read().unwrap().id), - ) + Ok(reader.member_permissions(self.user.read().unwrap().id)) } /// Removes a [`Role`] from the member, editing its roles in-place if the -- cgit v1.2.3