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

Nadawanie grupy po wejściu na kanał


K-Scripts

Rekomendowane odpowiedzi

Opublikowano

R

E

K

L

A

M

A

-

K

-

S

C

R

I

P

T

S

.

E

U

-

 

Witaj, jest godzina 00:15. Właśnie zacząłem jeść czekoladę, dzięki której po chwili nachodzi mnie "wena". Dziś chciałbym pokazać Ci w jaki sposób możesz stworzyć aplikację, która będzie po wejściu na określony kanał nadawała grupę, bądz grupy w zależności od tego jak ją stworzysz.

 

Kodem źródłowym do naszej aplikacji będzie: http://www.mpcforum.pl/topic/1510630-tw%C3%B3j-pierwszy-bot-na-serwer/, a więc zaczynajmy!

 

Czego potrzebujemy?:

  1. Pakiety: 
    apt-get install php5 screen
  2. Klasy ts3admin, zdobędziesz ją tutaj.
  3. Dostępu do ServerQuery.

Tworzymy plik o dowolnej nazwie z końcówką .php

<?php

# Includowanie klasy teamspeak3.
require_once 'ts3admin.class.php';

function failure(array $ts3output)
{
    return !($ts3output['success']);
}

# Konfiguracja
$c = array();


$c['ts3']['adres'] = 'k-scripts.eu'; # Adres naszego serwera
$c['ts3']['port_logowania'] = 9987; # Port logowania
$c['ts3']['port_query'] = 10011; # Nasz port query
$c['ts3']['login'] = 'serveradmin'; # Login serverquery
$c['ts3']['haslo'] = ''; # Hasło serverquery
$c['ts3']['bot_name'] = 'Pierwszy bot'; //Nazwa bota
$c['ts3']['bot_channel'] = 1423557; # Id kanału gdzie ma przejść nasz bot.
$c['ts3']['interval'] = 1; # Odświeżanie bota

$c['apps'] = [
	'kickmode' => true,
    'channels' => [
        1423557 => 30,
    ]
];


#Teraz przyszedł czas na stworzenie połączenia z serwerem.
$ts = new ts3admin($c['ts3']['adres'], $c['ts3']['port_query']); #Tworzymy nowy obiekt

if (failure($ts->connect())) die ('Wystąpił błąd podczas połączenia z serwerem'. PHP_EOL); else {print 'Pomyślnie połączono z serwerem'.PHP_EOL;}
if (failure($ts->login($c['ts3']['login'], $c['ts3']['haslo']))) die ('Wystąpił błąd podczas logowania.'. PHP_EOL); else{if (failure($ts->selectServer($c['ts3']['port_logowania']))) die('Nie można było wybrać serwera'. PHP_EOL);}

if (failure($ts->setName($c['ts3']['bot_name'])))die('Nie udało się ustawić nazwy aplikacji'); else{print str_replace('[name]', $c['ts3']['bot_name'], 'Aplikacja zmieniła nazwę na: [name]').PHP_EOL;}
if (failure($ts->clientMove($ts->getElement('data',$ts->whoAmI())['client_id'],$c['ts3']['bot_channel']))) die('Aplikacja nie mogła zmienić kanału').PHP_EOL; else{print 'Aplikacja pomyślnie zmieniła kanał'.PHP_EOL;}

while(true){

	foreach($ts->getElement('data', $ts->clientList('-groups')) as $client){
		if(isset($c['apps']['channels'][$client['cid']])){
			$appData = $c['apps']['channels'][$client['cid']];
			$clientsGroups = explode(',', $client['client_servergroups']);

			if(!in_array($appData, $clientsGroups)){
				$ts->serverGroupAddClient($appData, $client['client_database_id']);
				$ts->clientPoke($client['clid'], 'Grupa została nadana pomyślnie!');
					
				if($c['apps']['kickmode']) $ts->clientKick($client['clid'], 'channel', 'Grupa została nadana');  
			}
		}
	}

	if($c['ts3']['interval'] > 0)
		sleep($c['ts3']['interval']);
}
?>

Podstawowe komendy:

Włączanie: screen -AdmS NadawanieGrup php nazwa.php
Wyłączanie: screen -S NadawanieGrup -X quit

Włączanie z podglądem: php nazwa.php
Wyłączanie z podglądu: CTRL + C

Życzę miłego korzystania, pozdrawiam! :)

Opublikowano

Na pewno przyda się niektórym - szczególnie jeśli chodzi np. o klany/gildie czy nawet rejestrację.

 

Jedyna lekka wada jaką widzę to brak konkretnych błędów np. przy logowaniu z serwerem, selectowaniu serwera na danym porcie itp. a niektórzy mogą mieć akurat tutaj problem :/

 

Pozdrawiam i oby więcej takich treści - na pewno da to ludziom satysfakcję jeśli się nauczą i np. dodadzą coś od siebie :)

Desktop - Procesor: Intel i7-7700k 4.20Ghz  | Karta Graficzna: EVGA Geforce GTX 1070 | RAM: 16GB 

Laptop - Procesor: Intel i5-8250U 2.5Ghz | Karta Graficzna: Radeon 530 | RAM: 8GB

 

 

 

 

 

 

Opublikowano

Na pewno przyda się niektórym - szczególnie jeśli chodzi np. o klany/gildie czy nawet rejestrację.

 

Jedyna lekka wada jaką widzę to brak konkretnych błędów np. przy logowaniu z serwerem, selectowaniu serwera na danym porcie itp. a niektórzy mogą mieć akurat tutaj problem :/

 

Pozdrawiam i oby więcej takich treści - na pewno da to ludziom satysfakcję jeśli się nauczą i np. dodadzą coś od siebie :)

Specjalnie dla Ciebie - edycja. :)

Opublikowano

R

E

K

L

A

M

A

-

K

-

S

C

R

I

P

T

S

.

E

U

-

 

Witaj, jest godzina 00:15. Właśnie zacząłem jeść czekoladę, dzięki której po chwili nachodzi mnie "wena". Dziś chciałbym pokazać Ci w jaki sposób możesz stworzyć aplikację, która będzie po wejściu na określony kanał nadawała grupę, bądz grupy w zależności od tego jak ją stworzysz.

 

Kodem źródłowym do naszej aplikacji będzie: http://www.mpcforum.pl/topic/1510630-tw%C3%B3j-pierwszy-bot-na-serwer/, a więc zaczynajmy!

 

Czego potrzebujemy?:

  • Pakiety:
    apt-get install php5 screen
  • Klasy ts3admin, zdobędziesz ją tutaj.
  • Dostępu do ServerQuery.
Tworzymy plik o dowolnej nazwie z końcówką .php
<?php

# Includowanie klasy teamspeak3.
require_once 'ts3admin.class.php';

function failure(array $ts3output)
{
    return !($ts3output['success']);
}

# Konfiguracja
$c = array();


$c['ts3']['adres'] = 'k-scripts.eu'; # Adres naszego serwera
$c['ts3']['port_logowania'] = 9987; # Port logowania
$c['ts3']['port_query'] = 10011; # Nasz port query
$c['ts3']['login'] = 'serveradmin'; # Login serverquery
$c['ts3']['haslo'] = ''; # Hasło serverquery
$c['ts3']['bot_name'] = 'Pierwszy bot'; //Nazwa bota
$c['ts3']['bot_channel'] = 1423557; # Id kanału gdzie ma przejść nasz bot.
$c['ts3']['interval'] = 1; # Odświeżanie bota

$c['apps'] = [
	'kickmode' => true,
    'channels' => [
        1423557 => 30,
    ]
];


#Teraz przyszedł czas na stworzenie połączenia z serwerem.
$ts = new ts3admin($c['ts3']['adres'], $c['ts3']['port_query']); #Tworzymy nowy obiekt

if (failure($ts->connect())) die ('Wystąpił błąd podczas połączenia z serwerem'. PHP_EOL); else {print 'Pomyślnie połączono z serwerem'.PHP_EOL;}
if (failure($ts->login($c['ts3']['login'], $c['ts3']['haslo']))) die ('Wystąpił błąd podczas logowania.'. PHP_EOL); else{if (failure($ts->selectServer($c['ts3']['port_logowania']))) die('Nie można było wybrać serwera'. PHP_EOL);}

if (failure($ts->setName($c['ts3']['bot_name'])))die('Nie udało się ustawić nazwy aplikacji'); else{print str_replace('[name]', $c['ts3']['bot_name'], 'Aplikacja zmieniła nazwę na: [name]').PHP_EOL;}
if (failure($ts->clientMove($ts->getElement('data',$ts->whoAmI())['client_id'],$c['ts3']['bot_channel']))) die('Aplikacja nie mogła zmienić kanału').PHP_EOL; else{print 'Aplikacja pomyślnie zmieniła kanał'.PHP_EOL;}

while(true){

	foreach($ts->getElement('data', $ts->clientList('-groups')) as $client){
		if(isset($c['apps']['channels'][$client['cid']])){
			$appData = $c['apps']['channels'][$client['cid']];
			$clientsGroups = explode(',', $client['client_servergroups']);

			if(!in_array($appData, $clientsGroups)){
				$ts->serverGroupAddClient($appData, $client['client_database_id']);
				$ts->clientPoke($client['clid'], 'Grupa została nadana pomyślnie!');
					
				if($c['apps']['kickmode']) $ts->clientKick($client['clid'], 'channel', 'Grupa została nadana');  
			}
		}
	}

	if($c['ts3']['interval'] > 0)
		sleep($c['ts3']['interval']);
}
?>
Podstawowe komendy:
Włączanie: screen -AdmS NadawanieGrup php nazwa.php
Wyłączanie: screen -S NadawanieGrup -X quit

Włączanie z podglądem: php nazwa.php
Wyłączanie z podglądu: CTRL + C
Życzę miłego korzystania, pozdrawiam! :)
Szczerze? Tak powstał gBot 2.0 xD Ale poradnik fajny tylko jak nie podstawisz Januszom z forum gotowca tylko ze muszą się trochę wysilić to nie wiedzą jak to zrobić jak nawet im film nagrasz ;). Ale zasługujesz za to na +. Pozdrawiam, G..

 

 

Wysłane z iPhone za pomocą Tapatalk

Opublikowano

Niby taka prosta rzecz, a tak profesjonalnie zrobiona i pokazana :)

Bardzo dobry poradnik, na pewno się komuś przyda :D


Pozdrawiam, ArrMeeR

  • 2 tygodnie później...
Opublikowano

pomoże ktoś mam problem z tym botem mógłby ktoś mi wysłać paczke z owymi plikami? skonfiguruję je sobie sam 

 

Chcesz zautomatyzować serwer a nie umiesz lub nie daje rady twoja maszyna ? 

 

Zobacz http://www.mpcforum.pl/topic/1583551-boty-serwerowe-pod-serwer-ts/

 

  • 2 tygodnie później...
Opublikowano

No powiem Ci Przemku - skorzystałem i działa bez zarzutów ;)+

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...