Group

AndryGabry

Active Member
Joined
Dec 16, 2016
Messages
26
Reaction score
9
Points
78
how can I set up a server group for all users at the same time?
 

kalle

high minded
Contributor
Joined
Oct 28, 2015
Messages
411
Reaction score
253
Points
178
Idk if there is a better method, but with YaTQA you can hover user DB and set it to following group.


1543270802303.png

1543270834119.png

1543270863500.png

1543270889943.png
 

AndryGabry

Active Member
Joined
Dec 16, 2016
Messages
26
Reaction score
9
Points
78
sorry, I did not explain well, I meant in php through the framework
 

kalle

high minded
Contributor
Joined
Oct 28, 2015
Messages
411
Reaction score
253
Points
178
Here you are.
PHP:
<?php
include_once('TeamSpeak3/TeamSpeak3.php');

// Connection configuration
$login_name = 'serveradmin';              // query login info
$login_password = '9kg6eRKk';             // =||=
$ip = 'localhost';                        // ex. 127.0.0.1/ 254.13.121.12
$query_port = '10011';                      // default 10011
$virtualserver_port= '9987';             // virtual server port
$group = '7';

try
{
    $ts3 = TeamSpeak3::factory("serverquery://".$login_name.":".$login_password."@".$ip.":".$query_port."/?server_port=".$virtualserver_port."&nickname=R4P3&blocking=0");
   
    // query clientlist from virtual server
    $clientList = $ts3->clientList();

    foreach ($clientList as $client) {
        if($client['client_type'] == 1) continue;
        if(!in_array($group, explode(',', $client['client_servergroups']))){
            $cldbid = $client->getInfo();
            $ts3->serverGroupClientAdd($group,$cldbid['client_database_id']);
        }  
    }
}
    catch(Exception $e)
{
  echo ($e);
}

?>

Gist: https://gist.github.com/kallefrombosnia/e69da8485aeac2621ccc3ed9d2228f1e
 
Last edited:

AndryGabry

Active Member
Joined
Dec 16, 2016
Messages
26
Reaction score
9
Points
78
to remove the group all users just need to replace
PHP:
foreach ($clientList as $client) {
        if($client['client_type'] == 1) continue;
        if(!in_array($group, explode(',', $client['client_servergroups']))){
            $cldbid = $client->getInfo();
            $ts3->[B]serverGroupClientAdd[/B]($group,$cldbid['client_database_id']);
        }
with
PHP:
foreach ($clientList as $client) {
        if($client['client_type'] == 1) continue;
        if(!in_array($group, explode(',', $client['client_servergroups']))){
            $cldbid = $client->getInfo();
            $ts3->[B]serverGroupClientDel[/B]($group,$cldbid['client_database_id']);
        }
?
 

AndryGabry

Active Member
Joined
Dec 16, 2016
Messages
26
Reaction score
9
Points
78
perfect thx, if I ever publish this my project, I'll mention you for sure XD
 

AndryGabry

Active Member
Joined
Dec 16, 2016
Messages
26
Reaction score
9
Points
78
thx, I'm learning from self-teaching and your help is very helpful
 

AndryGabry

Active Member
Joined
Dec 16, 2016
Messages
26
Reaction score
9
Points
78
Here you are.
PHP:
<?php
include_once('TeamSpeak3/TeamSpeak3.php');

// Connection configuration
$login_name = 'serveradmin';              // query login info
$login_password = '9kg6eRKk';             // =||=
$ip = 'localhost';                        // ex. 127.0.0.1/ 254.13.121.12
$query_port = '10011';                      // default 10011
$virtualserver_port= '9987';             // virtual server port
$group = '7';

try
{
    $ts3 = TeamSpeak3::factory("serverquery://".$login_name.":".$login_password."@".$ip.":".$query_port."/?server_port=".$virtualserver_port."&nickname=R4P3&blocking=0");
  
    // query clientlist from virtual server
    $clientList = $ts3->clientList();

    foreach ($clientList as $client) {
        if($client['client_type'] == 1) continue;
        if(!in_array($group, explode(',', $client['client_servergroups']))){
            $cldbid = $client->getInfo();
            $ts3->serverGroupClientAdd($group,$cldbid['client_database_id']);
        } 
    }
}
    catch(Exception $e)
{
  echo ($e);
}

?>

Gist: https://gist.github.com/kallefrombosnia/e69da8485aeac2621ccc3ed9d2228f1e

I found a problem, if a user in the database that has the permission, the bot will block and does not assemble the servergroup another user giving as an error: duplicate entry
 
Top