首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Teamspeak 3 PHP框架客户端ID

Teamspeak 3 PHP框架客户端ID
EN

Stack Overflow用户
提问于 2016-08-29 09:01:33
回答 3查看 1.5K关注 0票数 1

我搜索了一整天,如果只从用户那里得到Teamspeak名称,我就找不到如何获得客户ID的方法。

我当前的代码(只适用于身份ID):

代码语言:javascript
复制
function tsverification($verification) {
        require_once("../ts3phpframework-master/libraries/TeamSpeak3/TeamSpeak3.php");
        $ts3_VirtualServer = TeamSpeak3::factory("serverquery://serveradmin:XXXXXX@XXX.XXX.XXX.XX:10011/?server_port=9987&nickname=Poker");
        $client = $ts3_VirtualServer->clientGetByUid("$verification");
        $ts3_VirtualServer->clientPoke($client, "Poke Message");
}
EN

回答 3

Stack Overflow用户

发布于 2016-08-30 03:42:29

我自己找到了一个解决方案:

代码语言:javascript
复制
function tsverification($verification) {
    require_once("../ts3phpframework-master/libraries/TeamSpeak3/TeamSpeak3.php");
    $ts3_VirtualServer = TeamSpeak3::factory("serverquery://serveradmin:XXXXXX@XXX.XXX.XXX.XX: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
EN

Stack Overflow用户

发布于 2016-10-02 17:53:09

您可以使用getUniqueId()函数,该函数将返回一个惟一的id。请参阅官方文档:https://docs.planetteamspeak.com/ts3/php/framework/class_team_speak3___node___client.html#a55de8c3f5abcf4794b72a1bc464c2cb4

代码语言:javascript
复制
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
EN

Stack Overflow用户

发布于 2016-12-24 23:24:00

我试过这个方法,它起作用了

代码语言:javascript
复制
<?php
    $msg = $_POST['msg'];
    $client = $_POST['client'];

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

    $ts3_VirtualServer = TeamSpeak3::factory("serverquery://serveradmin:PASSWORD@IPADDRESS:PORT/?server_port=9987&nickname=USG-Staff");

    $ts3_VirtualServer->clientGetByName("$client")->poke("$msg");
?>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39197215

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档