overwrites are being difficult

This commit is contained in:
brandons209 2020-02-08 19:42:43 -05:00
parent 6e2fd2b54d
commit 79c64a6cb5
4 changed files with 12 additions and 8 deletions

View file

@ -1123,7 +1123,8 @@ class Isolate(commands.Cog):
else:
voice_overwrite = DEFAULT_VOICE_OVERWRITE
overwrite_denies_speak = (voice_overwrite.speak is False) or (voice_overwrite.connect is False)
voice_deny = voice_overwrite.pair()[1]
overwrite_denies_speak = (voice_deny.speak is False) or (voice_deny.connect is False)
# remove all roles from user that are specified in remove_role_list, only if its a new isolati
if str(member.id) not in isolated:

View file

@ -181,12 +181,13 @@ def permissions_for_roles(channel, *roles):
# Apply channel specific role permission overwrites
for target, overwrite in channel.overwrites.items():
# Handle default role first, if present
allow, deny = overwrite.pair()
if overwrite == default:
base.handle_overwrite(allow=overwrite.allow, deny=overwrite.deny)
base.handle_overwrite(allow=allow, deny=deny)
if isinstance(target, discord.Role) and target.id in role_ids:
denies |= overwrite.deny
allows |= overwrite.allow
denies |= deny
allows |= allow
base.handle_overwrite(allow=allows, deny=denies)

View file

@ -1193,7 +1193,8 @@ class Punish(commands.Cog):
else:
voice_overwrite = DEFAULT_VOICE_OVERWRITE
overwrite_denies_speak = (voice_overwrite.speak is False) or (voice_overwrite.connect is False)
voice_deny = voice_overwrite.pair()[1]
overwrite_denies_speak = (voice_deny.speak is False) or (voice_deny.connect is False)
# remove all roles from user that are specified in remove_role_list, only if its a new punish
if str(member.id) not in punished:

View file

@ -181,12 +181,13 @@ def permissions_for_roles(channel, *roles):
# Apply channel specific role permission overwrites
for target, overwrite in channel.overwrites.items():
# Handle default role first, if present
allow, deny = overwrite.pair()
if overwrite == default:
base.handle_overwrite(allow=overwrite.allow, deny=overwrite.deny)
base.handle_overwrite(allow=allow, deny=deny)
if isinstance(target, discord.Role) and target.id in role_ids:
denies |= overwrite.deny
allows |= overwrite.allow
denies |= deny
allows |= allow
base.handle_overwrite(allow=allows, deny=denies)