Пример #1
0
            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);
            }
Пример #2
0
        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);
            }));
        }