Browse Source
Fix overwrites order in get_permissions
pull/66/head
Anis B
8 years ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with
12 additions and
6 deletions
-
disco/types/channel.py
|
@ -159,12 +159,18 @@ class Channel(SlottedModel, Permissible): |
|
|
member = self.guild.get_member(user) |
|
|
member = self.guild.get_member(user) |
|
|
base = self.guild.get_permissions(member) |
|
|
base = self.guild.get_permissions(member) |
|
|
|
|
|
|
|
|
for ow in six.itervalues(self.overwrites): |
|
|
ow_everyone = self.overwrites.get(self.guild_id) |
|
|
if ow.id != user.id and ow.id not in member.roles: |
|
|
if ow_everyone: |
|
|
continue |
|
|
base += ow_everyone.compiled |
|
|
|
|
|
|
|
|
base -= ow.deny |
|
|
for role_id in member.roles: |
|
|
base += ow.allow |
|
|
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 |
|
|
return base |
|
|
|
|
|
|
|
|