mirror of
https://github.com/discordjs/discord.js.git
synced 2026-03-14 02:23:31 +01:00
Fix deny administrator edge case bug (#1878)
(backport from permissions cleanup)
This commit is contained in:
@@ -72,6 +72,9 @@ class GuildChannel extends Channel {
|
|||||||
const roles = member.roles;
|
const roles = member.roles;
|
||||||
for (const role of roles.values()) permissions |= role.permissions;
|
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);
|
const overwrites = this.overwritesFor(member, true, roles);
|
||||||
|
|
||||||
if (overwrites.everyone) {
|
if (overwrites.everyone) {
|
||||||
@@ -91,9 +94,6 @@ class GuildChannel extends Channel {
|
|||||||
permissions |= overwrites.member.allow;
|
permissions |= overwrites.member.allow;
|
||||||
}
|
}
|
||||||
|
|
||||||
const admin = Boolean(permissions & Permissions.FLAGS.ADMINISTRATOR);
|
|
||||||
if (admin) permissions = Permissions.ALL;
|
|
||||||
|
|
||||||
return new Permissions(member, permissions);
|
return new Permissions(member, permissions);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user