Example #1
0
        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();
        }