昵称为DatabaseID

时间:2017-07-07 18:46:56

标签: php frameworks teamspeak

我开始使用planetteamspeak.com上的TeamSpeak 3 PHP Framework。 我不想让它添加和删除客户端的Servergroup。 它总是告诉我“无效的ClientID”,这意味着我错过了一些东西。

我尝试了很多方法来获取ID,但没有任何效果。如果我可以通过clientname获取ID,那将会很好,但我不知道该怎么做。

手动输入也称为“无效”。这是我的代码:

<?php
require_once ("lib/TeamSpeak3/TeamSpeak3.php");
require_once ("config/config.php");

// goes into config later
date_default_timezone_set($config['timezone']);
// current time
$the_time = date('Y-m-d h:i a');
// setup connection
$ts3_VirtualServer = TeamSpeak3::factory("serverquery://" . $config["Username"] . ":" . $config["Password"] . "@" . $config["IP"] . ":" . $config["qPort"] . "/?server_port=" . $config["Port"] . "&nickname=" . $config["Nickname"] . "");
// query clientlist from virtual server
$arr_clientList = $ts3_VirtualServer->ClientList();
// walk through list of clients
foreach($arr_clientList as $client) {
    if ($client["client_type"] == 1) {
        continue;
    }
    echo $client . " benutzt " . $client["client_platform"] . ".\n";
    // fetch first connection of specified client ^
    $client_created = date('Y-m-d h:i a', $client->client_created);
    echo $the_time . ' Uhr lokal. ';
    echo "\n";
    echo $client_created . ' Client erstellt. ';
    $to_time = strtotime($the_time);
    $from_time = strtotime($client_created);
    echo "\n";
    echo $client . " ist ";
    if (round(abs($to_time - $from_time) / 86400, 2) >= 30) {
        echo "Stammgast. ";
        try {
            $sgid = "7";
            $ts3_VirtualServer->serverGroupClientDel($sgid, '12');
        }
        catch(Exception $e) {
            echo $e->getMessage();
        }
        try {
            $sgid = "13";
            $ts3_VirtualServer->serverGroupClientAdd($sgid, '12');
        }
        catch(Exception $e) {
            echo $e->getMessage();
        }
    }
    else if (round(abs($to_time - $from_time) / 86400, 2) >= 14) {
        echo "Member. ";
        try {
            $sgid = "29";
            $ts3_VirtualServer->serverGroupClientDel($sgid, '12');
        }
        catch(Exception $e) {
            echo $e->getMessage();
        }
        try {
            $sgid = "7";
            $ts3_VirtualServer->serverGroupClientAdd($sgid, '12');
        }
        catch(Exception $e) {
            echo $e->getMessage();
        }
    }
    else if (round(abs($to_time - $from_time) / 86400, 2) >= 7) {
        echo "Rookie. ";
        try {
            $sgid = "29";
            $ts3_VirtualServer->clientGetByName($client)->serverGroupClientAdd($sgid, '12');
        }
        catch(Exception $e) {
            echo $e->getMessage();
        }
    }
    echo "\n";
    echo 'Erster connect war ' . round(abs($to_time - $from_time) / 86400, 2) . ' Tage früher. ';
    echo "\n\n";
}
?>

的config.php:

<?php

$config = array(); //Creates Config Array
$config["Username"] = "serveradmin";
$config["Password"] = "**********";
$config["IP"] = "***********"; //Server IP/Domain
$config["Port"] = "9987"; //Server Port
$config["qPort"] = "10011"; // Query Port, Default 10011
$config["Nickname"] = rawurlencode("Rangsystem".rand(1, 99)); // Random number & Convertes Botname to a URI friendly Format
$config["timezone"] = 'Europe/Berlin';
?>

1 个答案:

答案 0 :(得分:0)

我发现了我的问题

$ts3_VirtualServer->serverGroupClientDel($sgid, $client);

$ts3_VirtualServer->serverGroupClientDel($sgid, $client['client_database_id']);