Teamspeak框架文档说明

时间:2016-01-06 08:48:16

标签: php teamspeak ts3phpframework

我使用TS Framework通过PHP中的Teamspeak Query读出一些数据。 但文档太可怕了!

要显示所有客户端的所有IP,我使用此代码:

foreach($ts3_VirtualServer->clientList() as $client)
{
    // skip query clients
    if($client["client_type"]) continue;

    $clientInfo = $client->getInfo();
    echo $clientInfo['connection_client_ip'] . "<br>";
} 

(这不是完整的代码)

文档中哪些部分说明了getInfo()返回的内容?

Documentation Link

1 个答案:

答案 0 :(得分:4)

它不在文档中,因为它是所有节点对象的抽象/概括。

正如您从TeamSpeak3_Node_Abstract::getInfo()所见:

if ($extend) {
  $this->fetchNodeInfo();
}

if ($convert) {
  $info = $this->nodeInfo;

  foreach ($info as $key => $val) {
    $key = TeamSpeak3_Helper_String::factory($key);
    //...
  }

  return $info;
}

return $this->nodeInfo;

返回(格式化或直接)的数据为TeamSpeak3_Node_Abstract::$nodeInfo

Searching nodeInfo =的GitHub repo显示了几个(子)节点如何设置其继承的nodeInfo属性。

例如,我们有TeamSpeak3_Node_Host::fetchNodeInfo()使用TeamSpeak3服务器查询命令hostinfoinstanceinfo返回的属性:

protected function fetchNodeInfo() {
  $info1          = $this->request("hostinfo")->toList();
  $info2          = $this->request("instanceinfo")->toList();
  $this->nodeInfo = array_merge($this->nodeInfo, $info1, $info2);
}

此外,例如,TeamSpeak3_Node_Server::fetchNodeInfo()使用serverinfo命令返回的属性:

protected function fetchNodeInfo() {
  $this->nodeInfo = array_merge($this->nodeInfo,
    $this->request("serverinfo")->toList());
}

可以想象,一些TeamSpeak3对象具有相应的*info命令,该命令返回该对象的属性。

您可以在TeamSpeak3服务器查询手册中查看这些命令的几个示例结果以及返回的属性。例如,serverinfo命令。

此外,在本手册的最后,您可以找到几个对象属性列表。 例如,virtual server properties