Fix deny administrator edge case bug

(backport from permissions cleanup)
This commit is contained in:
bdistin
2017-09-03 10:34:50 -05:00
committed by iCrawl
parent 4df2adc801
commit 0d6b7ce641

View File

@@ -73,6 +73,9 @@ class GuildChannel extends Channel {
const roles = member.roles;
for (const role of roles.values()) permissions |= role.permissions;
const admin = Boolean(permissions & Permissions.FLAGS.ADMINISTRATOR);
if (admin) return new Permissions(Permissions.ALL);
const overwrites = this.overwritesFor(member, true, roles);
if (overwrites.everyone) {
@@ -92,9 +95,6 @@ class GuildChannel extends Channel {
permissions |= overwrites.member.allow;
}
const admin = Boolean(permissions & Permissions.FLAGS.ADMINISTRATOR);
if (admin) permissions = Permissions.ALL;
return new Permissions(member, permissions);
}