diff options
| author | Zeyla Hellyer <[email protected]> | 2017-10-31 08:51:43 -0700 |
|---|---|---|
| committer | Zeyla Hellyer <[email protected]> | 2017-10-31 08:51:43 -0700 |
| commit | d3eddc68e07bbc31e2043577cbf48741f0547ed3 (patch) | |
| tree | 0fc2dce6b79f4a5e233b2ce65e87f9c5b868725d /src | |
| parent | Slightly clarify ratelimiting documentation (diff) | |
| download | serenity-d3eddc68e07bbc31e2043577cbf48741f0547ed3.tar.xz serenity-d3eddc68e07bbc31e2043577cbf48741f0547ed3.zip | |
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.
Diffstat (limited to 'src')
| -rw-r--r-- | src/model/guild/member.rs | 14 |
1 files changed, 3 insertions, 11 deletions
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 |