static void HandleClients(string userNick, string cmdArgs)
{
var visiblePlayers = Server.Players.Where(p => !p.Info.IsHidden)
.OrderBy(p => p, PlayerListSorter.Instance).ToArray();
Dictionary <string, List <Player> > clients = new Dictionary <string, List <Player> >();
foreach (var p in visiblePlayers)
{
string appName = p.ClientName;
if (string.IsNullOrEmpty(appName))
{
appName = "(unknown)";
}
List <Player> usingClient;
if (!clients.TryGetValue(appName, out usingClient))
{
usingClient = new List <Player>();
clients[appName] = usingClient;
}
usingClient.Add(p);
}
IRC.SendChannelMessage(Bold + "Players using:");
foreach (var kvp in clients)
{
IRC.SendChannelMessage(" " + Bold + "{0}" + Reset + ": {1}",
kvp.Key, kvp.Value.JoinToClassyString());
}
}