From 0d6b7ce6419ea8c7fad55d515cac37c45aba8a98 Mon Sep 17 00:00:00 2001 From: bdistin Date: Sun, 3 Sep 2017 10:34:50 -0500 Subject: [PATCH] Fix deny administrator edge case bug (backport from permissions cleanup) --- src/structures/GuildChannel.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/structures/GuildChannel.js b/src/structures/GuildChannel.js index b1ad692b9..f54e60297 100644 --- a/src/structures/GuildChannel.js +++ b/src/structures/GuildChannel.js @@ -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); }