[V3 Checks] Respect administrator and guildowner permissions (#1711)

* respect admin and guildowner (implicitly) in checks for permissions

* this needed it too
This commit is contained in:
Michael H
2018-05-24 11:17:21 -04:00
committed by Tobotimus
parent ccbaa926ce
commit 928be5717f
2 changed files with 12 additions and 4 deletions

View File

@@ -19,7 +19,9 @@ def mod_or_voice_permissions(**perms):
for vc in guild.voice_channels:
resolved = vc.permissions_for(author)
good = all(getattr(resolved, name, None) == value for name, value in perms.items())
good = resolved.administrator or all(
getattr(resolved, name, None) == value for name, value in perms.items()
)
if not good:
return False
else:
@@ -40,7 +42,9 @@ def admin_or_voice_permissions(**perms):
return True
for vc in guild.voice_channels:
resolved = vc.permissions_for(author)
good = all(getattr(resolved, name, None) == value for name, value in perms.items())
good = resolved.administrator or all(
getattr(resolved, name, None) == value for name, value in perms.items()
)
if not good:
return False
else:
@@ -55,7 +59,9 @@ def bot_has_voice_permissions(**perms):
guild = ctx.guild
for vc in guild.voice_channels:
resolved = vc.permissions_for(guild.me)
good = all(getattr(resolved, name, None) == value for name, value in perms.items())
good = resolved.administrator or all(
getattr(resolved, name, None) == value for name, value in perms.items()
)
if not good:
return False
else: