Bot administracyjny TeamSpeak3 #1

#96
Temat utworzony · 2 Posty · 194 Wyświetlenia
  • Witam !

    Chciał bym wam przedstawić jak napisać własnego bota administracyjnego na wasz serwer teamspeak3.

    Na początku musimy mieć stworzony plik w którym będzie nasz bot pisany więc musimy stworzyć plik o nazwie np:

    Plik musi mieć końcówkę .php inaczej nie zadziała

    core.php

    Gdy mamy stworzony taki oto plik, musimy go teraz edytować np:

    Visual Studio Code - Darmowe

    Notepad++ - Darmowe

    PhpStorm - Płatne

    Kiedy mamy już przygotowany plik do edycji, więc musimy teraz pobrać klasę na której będzie działał bot.

    Użyta w poradniku to : ts3admin.class.php - Download.

    Jak mamy już pobraną tą klasę to musimy teraz zrobić folder o nazwie np:

    Mój bot do ts3

    i wrzucamy do niego tą klasę.

    Wszystko powinno wyglądać tak:

    Przykład.

    Gdy mamy wszystko zrobione tak jak na zdjęciu wchodzimy do pliku core.php i wpisujemy:

    Otwiera nam kod php

    <?php 
    
    require_once("lib/ts3admin.class.php");  
    

    Załącza plik do core.php

    $tsAdmin = new ts3admin(127.0.0.1, 10011); 
    

    Ustanawia połączenie z serwerem

    if($tsAdmin->getElement('success', $tsAdmin->connect()))
    {
    	echo "Poprawnie połączono z serwerem";
    		$tsAdmin->login(Login_Query, Hasło_Query);
    		$tsAdmin->selectServer(Port_Serwera_Głosowego); # Domyślny 9987
    }
    else
    {
    	echo "Wystąpił błąd z połączeniem";
    }
    

    Już tłumacze o co chodzi.

    Więc:
    if(), to wyrażenie sprawdzające, czy coś jest prawdą bądź fałszem. Jeśli więc, dla przykładu, wpisalibyśmy tak:

    if(1 + 1 == 2), będzie to kontynuowało operację podaną w klamrach zaraz po ifie.

    Jako, że $tsAdmin->connect() posiada wartość "success" która może mieć wartość "true" bądź "false", czyli prawda bądź fałsz, używamy wbudowaną funkcję "getElement", by zwrócić tą wartość. Jeśli wartością jest true, kod będzie kontynuował klamry, które znajdują się po ifie. Jeśli jednak wartością będzie false, czyli fałsz, program nie wykona zawartych tam poleceń i będzie kontunował do dalszych części programu.

    Jak widzicie, dodałem wyrażenie "else" oraz funkcję "echo". Już spieszę z wyjaśnieniem!

    Wyrażenie "else" jest angielskim słowem oznaczającym "inaczej".

    Jeśli więc nasz if się nie powiódł (czyt. zwrócił wartość "false"), zostanie wykonany kod w wyrażeniu "else" zamiast tego, w wyrażeniu "false".

    Funkcja echo po prostu wypisuje naszą wiadomość do konsoli (bądź na stronę internetową, jeśli takową piszemy - to kiedy indziej).

    Zauważcie, że użyłem języka angielskiego zamiast języka polskiego.

    Cały kod powinien wyglądać tak:

    <?php 
    	require_once("lib/ts3admin.class.php");  
    
    	$tsAdmin = new ts3admin(127.0.0.1, 10011); 
    	if($tsAdmin->getElement('success', $tsAdmin->connect()))
    	{
    	echo "Poprawnie połączono z serwerem";
    		$tsAdmin->login(Login_Query, Hasło_Query);
    		$tsAdmin->selectServer(Port_Serwera_Głosowego); # Domyślny 9987
    	}
    	else
    	{
    	echo "Wystąpił błąd z połączeniem";
    	}
    

    Lecz to nie koniec:

    $tsAdmin->setName("Mój 1 bot");
    

    Gdy bot wejdzie na serwer zmieni nick na jaki właśnie ustawiliśmy czyli np:

    Mój 1 bot

    To bot zmieni nazwę na Mój 1 bot.

    Tak wygląda cały kod:

    <?php 
    	require_once("lib/ts3admin.class.php");  
    
    	$tsAdmin = new ts3admin(127.0.0.1, 10011); 
    	if($tsAdmin->getElement('success', $tsAdmin->connect()))
    	{
    	echo "Poprawnie połączono z serwerem";
    		$tsAdmin->login(Login_Query, Hasło_Query);
    		$tsAdmin->selectServer(Port_Serwera_Głosowego); # Domyślny 9987
                    $tsAdmin->setName("Mój 1 bot");
    	}
    	else
    	{
    	echo "Wystąpił błąd z połączeniem";
    	}
    

    Gdy mamy już zrobione połączenie z serwerem to musimy jakoś zrobić by bot nie wychodził z serwera więc musimy zapętlić połączenie while(1).

    while(1) zapętli nam połączenie by bot był ciągle na serwerze i nie wywalało go gdy wpiszemy komendę php core.php.

    Więc cały kod wygląda tak

    <?php 
    	require_once("lib/ts3admin.class.php");  
    
    	$tsAdmin = new ts3admin(127.0.0.1, 10011); 
    	if($tsAdmin->getElement('success', $tsAdmin->connect()))
    	{
    	echo "Poprawnie połączono z serwerem";
    		$tsAdmin->login(Login_Query, Hasło_Query);
    		$tsAdmin->selectServer(Port_Serwera_Głosowego); # Domyślny 9987
    		$tsAdmin->setName("Mój 1 bot");
    	}
    	else
    	{
    	echo "Wystąpił błąd z połączeniem";
    	}
    	while(1)
    

    Bota włączamy komendą php core.php

    W następnym poradniku pokaże wam jak pobrać listę użytkowników i zrobić plik startowy.

    Wszelkie prawa zastrzeżone © OxidePolska.eu
    Zakaz kopiowania bez powielania.

    Poradnik by @BloszeK

  • 🗄 Ta dyskusja została przeniesiona do Archiwum.

    Powód: Poradnik porzucony przez autora @BloszeK


    Jeśli się nie zgadzasz zgłoś ten post podając powód Inny oraz odwołaj się w nim.