private EmbedBuilder GetEmbed(Types.Server server) { if (server.Ping > 0) { string PlayerList = ""; if (server.Players.Count == 0) { PlayerList = "접속중인 플레이어가 없습니다."; } else { foreach (string Player in server.Players) { PlayerList += Player + "\n"; } } EmbedBuilder SvstsEmbed = new EmbedBuilder() .WithColor(Color.Green) .WithThumbnailUrl(server.ImgURL) .WithTitle("Server Status") .WithDescription($"{server.ServerName}") .AddField("Ping", $"{server.Ping} ms") .AddField("온라인", $"{server.Players.Count} 명 온라인") .AddField("플레이어", $"{PlayerList}") .WithFooter(DateTime.Now.ToString("yyyy/MM/dd H:mm:ss") + " 기준"); return(SvstsEmbed); } else { return(ConnectionFail(server.ImgURL)); } }
private Types.Server GetServerStats(Types.Server server) { try { server.Players = new List <string>(); using (var Connect = ServerQuery.GetServerInstance((QueryMaster.Game) 107410, server.IP, server.Port, throwExceptions: false, retries: 0, sendTimeout: 4000, receiveTimeout: 4000)) { var Connection = Connect.GetInfo(); if (Connection == null) { server.Ping = -1; return(server); } else { var INFO = JObject.FromObject(Connection); server.ServerName = (string)INFO["Name"]; server.Ping = (int)INFO["Ping"]; var Players = Connect.GetPlayers(); foreach (var Player in Players) { var ply = JObject.FromObject(Player); server.Players.Add((string)ply["Name"]); } return(server); } } } catch { server.Ping = -1; return(server); } }