private async Task UpdateWearOf(SocketGuildUser user) { var account = UserAccounts.GetAccount(user); var color = account.Equipment.Find(x => x.ID == account.ActuallyColor); bool needToAddRole = true; foreach (var e in account.Equipment) { if (Miscelenaous.IsUserRankOwner(user, e.Name)) { if (e.ID == AvalibleColors[account.ActuallyColor].ID) { needToAddRole = false; continue; } var roleToDelete = user.Guild.Roles.FirstOrDefault(r => r.Name == e.Name); await user.RemoveRoleAsync(roleToDelete); } } if (needToAddRole) { var role = user.Guild.Roles.FirstOrDefault(r => r.Name == AvalibleColors[account.ActuallyColor].Name); await user.AddRoleAsync(role); } UserAccounts.SaveAccounts(); }