From 277c7af3be05e24e6a0c09e443de7131e721b48f Mon Sep 17 00:00:00 2001 From: Misha133 <61027276+Misha-133@users.noreply.github.com> Date: Mon, 22 May 2023 23:36:20 +0300 Subject: [PATCH] Revert "Optimize Add/RemoveRolesAsync methods (#2614)" (#2680) This reverts commit 11481a159e84b6c89d83186c0c3c60d7664c91dc. --- src/Discord.Net.Rest/Entities/Users/UserHelper.cs | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/src/Discord.Net.Rest/Entities/Users/UserHelper.cs b/src/Discord.Net.Rest/Entities/Users/UserHelper.cs index b47da89c..965d83d2 100644 --- a/src/Discord.Net.Rest/Entities/Users/UserHelper.cs +++ b/src/Discord.Net.Rest/Entities/Users/UserHelper.cs @@ -81,18 +81,14 @@ namespace Discord.Rest public static async Task AddRolesAsync(IGuildUser user, BaseDiscordClient client, IEnumerable roleIds, RequestOptions options) { - await client.ApiClient.ModifyGuildMemberAsync(user.GuildId, user.Id, args: new() - { - RoleIds = user.RoleIds.Except(new[] { user.Guild.Id }).Concat(roleIds).Distinct().ToArray() - }, options); + foreach (var roleId in roleIds) + await client.ApiClient.AddRoleAsync(user.Guild.Id, user.Id, roleId, options).ConfigureAwait(false); } public static async Task RemoveRolesAsync(IGuildUser user, BaseDiscordClient client, IEnumerable roleIds, RequestOptions options) { - await client.ApiClient.ModifyGuildMemberAsync(user.GuildId, user.Id, args: new() - { - RoleIds = user.RoleIds.Except(new[] { user.Guild.Id }).Except(roleIds).ToArray() - }, options); + foreach (var roleId in roleIds) + await client.ApiClient.RemoveRoleAsync(user.Guild.Id, user.Id, roleId, options).ConfigureAwait(false); } public static async Task SetTimeoutAsync(IGuildUser user, BaseDiscordClient client, TimeSpan span, RequestOptions options)