diff --git a/src/Discord.Net/Models/User.cs b/src/Discord.Net/Models/User.cs index 4f53cdc07..29f99eb93 100644 --- a/src/Discord.Net/Models/User.cs +++ b/src/Discord.Net/Models/User.cs @@ -319,8 +319,11 @@ namespace Discord newPermissions |= allowUser.Allow.RawValue; } - if (BitHelper.GetBit(newPermissions, (int)PermissionsBits.ManageRolesOrPermissions)) + var mask = ChannelPermissions.All(channel).RawValue; + if (BitHelper.GetBit(newPermissions, (int)PermissionsBits.ManageRolesOrPermissions)) newPermissions = ChannelPermissions.All(channel).RawValue; + else + newPermissions &= mask; if (newPermissions != oldPermissions) {