Пример #1
0
        public async Task Top10()
        {
            var activity = await _activitiesRepository.Find((IGuildUser)Context.User);

            activity.PickupTop10 += 1;
            await _activitiesRepository.Update(activity);

            var list = await _activitiesRepository.List(Context.Guild.Id);

            var activities = list as SubscriberActivities[] ?? list.ToArray();

            if (activities.IsNullOrEmpty())
            {
                BotMessageHelper.AutoRemoveMessage(await ReplyAsync("No data yet, get active!"), 10);
                return;
            }

            var users = Context.Guild.Users
                        .Where(w => activities.Select(x => Convert.ToUInt64(x.RowKey)).Contains(w.Id))
                        .ToList();

            var embed = new EmbedBuilder
            {
                Title = "Top 10"
            };

            AddTopPlayers(embed, users, activities, a => a.PickupCreate, "create");
            AddTopPlayers(embed, users, activities, a => a.PickupAdd, "add");
            AddTopPlayers(embed, users, activities, a => a.PickupPromote, "promote", "spammers");
            AddTopPlayers(embed, users, activities, a => a.PickupTop10, "top10", "stats junkies");

            await ReplyAsync(embed : embed.Build()).AutoRemoveMessage(60);
        }