Skip to content
This repository has been archived by the owner on Aug 1, 2021. It is now read-only.

Commit

Permalink
Fix overwrites order in Channel.get_permissions (#66)
Browse files Browse the repository at this point in the history
* Fix overwrites order in get_permissions

* [flake8] Remove whitespaces
  • Loading branch information
cookkkie authored and b1naryth1ef committed Dec 6, 2017
1 parent 6f3345d commit 2d32e9e
Showing 1 changed file with 12 additions and 6 deletions.
18 changes: 12 additions & 6 deletions disco/types/channel.py
Original file line number Diff line number Diff line change
Expand Up @@ -159,12 +159,18 @@ def get_permissions(self, user):
member = self.guild.get_member(user)
base = self.guild.get_permissions(member)

for ow in six.itervalues(self.overwrites):
if ow.id != user.id and ow.id not in member.roles:
continue

base -= ow.deny
base += ow.allow
ow_everyone = self.overwrites.get(self.guild_id)
if ow_everyone:
base += ow_everyone.compiled

for role_id in member.roles:
ow_role = self.overwrites.get(role_id)
if ow_role:
base += ow_role.compiled

ow_member = self.overwrites.get(member.user.id)
if ow_member:
base += ow_member.compiled

return base

Expand Down

0 comments on commit 2d32e9e

Please sign in to comment.