hallo zusammen,
ich bräuchte mal eure hilfe. ich möchte gerne mit einem php-script, zu einer bestimmten zeit(durch aufrufen des scripts) clients eines bestimmten channels auslesen, um diese letztendlich in der datenbank zu speichen.
und nun hänge ich an der stelle mit dem channel.
durch das tutorial hier aus dem forum habe ich die clients(die online sind) ermittelt und hatte die idee mit der funktion channelgetbyid() herauszufinden, in welchem channel der jeweilige client ist und dann die zu verarbeiten, die in dem entsprechenden channel sind.
dazu hatte ich ts3admin.class.php um die funktion channelgetbyid() erweitert ...
function channelGetById($cid) { if(!array_key_exists((string) $cid, $this->channelList())) { throw new TeamSpeak3_Adapter_ServerQuery_Exception("invalid channelID", 0x300); } return $this->channelList[intval((string) $cid)]; }
und das "test"verarbeitungssprict sieht wie folgt aus:
...
if($tsAdmin->getElement('success', $tsAdmin->connect()))
{
#select teamspeakserver
$tsAdmin->selectServer($ts3_port);
#get clientlist
$clients = $tsAdmin->clientList();
#print client count
echo count($clients['data']) . ' clients on selected server<br><br>';
#print clients to browser
foreach($clients['data'] as $client)
{
echo $client['client_nickname'] . '---' . $client['clid'] . '<br>';
$cid = $client['clid'];
$channel = $tsAdmin->channelGetById($cid);
echo $channel . "test" . '<br>';
}
}
...
Alles anzeigen
leider liefert die funktion channelgetbyid() nichts zurück. da scheint es dann zu haken.
ich weiß gerade nicht was ich falsch mache und vielleicht hat jemand die lösung parat oder sogar einen viel einfacheren ansatz ...
ich bin total eingerostet und bitte dringend um hilfe!!!
vielen vielen dank schonmal im vorraus!!!