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)); }
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)); }
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); }
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)); }