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
No known key found for this signature in database
GPG key ID: FD8FDBE0F348A05E

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);
}