Teamspeak 3 框架
Teamspeak 3 Framework
我正在尝试获取所有客户端数据库 ID,但我一直无法使用 foreach 等,因为它总是 returns 值为 NULL。
我需要获取一个带有数据库 ID 的 foreach 并将其放入一个数组
$userchannel = $clients->cid->clientList["client_database_id"];
经过一些摆弄,我设法让它工作,请验证。如果您对代码有疑问。随时问他们。
我在 basic 中所做的是修改 teamspeak php 框架站点中显示的示例中的现有代码。我使用 Android 用户列表作为大部分代码。从那里开始,它只是尝试和调试 ;)
此代码将打印用户的数据库 ID 和用户名。 (当然从这点你可以用它做任何你想做的事。)
此外,也许可以快速查看 api 框架的 api 文档。它有很多有用的编码提示和技巧。
https://docs.planetteamspeak.com/ts3/php/framework/
编辑 (07-01-17)
我还注意到,确保查询用户有足够的权限,为了方便我做了我的服务器管理员查询(授予对所有选项的访问权限,请注意这在活动站点中可能不安全!)
<?php
// load framework files
require_once("libraries/TeamSpeak3/TeamSpeak3.php");
try {
// connect to local server, authenticate and spawn an object for the virtual server on port 9988
$ts3_ServerInstance = TeamSpeak3::factory("serverquery://###:##@####:##/?server_port=9987");
$selected_sid = $ts3_ServerInstance->serverList();
$ts3_VirtualServer = $ts3_ServerInstance->serverGetById($selected_sid);
/* walk through list of clients */
echo "<table class=\"list\">\n";
echo "<tr>\n" .
" <th>DB id</th>\n" .
" <th>Nickname</th>\n" .
"</tr>\n";
foreach($ts3_VirtualServer->clientList() as $client) {
echo "<tr>\n" .
" <td>" . $client['client_database_id'] . "</td>" .
" <td>" . htmlspecialchars($client) . "</td>" .
"</tr>\n";
}
echo "</table>\n";
}
catch(Exception $e) {
/* catch exceptions and display error message if anything went wrong */
echo "<span class='error'><b>Error " . $e->getCode() . ":</b> " . $e->getMessage() . "</span>\n";
}
我设法修复了它。
$ts3_VirtualServer->channelGetById(152) // 152 is the channel ID
我正在尝试获取所有客户端数据库 ID,但我一直无法使用 foreach 等,因为它总是 returns 值为 NULL。 我需要获取一个带有数据库 ID 的 foreach 并将其放入一个数组
$userchannel = $clients->cid->clientList["client_database_id"];
经过一些摆弄,我设法让它工作,请验证。如果您对代码有疑问。随时问他们。
我在 basic 中所做的是修改 teamspeak php 框架站点中显示的示例中的现有代码。我使用 Android 用户列表作为大部分代码。从那里开始,它只是尝试和调试 ;)
此代码将打印用户的数据库 ID 和用户名。 (当然从这点你可以用它做任何你想做的事。)
此外,也许可以快速查看 api 框架的 api 文档。它有很多有用的编码提示和技巧。
https://docs.planetteamspeak.com/ts3/php/framework/
编辑 (07-01-17) 我还注意到,确保查询用户有足够的权限,为了方便我做了我的服务器管理员查询(授予对所有选项的访问权限,请注意这在活动站点中可能不安全!)
<?php
// load framework files
require_once("libraries/TeamSpeak3/TeamSpeak3.php");
try {
// connect to local server, authenticate and spawn an object for the virtual server on port 9988
$ts3_ServerInstance = TeamSpeak3::factory("serverquery://###:##@####:##/?server_port=9987");
$selected_sid = $ts3_ServerInstance->serverList();
$ts3_VirtualServer = $ts3_ServerInstance->serverGetById($selected_sid);
/* walk through list of clients */
echo "<table class=\"list\">\n";
echo "<tr>\n" .
" <th>DB id</th>\n" .
" <th>Nickname</th>\n" .
"</tr>\n";
foreach($ts3_VirtualServer->clientList() as $client) {
echo "<tr>\n" .
" <td>" . $client['client_database_id'] . "</td>" .
" <td>" . htmlspecialchars($client) . "</td>" .
"</tr>\n";
}
echo "</table>\n";
}
catch(Exception $e) {
/* catch exceptions and display error message if anything went wrong */
echo "<span class='error'><b>Error " . $e->getCode() . ":</b> " . $e->getMessage() . "</span>\n";
}
我设法修复了它。
$ts3_VirtualServer->channelGetById(152) // 152 is the channel ID