Change Description

tiro

Member
Joined
Jun 6, 2016
Messages
27
Reaction score
4
Points
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
Joined
Apr 23, 2016
Messages
483
Reaction score
249
Points
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
Joined
Jun 18, 2016
Messages
65
Reaction score
8
Points
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?
 
Joined
Dec 19, 2015
Messages
114
Reaction score
15
Points
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
Joined
Feb 15, 2016
Messages
27
Reaction score
8
Points
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.
 
Joined
Dec 19, 2015
Messages
114
Reaction score
15
Points
53
You hade problem in the code fix it . its shown down add [ ' ]
Code:
$ts3_pass = '';
 

Klitek1337

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

Klitek1337

Member
Joined
Feb 15, 2016
Messages
27
Reaction score
8
Points
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 ?
 
Joined
Dec 19, 2015
Messages
114
Reaction score
15
Points
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