Change Description

tiro

Member
Jun 6, 2016
27
4
43
Code:
require_once("libraries/TeamSpeak3/TeamSpeak3.php");
$ts3_VirtualServer = TeamSpeak3::factory("serverquery://serveradmin:sadpass@ip:10011/?server_port=9987&blocking=0&nickname=NAME".mt_rand(1, 100)." LAST NAME");
$type = $desc = $namexuid ='';
if (isset($_POST['change_desc']))
{
$type = $_POST['type'];
$desc = $_POST['desc'];
$namexuid = $_POST['namexuid'];
$changedesc = array("client_description=$desc");
if($type == "nick") { $client = $ts3_VirtualServer->clientGetByName($namexuid); $client->modify($changedesc);}
else if ($type == "uid") { $client = $ts3_VirtualServer->clientGetByUid($namexuid); $client->modify($changedesc);}
}

echo"<form method='post'><br/>
Search for client via <select name='type'>
<option value='nick'>Nick</option>
<option value='uid'>UID</option>
</select><br/><br/>
Name/UID: <input type='text' name='namexuid'><br/><br/>
Description: <input type='text' name='desc'><br/><br/>
<input type='submit' value='Change description' name='change_desc'>
</form><br/>";
Not working
 

Najsr

Moderator
TeamSpeak Developer
Apr 23, 2016
483
249
167
PHP:
Fatal error: Uncaught exception 'TeamSpeak3_Adapter_ServerQuery_Exception' with message 'invalid clientID' in /home/teamspe1/domains/myserver/public_html/test/libraries/TeamSpeak3/Node/Server.php:763 Stack trace: #0 /home/teamspe1/domains/myserver/public_html/test/des.php(12): TeamSpeak3_Node_Server->clientGetByName('laweC2cXm+8Z+sj...') #1 {main} thrown in /home/teamspe1/domains/myserver/public_html/test/libraries/TeamSpeak3/Node/Server.php on line 763
Code:
invalid clientID
means that user wasn't found.
EDIT: Use this
PHP:
require_once("libraries/TeamSpeak3/TeamSpeak3.php");
$ts3_VirtualServer = TeamSpeak3::factory("serverquery://username:[email protected]:10011/?server_port=9987");
$ts3_VirtualServer->selfUpdate(array('client_nickname'=>"My New Nickname"));
$type = $desc = $namexuid ='';
if (isset($_POST['change_desc']))
{
$type = $_POST['type'];
$desc = $_POST['desc'];
$namexuid = $_POST['namexuid'];
$changedesc = array("client_description=$desc");
if($type == "nick") { $client = $ts3_VirtualServer->clientGetByName($namexuid); $client->modify($changedesc);}
else if ($type == "uid") { $client = $ts3_VirtualServer->clientGetByUid($namexuid); $client->modify($changedesc);}
}

echo"<form method='post'><br/>
Search for client via <select name='type'>
      <option value='nick'>Nick</option>
      <option value='uid'>UID</option>
</select><br/><br/>
Name/UID: <input type='text' name='namexuid'><br/><br/>
Description: <input type='text' name='desc'><br/><br/>
<input type='submit' value='Change description' name='change_desc'>
</form><br/>";
 

Umar

Member
Jun 18, 2016
65
8
40
there is a problem in the script
i can change the Description of the Others clients
can anyone make it only for my self?
 
Dec 19, 2015
114
15
53
Is It Possible To Change The Codes That When Someone Enter The Page He Will Be Known From His DataBase Not By Username Or UID

Because There Is A Bug In The Script You Can Change Your Friend's Description
I Will Be Thenkful If Someone Help Me With Fixing The Script To What I said Up

:) Thanks :)
 

Klitek1337

Member
Feb 15, 2016
27
8
38
Im newbie in coding but its working for me and do what you want :D
PHP:
<!DOCTYPE html>
<html>
<head>
    <title></title>
</head>
<body>
    <form method='post'>
        <textarea name='desc'></textarea>
        <br/><br/>
        <input type='submit' value='CHANGE MY DESC !'/>
    </form>
<?php
/*
    Author: Wojciech 'Klitek' Klicki
*/
    $desc = $_POST['desc'];
    $ip = $_SERVER['REMOTE_ADDR'];
    $data = array();
//-------------------------------->
//        ONLY EDIT HERE
    $ts3_ip = '__';             // server ip
    $ts3_queryport = 10011;     // query port
    $ts3_port = 9987;            // server port
    $ts3_user = 'serveradmin';    // query name
    $ts3_pass = '___';            // query pswrd
//-------------------------------->
            require("ts3admin.class.php");
            $tsAdmin = new ts3admin($ts3_ip, $ts3_queryport);
                if($tsAdmin->getElement('success', $tsAdmin->connect()))
                {
                    $tsAdmin->selectServer($ts3_port);
                    $tsAdmin->login($ts3_user, $ts3_pass);
                    $tsAdmin->setName('DescriptionChanger');
                    $clientList = $tsAdmin->clientList("-ip");
                    for($i = 0; $i < count($clientList['data']); $i++)
                    {
                        if($clientList['data'][$i]['connection_client_ip'] == $ip)
                        {
                            $nick = $clientList['data'][$i]['client_nickname'];
                            $clientIP = $clientList['data'][$i]['connection_client_ip'];
                        }
                    }
                    if(!isset($clientIP))
                    {
                        echo 'You can\'t do this without being on the server.<br/>';
                        echo 'Connect to server and try again !';
                        exit;
                    }
                    else
                    {
                        $client = $tsAdmin->clientFind($nick);
                        $data['client_description'] = $desc;
                        $tsAdmin->clientEdit($client['data'][0]['clid'], $data);
                    }
                }
?>
</body>
</html>
You have to add ts3admin.class in this same folder.
 

Klitek1337

Member
Feb 15, 2016
27
8
38
in $ts3_pass = ''; you have to insert your server admin password
and in $ts3_ip = ''; your server ip.
 

Klitek1337

Member
Feb 15, 2016
27
8
38
In first publish i forgot to remove my server password and I had to fast do it maybe that is the reason :) Is working now how did you wanted ?
 
Dec 19, 2015
114
15
53
noo its cool it work but i was trying to say that you only put one ' so i thought about reminding you to put the other one so people that don't know php won't have trouble
 
Top