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}");
            }
예제 #2
0
        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());
        }