Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [inny][TS3] zamiana nicku na Database ID
Forum PHP.pl > Forum > PHP > Frameworki
eska97
siemka, chciałbym aby przez stronę można było dodawać ludzi do grup itd. ale operować na grupach nie można przez nicki ludzi którzy są na teamspeaku, tylko przez DatabaseID, a więc jak mam zamienić nick na DBID?

https://docs.planetteamspeak.com/ts3/php/framework/
luniak
Masz to w dokumentacji ładnie opisane...

  1. // Łączysz się z serwerem
  2. $ts3 = TeamSpeak3::factory("serverquery://username:password@127.0.0.1:10011/?server_port=9987");
  3.  
  4.  
  5. // pobierasz sobie danego usera:
  6. // a) po GlobalId [DBId]:
  7. $user = $ts3->clientGetById(128);
  8. // b) po Uid
  9. $user = $ts3->clientGetByUid("FPMPSC6MXqXq751dX7BKV0JniSo=");
  10. // c) po Nazwie Usera
  11. $user = $ts3->clientGetByName("ScP");
  12.  
  13. // a potem poprostu dodajesz / usuwasz mu grupę w/g włąsnych upodobań
  14. $user->addServerGroup ($sgid);
  15. $user->remServerGroup ($sgid);
  16.  
  17.  
eska97
mógłbyś mi jeszcze pomóc dlaczego to nie działa?
  1. $es = $ts3_VirtualServer->clientGetByName($_GET['nick']);
  2.  
  3. $super_rangi = ',6,165,166,188,170,'; //rangi które jeśli już były dodane, mają być nadal przypisane
  4. $aktualne_rangi = explode(',', $es["client_servergroups"]);
  5. $aktualnie_ile_rang = count($aktualne_rangi);
  6.  
  7.  
  8. $zero2 = 0;
  9. while($zero2 < $aktualnie_ile_rang){
  10. $es->remServerGroup($aktualne_rangi[$zero2]);
  11. $zero2++;
  12. }
  13. $zero = 0;
  14. while($zero < $aktualnie_ile_rang){
  15. if(strpos($super_rangi, ','.$aktualne_rangi[$zero].',')){$es->addServerGroup($aktualne_rangi[$zero]);}
  16. $zero++;
  17. }
  18. if($_POST['a11']!==0) $es->addServerGroup($_POST['a11']);
  19. if($_POST['a21']!==0) $es->addServerGroup($_POST['a21']);
  20. if($_POST['a51']!==0) $es->addServerGroup($_POST['a51']);
  21.  
  22. echo'Rangi zostały przydzielone!';


gdy usunę linijkę z funkcją remservergroup jest wszystko ok.
i poprzedzając innych wiem że ten skrypt nie jest zabezpieczony, zajmę się jeszcze tym wink.gif
Pyton_000
Włącz wyświetlanie błędów to się dowiesz dlaczego.
eska97
  1. <meta charset="utf-8"><meta name="Robots" content="noindex" />
  2. </head>
  3. <body><br />
  4. <b>Fatal error</b>: Uncaught exception 'TeamSpeak3_Adapter_ServerQuery_Exception' with message 'access to default group is forbidden' in /home/vol8_8/jcom.pl/jcom_15174447/htdocs/eska/framework/Adapter/ServerQuery/Reply.php:319
  5. Stack trace:
  6. #0 /home/vol8_8/jcom.pl/jcom_15174447/htdocs/eska/framework/Adapter/ServerQuery/Reply.php(91): TeamSpeak3_Adapter_ServerQuery_Reply-&gt;fetchError(Object(TeamSpeak3_Helper_String))
  7. #1 /home/vol8_8/jcom.pl/jcom_15174447/htdocs/eska/framework/Adapter/ServerQuery.php(141): TeamSpeak3_Adapter_ServerQuery_Reply-&gt;__construct(Array, 'servergroupdelc...', Object(TeamSpeak3_Node_Host), true)
  8. #2 /home/vol8_8/jcom.pl/jcom_15174447/htdocs/eska/framework/Node/Abstract.php(73): TeamSpeak3_Adapter_ServerQuery-&gt;request('servergroupdelc...', true)
  9. #3 /home/vol8_8/jcom.pl/jcom_15174447/htdocs/eska/framework/Node/Server.php(90): TeamSpeak3_Node_Abstract-&gt;request('servergroupdelc...', true)
  10. #4 /home/vol8_8/jcom.pl/jcom_15174447/htdocs/eska/framework/Node/Abstract.php(97): TeamSpeak3_Node_Server-&gt;request('servergrou in <b>/home/vol8_8/jcom.pl/jcom_15174447/htdocs/eska/framework/Adapter/ServerQuery/Reply.php</b> on line <b>319</b><br />
  11. <iframe src='http://ifastnet.com/pop.html' name='frame1' scrolling='no' frameborder='no' align='center' MARGINWIDTH='0' MARGINHEIGHT='0' height = '10px' width = '10px'> </iframe>

okej, chodziło o to że próbowałem usuwać grupę którą dostajesz gdy nie masz żadnych rang.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.