public async Task StatsAsync(CommandContext ctx) { IReadOnlyList <DatabaseGameStats> topStats = await this.Database.GetTopNumberRaceStatsAsync(); string top = await DatabaseGameStatsExtensions.BuildStatsStringAsync(ctx.Client, topStats, s => s.BuildNumberRaceStatsString()); await this.InformAsync(ctx, StaticDiscordEmoji.Trophy, $"Top players in Number Race:\n\n{top}"); }
public async Task LeaderboardAsync(CommandContext ctx) { var emb = new DiscordEmbedBuilder { Title = $"{StaticDiscordEmoji.Trophy} HALL OF FAME {StaticDiscordEmoji.Trophy}", Color = DiscordColor.Chartreuse }; IReadOnlyList <DatabaseGameStats> topStats; string top; topStats = await this.Database.GetTopAnimalRaceStatsAsync(); top = await DatabaseGameStatsExtensions.BuildStatsStringAsync(ctx.Client, topStats, s => s.BuildAnimalRaceStatsString()); emb.AddField("Top players in Animal Race", top, inline: true); topStats = await this.Database.GetTopCaroStatsAsync(); top = await DatabaseGameStatsExtensions.BuildStatsStringAsync(ctx.Client, topStats, s => s.BuildCaroStatsString()); emb.AddField("Top players in Caro", top, inline: true); topStats = await this.Database.GetTopChain4StatsAsync(); top = await DatabaseGameStatsExtensions.BuildStatsStringAsync(ctx.Client, topStats, s => s.BuildChain4StatsString()); emb.AddField("Top players in Connect4", top, inline: true); topStats = await this.Database.GetTopDuelStatsAsync(); top = await DatabaseGameStatsExtensions.BuildStatsStringAsync(ctx.Client, topStats, s => s.BuildDuelStatsString()); emb.AddField("Top players in Duel", top, inline: true); topStats = await this.Database.GetTopHangmanStatsAsync(); top = await DatabaseGameStatsExtensions.BuildStatsStringAsync(ctx.Client, topStats, s => s.BuildHangmanStatsString()); emb.AddField("Top players in Hangman", top, inline: true); topStats = await this.Database.GetTopNumberRaceStatsAsync(); top = await DatabaseGameStatsExtensions.BuildStatsStringAsync(ctx.Client, topStats, s => s.BuildNumberRaceStatsString()); emb.AddField("Top players in Number Race", top, inline: true); topStats = await this.Database.GetTopOthelloStatsAsync(); top = await DatabaseGameStatsExtensions.BuildStatsStringAsync(ctx.Client, topStats, s => s.BuildOthelloStatsString()); emb.AddField("Top players in Othello", top, inline: true); topStats = await this.Database.GetTopQuizStatsAsync(); top = await DatabaseGameStatsExtensions.BuildStatsStringAsync(ctx.Client, topStats, s => s.BuildQuizStatsString()); emb.AddField("Top players in Quiz", top, inline: true); topStats = await this.Database.GetTopTicTacToeStatsAsync(); top = await DatabaseGameStatsExtensions.BuildStatsStringAsync(ctx.Client, topStats, s => s.BuildTicTacToeStatsString()); emb.AddField("Top players in TicTacToe", top, inline: true); await ctx.RespondAsync(embed : emb.Build()); }