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); }