Пример #1
0
        private static List <EmbedBuilder> BuildKillerEmbed(string player, List <KillDto> kills, DateTime from, DateTime to)
        {
            var title  = $"Killer Stats for {player} since {from.ToString("dd/MM HH:mm")}";
            var footer = $"{kills.Count} kills. {kills.Sum(a=>a.Power).ToString("N0")} power destroyed.";

            var dataRows = kills.OrderByDescending(a => a.KilledOn).Select(x => $"#{x.Id} [{x.Alliance}] {x.Victim} on {x.KilledOn.ToString("dd/MM HH:mm")} ({ x.Power.ToString("N0")}) [Img]({x.ImageLink})").ToList();

            return(EmbedPaginator.Paginate(dataRows, title, "Confirmed Kills", footer));
        }
Пример #2
0
        private static List <EmbedBuilder> BuildVictimEmbed(List <KillDto> kills, DateTime from)
        {
            var victimName     = kills.First().Victim;
            var victimAlliance = kills.First().Alliance;

            var title  = $"Victim Stats for [{victimAlliance}] {victimName} since {from.ToString("dd/MM HH:mm")}";
            var footer = $"{kills.Count} kills. {kills.Sum(a=>a.Power).ToString("N0")} power destroyed.";

            var dataRows = kills.OrderByDescending(a => a.KilledOn).Select(x => $"#{x.Id} [{x.Alliance}] {x.Victim} Killed By {x.KilledBy} on {x.KilledOn.ToString("dd/MM HH:mm")} ({x.Power.ToString("N0")}) [Img]({x.ImageLink})").ToList();

            return(EmbedPaginator.Paginate(dataRows, title, "Confirmed Kills", footer));
        }
Пример #3
0
        private static async Task DisplayCategoryHelp(CommandContext ctx, Category?catOrAll = null)
        {
            var paginator = new EmbedPaginator(ctx.Client.GetInteractivity())
            {
                ShowPageNumbers = true
            };

            paginator.Users.Add(ctx.Member.Id);

            paginator.Embeds.AddRange(catOrAll is Category cat
                ? GetCategoryPages(ctx, cat)
                : Enum.GetValues(typeof(Category)).Cast <Category>().SelectMany(cat => GetCategoryPages(ctx, cat)));

            await paginator.Display(ctx.Channel);
        }
Пример #4
0
        private static List <EmbedBuilder> BuildPowerDestroyedLeaderBoardEmbed(List <LeaderboardDto> kills, int days,
                                                                               int leaderboardCount, string alliance)
        {
            var title = $"Top {leaderboardCount} Killers by Power Destroyed for the last {days} days";

            if (alliance != null)
            {
                title += " VS " + alliance;
            }

            var footer = $"{kills.Sum(a=>a.TotalKills)} kills. {kills.Sum(a=>a.TotalPower).ToString("N0")} power destroyed.";

            int index = 1;

            var dataRows = kills.OrderByDescending(a => a.TotalPower).Select(x => $"{index++}. {x.Player} with {x.TotalPower.ToString("N0")} power ({(x.TotalPower / x.TotalKills).ToString("N0")} average)").ToList();

            return(EmbedPaginator.Paginate(dataRows, title, "Top Killers", footer));
        }