From 91eed9dbd8623338ebc9e31bbb00ccd579713bc1 Mon Sep 17 00:00:00 2001 From: Kwoth Date: Fri, 20 Dec 2024 06:54:56 +0000 Subject: [PATCH] fix: fixed iam with exclusive roles (in some cases?) being broken --- .../SelfAssignableRoles/SelfAssignedRolesService.cs | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/NadekoBot/Modules/Administration/SelfAssignableRoles/SelfAssignedRolesService.cs b/src/NadekoBot/Modules/Administration/SelfAssignableRoles/SelfAssignedRolesService.cs index 49d60f3c4..f16f3cebc 100644 --- a/src/NadekoBot/Modules/Administration/SelfAssignableRoles/SelfAssignedRolesService.cs +++ b/src/NadekoBot/Modules/Administration/SelfAssignableRoles/SelfAssignedRolesService.cs @@ -280,8 +280,12 @@ public sealed class SarAssignerService : INService, IReadyExecutor if (item.Group.IsExclusive) { - var rolesToRemove = item.Group.Roles.Select(x => x.RoleId); - await item.User.RemoveRolesAsync(rolesToRemove); + var rolesToRemove = item.Group.Roles + .Where(x => item.User.RoleIds.Contains(x.RoleId)) + .Select(x => x.RoleId) + .ToArray(); + if (rolesToRemove.Length > 0) + await item.User.RemoveRolesAsync(rolesToRemove); } await item.User.AddRoleAsync(item.RoleId);