public async Task PlayersTask(CommandContext ctx)
        {
            var settings =
                new NexusModuleConfiguration <PlayersMenuSettings>("PlayerMenuSettings", "./Config/TCAdminModule/")
                .GetConfiguration();
            await ctx.TriggerTypingAsync();

            var service = await DiscordService.GetService(ctx);

            var server = new Server(service.ServerId);

            var query = ServerQuery.GetQueryResults(server, new TCAdmin.GameHosting.SDK.Objects.Game(service.GameId),
                                                    service);

            if (query.NumPlayers == 0)
            {
                await ctx.RespondAsync(
                    embed : EmbedTemplates.CreateErrorEmbed(service.NameNoHtml, "**No players online**"));

                return;
            }

            if (query.NumPlayers != query.Players.Count)
            {
                await ctx.RespondAsync(embed : EmbedTemplates.CreateInfoEmbed(service.NameNoHtml,
                                                                              $"There are **{query.NumPlayers}/{query.MaxPlayers}** online!"));

                return;
            }

            var embed = new DiscordEmbedBuilder
            {
                Title     = $"{service.Name} | Players: {query.NumPlayers}/{query.MaxPlayers}",
                Color     = new Optional <DiscordColor>(new DiscordColor(settings.HexColor)),
                Timestamp = DateTime.Now,
                Thumbnail = new DiscordEmbedBuilder.EmbedThumbnail
                {
                    Url = settings.ThumbnailUrl
                }
            };

            foreach (var player in query.Players.OrderBy(x => x.Name))
            {
                embed.Description += $":bust_in_silhouette: {player.Name}\n";
            }

            await ctx.RespondAsync(embed : embed);
        }
        public NexusServiceMenuModule()
        {
            Configuration = new NexusModuleConfiguration <ServiceMenuActionSettings>(GetType().Name,
                                                                                     "./Config/TCAdminModule/ServiceMenuButtons/");
            var config = Configuration.GetConfiguration(false);

            if (config != null)
            {
                Settings.ActionCommandAttribute = config.ActionCommandAttribute;
                Settings.ViewOrder = config.ViewOrder;
            }
            else
            {
                DefaultSettings();
            }
        }
        public static DiscordEmbedBuilder CreateSuccessEmbed(string title       = "Success",
                                                             string description = "The task executed successfully", bool showTimestamp = true)
        {
            var config = new NexusModuleConfiguration <SuccessEmbedSettings>("SuccessEmbedConfig",
                                                                             "./Config/TCAdminModule/EmbedTemplates/").GetConfiguration();

            var embed = new DiscordEmbedBuilder(config.EmbedBuilder)
            {
                Title = title, Description = description
            };

            if (showTimestamp)
            {
                embed.WithTimestamp(DateTime.Now);
            }

            return(embed);
        }