public async Task TopAsync(CommandContext ctx) { GameStatsService gss = ctx.Services.GetRequiredService <GameStatsService>(); IReadOnlyList <GameStats> topStats = await gss.GetTopRussianRouletteStatsAsync(); string top = await GameStatsExtensions.BuildStatsStringAsync(ctx.Client, topStats, s => s.BuildRussianRouletteStatsString()); await ctx.ImpInfoAsync(this.ModuleColor, Emojis.Trophy, "fmt-game-rr-top", top); }
public Task LeaderboardAsync(CommandContext ctx) { return(ctx.RespondWithLocalizedEmbedAsync(async emb => { emb.WithLocalizedTitle("str-hall-of-fame", Emojis.Trophy, Emojis.Trophy); emb.WithColor(this.ModuleColor); IReadOnlyList <GameStats> topStats; string top; topStats = await this.Service.GetTopAnimalRaceStatsAsync(); top = await GameStatsExtensions.BuildStatsStringAsync(ctx.Client, topStats, s => s.BuildAnimalRaceStatsString()); emb.AddLocalizedTitleField("str-game-top-ar", top, inline: true); topStats = await this.Service.GetTopCaroStatsAsync(); top = await GameStatsExtensions.BuildStatsStringAsync(ctx.Client, topStats, s => s.BuildCaroStatsString()); emb.AddLocalizedTitleField("str-game-top-caro", top, inline: true); topStats = await this.Service.GetTopConnect4StatsAsync(); top = await GameStatsExtensions.BuildStatsStringAsync(ctx.Client, topStats, s => s.BuildConnect4StatsString()); emb.AddLocalizedTitleField("str-game-top-c4", top, inline: true); topStats = await this.Service.GetTopDuelStatsAsync(); top = await GameStatsExtensions.BuildStatsStringAsync(ctx.Client, topStats, s => s.BuildDuelStatsString()); emb.AddLocalizedTitleField("str-game-top-duel", top, inline: true); topStats = await this.Service.GetTopHangmanStatsAsync(); top = await GameStatsExtensions.BuildStatsStringAsync(ctx.Client, topStats, s => s.BuildHangmanStatsString()); emb.AddLocalizedTitleField("str-game-top-hm", top, inline: true); topStats = await this.Service.GetTopNumberRaceStatsAsync(); top = await GameStatsExtensions.BuildStatsStringAsync(ctx.Client, topStats, s => s.BuildNumberRaceStatsString()); emb.AddLocalizedTitleField("str-game-top-nr", top, inline: true); topStats = await this.Service.GetTopTypingRaceStatsAsync(); top = await GameStatsExtensions.BuildStatsStringAsync(ctx.Client, topStats, s => s.BuildTypingRaceStatsString()); emb.AddLocalizedTitleField("str-game-top-tr", top, inline: true); topStats = await this.Service.GetTopRussianRouletteStatsAsync(); top = await GameStatsExtensions.BuildStatsStringAsync(ctx.Client, topStats, s => s.BuildRussianRouletteStatsString()); emb.AddLocalizedTitleField("str-game-top-rr", top, inline: true); topStats = await this.Service.GetTopOthelloStatsAsync(); top = await GameStatsExtensions.BuildStatsStringAsync(ctx.Client, topStats, s => s.BuildOthelloStatsString()); emb.AddLocalizedTitleField("str-game-top-ot", top, inline: true); topStats = await this.Service.GetTopQuizStatsAsync(); top = await GameStatsExtensions.BuildStatsStringAsync(ctx.Client, topStats, s => s.BuildQuizStatsString()); emb.AddLocalizedTitleField("str-game-top-quiz", top, inline: true); topStats = await this.Service.GetTopTicTacToeStatsAsync(); top = await GameStatsExtensions.BuildStatsStringAsync(ctx.Client, topStats, s => s.BuildTicTacToeStatsString()); emb.AddLocalizedTitleField("str-game-top-ttt", top, inline: true); })); }