} #Budowanie nowego obiektu $tsAdmin = new ts3admin($config['server']['ip'], $config['server']['queryport']); #Sprawdzanie połączenia z serwerem if ($tsAdmin->getElement('success', $tsAdmin->connect())) { #Logowanie się na użytkownika Query $tsAdmin->login($config['query']['login'], $config['query']['password']); #Wybieranie serwera $tsAdmin->selectServer($config['server']['port']); #Ustawianie nazwy bota $tsAdmin->setName($config['bot']['nickname']); #Przenoszenie bota do wybranego kanału $whoami = $tsAdmin->getElement('data', $tsAdmin->whoAmI()); $tsAdmin->clientMove($whoami['client_id'], $config['bot']['channel']); echo "Connection established!\n"; $clients['aktualnie'] = listaclientow(); $clients['record'] = str_replace(array("\t", "\n"), "", file_get_contents('tmp/userecord.txt')); #Pętla z funkcjami bota $i['petla'] = 0; $i['animacja'] = 0; $i['pingpong'] = 0; while ($i['petla'] != 1) { #Pętla wykonuje się co sekundę sleep(1); #Data wykonania pętli $datapetli = date('Y-m-d G:i:s'); #Co 5 min bot wykonuje prostą operację #aby nie wyrzucało go z serwera za bezczynność if ($i['pingpong'] == 300) { $tsAdmin->bindingList(); $i['pingpong'] = 0;
function welcomemsg() { global $tsAdmin; global $config; global $clients; $clients['new'] = listaclientow(); #Porównywanie czy doszedł ktoś nowy $clients['diff'] = array_diff($clients['new'], $clients['aktualnie']); #Sprawdzanie nowych użytkowników if (!count($clients['diff']) == 0) { foreach ($clients['diff'] as $clientID) { $msgtosend = codeinmsg($config['module']['welcomemsg']['message'], $clientID); #Sprawdzanie czy bot ma wysyłać tylko do zwykłych clientów if ($config['module']['welcomemsg']['mode'] == 1) { $isadmin = isadmin(1, $clientID); #Jeżeli koleś nie jest adminem, to wyślij wiadomość if (!$isadmin == true) { $tsAdmin->sendMessage(1, $clientID, $msgtosend); } } elseif ($config['module']['welcomemsg']['mode'] == 0) { #Jeżeli ma wysyłać do wszystkich, to wyślij bez względu na rangę $tsAdmin->sendMessage(1, $clientID, $msgtosend); } elseif ($config['module']['welcomemsg']['mode'] == 2) { $isnew = clientisnew($clientID); if ($isnew == true) { #Jeżeli nowy, to wyślij $tsAdmin->sendMessage(1, $clientID, $msgtosend); } } } } #Przygotowywanie do następnej pętli $clients['aktualnie'] = $clients['new']; }