Fix deny administrator edge case bug (#1878)

(backport from permissions cleanup)
This commit is contained in:
bdistin
2017-09-03 10:39:27 -05:00
committed by Amish Shah
parent 04f0534d33
commit dbe1ae972b

View File

@@ -72,6 +72,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) {
@@ -91,9 +94,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);
}