2016-08-29 3 views
0

ユーザーからTeamspeakの名前を取得しただけで、1日中検索しているのにクライアントIDを取得できません。Teamspeak 3 PHPフレームワーククライアントID

function tsverification($verification) { 
     require_once("../ts3phpframework-master/libraries/TeamSpeak3/TeamSpeak3.php"); 
     $ts3_VirtualServer = TeamSpeak3::factory("serverquery://serveradmin:[email protected]:10011/?server_port=9987&nickname=Poker"); 
     $client = $ts3_VirtualServer->clientGetByUid("$verification"); 
     $ts3_VirtualServer->clientPoke($client, "Poke Message"); 
} 

答えて

0

私が自分で解決策を見つけた:

私の現在のコード(ちょうどアイデンティティIDで動作します)

function tsverification($verification) { 
    require_once("../ts3phpframework-master/libraries/TeamSpeak3/TeamSpeak3.php"); 
    $ts3_VirtualServer = TeamSpeak3::factory("serverquery://serveradmin:[email protected]:10011/?server_port=9987&nickname=Poker"); 

    if (substr($verification, -1, 1) == "=" && strlen($verification) == 28) { // Via UID 
     $client = $ts3_VirtualServer->clientGetByUid("$verification"); 
     $ts3_VirtualServer->clientPoke($client, "Poker poked you."); 
    } else { // Via Teamspeak Name 
     $ts3_VirtualServer->clientGetByName("$verification")->poke("Poker poked you."); 
    } 
} 
0

あなたが返されますgetUniqueId()関数を使用することができます一意のID。 https://docs.planetteamspeak.com/ts3/php/framework/class_team_speak3___node___client.html#a55de8c3f5abcf4794b72a1bc464c2cb4

function getUserID($sUsername){ 
    TeamSpeak3::init(); 
    $oTeamSpeak = TeamSpeak3::factory('serverquery://' . Config::$sQueryName . ':' . Config::$sQueryPasswd . '@' . Config::$sServerIP . ':' . Config::$sQueryPort . '/?server_port=' . Config::$sServerPort . ''); 

    $oClient = $oTeamSpeak->clientGetByName($sUsername); 

    return $oClient->getUniqueId(); 
} 
0

私はこの方法を試してみましたが、それは

<?php 
    $msg = $_POST['msg']; 
    $client = $_POST['client']; 

    require_once("TeamSpeak3/libraries/TeamSpeak3/TeamSpeak3.php"); 

    $ts3_VirtualServer = TeamSpeak3::factory("serverquery://serveradmin:[email protected]:PORT/?server_port=9987&nickname=USG-Staff"); 

    $ts3_VirtualServer->clientGetByName("$client")->poke("$msg"); 
?> 
に動作します: は、公式ドキュメントを参照してください。