Teamspeak 3 Framework

Я пытаюсь получить идентификатор базы данных всех клиентов, но я не смог использовать foreach и т. Д., Поскольку он всегда возвращает значение как NULL.
Мне нужно получить foreach с идентификаторами базы данных и поместить его в массив

$userchannel = $clients->cid->clientList["client_database_id"];

0

Решение

После некоторого возни мне удалось заставить это работать, пожалуйста, проверьте. Если у вас есть вопросы относительно кода. Не стесняйтесь спрашивать их.

То, что я сделал в основном, это модификация существующего кода из примеров, показанных на сайте PHPS TeamSPak. Я использовал список пользователей Android для большей части кода. Оттуда его просто пробовать и отлаживать;)

этот код будет печатать идентификатор базы данных пользователя вместе с именем пользователя. (Конечно, с этого момента вы можете делать все, что вы хотите с ним.)

Также, возможно, взгляните на документацию API для php-фреймворка. Он имеет много полезных советов и приемов кодирования.

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";
}
1

Другие решения

Мне удалось это исправить.

$ts3_VirtualServer->channelGetById(152) // 152 is the channel ID
0

По вопросам рекламы [email protected]