Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Bot wpisujący ilość użytkowników online i godzine w nazwe kanału


artur8889

Rekomendowane odpowiedzi

Opublikowano

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

Witam!

Chciałbym pokazać Wam jak zrobić prostego bota, który będzie wpisywał ilość osób online i godzine w nazwę kanału



Przejdźmy do rzeczy :)


Najpierw musimy pobrać klasę ts3admin

Download: http://ts3admin.info/index.php?page=download

Skan: https://www.virustotal.com/pl/file/4834bd1e8aa2e4b4b432a8bc0ad34eb875dcc969ee41a2f3b8abd888319f1f24/analysis/1457188744/



Teraz tworzymy folder o jakiej kolwiek nazwie i wrzucamy tam naszą klasę

Następnie tworzymy plik o nazwie core.php w tym samym folderze.

Otwieramy go i edytujemy:

<?php

date_default_timezone_set('Europe/Warsaw');

include "ts3admin.class.php";

$teamspeak['address'] = '127.0.0.1'; //IP serwera
$teamspeak['udp'] = '9988'; //Port serwera
$teamspeak['tcp'] = '10011'; //Port query
$teamspeak['login'] = 'serveradmin'; //login server admina
$teamspeak['password'] = ''; //hasło server admina

$config['bot']['name'] = 'Moj bot'; // nazwa bota
$config['bot']['default_channel'] = 2; // ID kanalu na ktorym bot ma siedziec

$config['online_channelid'] = 387; //Id kanału na ktorym bedzie wpisywac ilosc osob online
$config['time_channelid'] = 388; //Id kanalu na ktorym bedzie wpisywac godzine

$query = new ts3admin($teamspeak['address'], $teamspeak['tcp']); //tworzymy nowy obiekt ts3admin

if($query->getElement('success', $query->connect())) {
    
    $query->login($teamspeak['login'],$teamspeak['password']); //logujemy sie
    
    $query->selectServer($teamspeak['udp']); //wybieramy serwer
    
    $query->setName($config['bot']['name']); //ustawiamy nazwe bota
    
    while (true) {
    $core = $query->getElement('data',$query->whoAmI());
    $query->clientMove($core['client_id'],$config['bot']['default_channel']); //Przenosimy bota na kanał
        
    $serverinfo = $query->getElement('data', $query->serverInfo()); //Pobieramy informacje o serwerze
    $bots = $serverinfo['virtualserver_queryclientsonline']; //Pobieramy ilosc botów, ktore aktualnie siedzą na serwerze
    $users = $serverinfo['virtualserver_clientsonline']; //Pobieramy ilosc online osob na serwerze
    $users_online = $users - $bots; //Odejmujemy ilosc botow od ilosci osob online zeby nie liczylo nam botów
    $online = array(); //Tworzymy nową tablice
    $online['channel_name'] = '[cspacer]Aktualnie online: '.$users_online.''; //Ustawiamy nazwe kanału
    $query->channelEdit($config['online_channelid'], $online); //Edytujemy kanał
    $godzina = array();
    $godzina['channel_name'] = '[cspacer]Godzina: '.date('H:i').''; //Ustwiamy nazwe kanału
    $query->channelEdit($config['time_channelid'], $godzina); //Edytujemy kanał

    sleep(1);
    }
    }

?>

Teraz przydało by się stworzyć plik, który będzie uruchamiać naszego bota.

Tworzymy plik o nazwie start.sh w tym samym folderze.

Otwieramy go i edytujemy:

#!/bin/sh
cd "$(dirname "$0")"
if [ $1 = 'stop' ]
    then
        echo 'Zatrzymywanie...';
        screen -S bot -X quit
    fi
if [ $1 = 'start' ]
    then
        echo 'Startowanie...';
        screen -dmS bot php core.php
    fi

Bota uruchamiamy komendą ./start.sh start

Bota zatrzymujemy komendą ./start.sh stop


W razie problemów uruchamiamy bota komendą "php -f core.php" i wklejamy tutaj jaki jest błąd, a ja postaram się pomóc :)




Gratulacje! Właśnie stworzyłeś swojego bota :)

Pozdrawiam


@Edit
Jak bedzie duzo + to pokaze jak dodac inne funkcje


Pozdrawiam, ArrMeeR

Opublikowano
	$data = date("d.m.Y") . "r.";
	$data1 = array();
	$data1['channel_name'] = '[cspacer] • Data: '.$data.' • '; //Ustwiamy nazwe kanału
	$query->channelEdit($config['data_channelid'], $data1);

Funkcja data

Opublikowano

Czy mógłbyś udostępnić kod na jakiejś stronie typu "pastebin"?

Tutaj nie ma wgl tabulatorów itp i nie działa bot.

Chcesz coś ode mnie? Oznacz mnie w poście, a szybciej to zobaczę!

  • 2 tygodnie później...
  • 3 tygodnie później...
Opublikowano

@1361622928-U485574.pngEmos76

 

Takie coś na przykład:

    $data = array();
    $data['channel_description'] = '[center]Hello World![/center]'; //Ustwiamy opis kanału
    $query->channelEdit(cid, $data); //Edytujemy kanał


Pozdrawiam, ArrMeeR

  • 5 miesięcy temu...
Opublikowano

Jak to uzupełnić?

#!/bin/sh
cd "$(dirname "$0")"
if [ $1 = 'stop' ]
    then
        echo 'Zatrzymywanie...';
        screen -S bot -X quit
    fi
if [ $1 = 'start' ]
    then
        echo 'Startowanie...';
        screen -dmS bot php core.php
    fi

Desktop: ASRock Z77 Pro 3 | [email protected] (4.2Ghz OC) | ASUS GeForce GTX 970 Strix OC 4GB | Corsair Vengeance 4x4GB 1600Mhz

Notebook: Lenovo | Intel Lynx Point | [email protected] | GeForce 840M 2GB | 6GB RAM 1600Mhz

Mobile: Xiaomi Redmi Note 4X

 

Opublikowano

@artur8889

Coś nie działa a poprawnie skonfigurowałem

0e87454485d14873bb3136edf08517c6.png

Desktop: ASRock Z77 Pro 3 | [email protected] (4.2Ghz OC) | ASUS GeForce GTX 970 Strix OC 4GB | Corsair Vengeance 4x4GB 1600Mhz

Notebook: Lenovo | Intel Lynx Point | [email protected] | GeForce 840M 2GB | 6GB RAM 1600Mhz

Mobile: Xiaomi Redmi Note 4X

 

Opublikowano

@artur8889

Pobrałem i wrzuciłem do katalogu ale jej nie wykrywa

Desktop: ASRock Z77 Pro 3 | [email protected] (4.2Ghz OC) | ASUS GeForce GTX 970 Strix OC 4GB | Corsair Vengeance 4x4GB 1600Mhz

Notebook: Lenovo | Intel Lynx Point | [email protected] | GeForce 840M 2GB | 6GB RAM 1600Mhz

Mobile: Xiaomi Redmi Note 4X

 

Opublikowano

@artur8889

Jednak bot się wyłącza jak wyjdę z putty

Desktop: ASRock Z77 Pro 3 | [email protected] (4.2Ghz OC) | ASUS GeForce GTX 970 Strix OC 4GB | Corsair Vengeance 4x4GB 1600Mhz

Notebook: Lenovo | Intel Lynx Point | [email protected] | GeForce 840M 2GB | 6GB RAM 1600Mhz

Mobile: Xiaomi Redmi Note 4X

 

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...