Fixed order for permission resolving
This commit is contained in:
@@ -118,6 +118,7 @@ namespace Discord
|
||||
//Start with this user's guild permissions
|
||||
resolvedPermissions = guildPermissions;
|
||||
|
||||
//Give/Take Role permissions
|
||||
OverwritePermissions? perms;
|
||||
var roleIds = user.RoleIds;
|
||||
if (roleIds.Count > 0)
|
||||
@@ -128,15 +129,17 @@ namespace Discord
|
||||
perms = channel.GetPermissionOverwrite(guild.GetRole(roleId));
|
||||
if (perms != null)
|
||||
{
|
||||
deniedPermissions |= perms.Value.DenyValue;
|
||||
allowedPermissions |= perms.Value.AllowValue;
|
||||
deniedPermissions |= perms.Value.DenyValue;
|
||||
}
|
||||
}
|
||||
resolvedPermissions = (resolvedPermissions & ~deniedPermissions) | allowedPermissions;
|
||||
resolvedPermissions = (resolvedPermissions | allowedPermissions) & ~deniedPermissions;
|
||||
}
|
||||
|
||||
//Give/Take User permissions
|
||||
perms = channel.GetPermissionOverwrite(user);
|
||||
if (perms != null)
|
||||
resolvedPermissions = (resolvedPermissions & ~perms.Value.DenyValue) | perms.Value.AllowValue;
|
||||
resolvedPermissions = (resolvedPermissions | perms.Value.AllowValue) & ~perms.Value.DenyValue;
|
||||
|
||||
//TODO: C#7 Typeswitch candidate
|
||||
var textChannel = channel as ITextChannel;
|
||||
|
||||
Reference in New Issue
Block a user