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

ExusMultibot - Multibot dla serwerów


Exus1

Rekomendowane odpowiedzi

Opublikowano

Piszę ten temat jeszcze raz nie ze względu że chcę podbić temat czy tym podobnych ale dlatego że zakładam nowe konto i chcę aby wszystkie pytania dotyczące tego bota były kierowane na to konto.


 


Witam chciałbym wam zaprezentować multibota mojego autorstwa pomagającego zarządzać serwerem ts3. Cały projekt udostępniam na GitHub'ie. Cały projekt jest pisany w php więc proszę nie wymagać za wiele od tego multibota  :D co nie oznacza że działa źle i słabo.  ;)


 


Cały kod multibota możesz znaleźć tutaj: https://github.com/Exus1/ExusMultibot


 


Cały skrypt jest tworzony z myślą o działaniu pod kontrolą systemu Linux jednak można go uruchomić także na Windows'ie.


 


Wymagania:


  • Zainstalowany pakiet "screen"
  • PHP7/5

Sposób uruchomienia:


  1. Przechodzimy do folderu z plikiem "multibot.sh"
  2. Wykonujemy jedną z dostępnych komend: "./multibot.sh start", "./multibot.sh stop"

Zalecam używanie php7 dla większej wydajności


 


 


Lista pomysłów do zrealizowania:


  • Nieskończona ilość intancji (procesów) (
  • Obsługa komend (Nie zawsze może działać prawidłowo)
  • Dynamiczne zamykanie i tworzenie instancji podczas "pracy"
  • Zmiana nazw "screenów"
  • Obsługa MySQL

Lista funkcji do stworzenia:


  • Poke Bot
  • Status administracji
  • Przenoszenie użytkowników AFK
  • Wiadomość powitalna
  • System reklam/powiadomień na czacie serwerowym (advertisement)
  • Blokada nagrywania
  • Automatyczne sprawdzanie kanałów
  • Automatyczne tworzenie kanałów
  • Automatyczna rejestracja
  • Tworzenie kanału z automatyczną aktualizacją dowolnych informacji o serwerze
  • Statystyki serwera
  • Statystyki użytkowników
  • Sprawdzanie poprawności nazw kanałów
  • Jeśli masz jeszcze jakieś pomysły zapraszam do kontaktu  ;)

​Stabilnie działająca funkcja.


Funkcja w trakcie tworzenia, może zawierać błędy.


 


Jeśli ktoś ma ochotę pomóc w tworzeniu bota zapraszam do używania funkcji "pull request" na GitHub'ie.  :)


 


Aktualna wersja: v2.0a (13.01.2016)


 


Dzisiejsza aktualizacja ze specjalną dedykacją dla @Stasio132  ;)


 

Pomogłem daj + :)

  • Odpowiedzi 50
  • Dodano
  • Ostatniej odpowiedzi
Opublikowano

A jeżeli chodzi o tego bota, bo skonfigurowałem bardzo dobrze tego bota, ale jak odpaliłem tego bota to na ts3 się nie załadował. A po za tym jakie pakiety wymaga ten owy bot? Polecam  serdecznie :)

Opublikowano

php5, sreen. Wpisz sobie w katalogu ze wszystkimi folderami "php core/core.php --startmode commands --lang pl" i zobaczysz błędy.

Pomogłem daj + :)

Opublikowano

Jest jakiś problem z botem, ponieważ wgl. sie nie uruchamia.

 

php5, sreen. Wpisz sobie w katalogu ze wszystkimi folderami "php core/core.php --startmode commands --lang pl" i zobaczysz błędy.

Opublikowano

Multibot już działa bez problemu. Przepraszam że tak długo był niesprawny ale po prostu nie miałem czasu. Po dzisiejszej dziwnej "adaasasdadasfdfg" aktualizacji wszystko powinno działać. ;)

Działa tylko w linux'ie!

Pomogłem daj + :)

Opublikowano

Domyślnie nie ale możesz to obejść w pewien sposób. Wchodzisz w folder "functions" kopiujesz plik "pokebot.class.php" i zmieniasz nazwę np. na "pokebot1.class.php" potem wchodzisz do folderu "configs/functions" i robisz to samo z plikiem "pokebot.conf". Dzięki temu stworzyłeś nową funkcję "pokebot1" :D o takim samym działaniu jak "pokebot". Możesz tak robić nieskończoną ilość razy tylko pamiętaj że plik w folderze "config/functions" i "functions" musi mieć taką samą nazwę nie licząc rozszerzenia. ;)

Pomogłem daj + :)

Opublikowano

Może gdzieś masz złe nazwy albo rozszerzenia. Wpisz "php Core/core.php --startmode commands --lang pl" i pokaż co Ci się wyświetla.

Pomogłem daj + :)

Opublikowano


INFO:Pomyślnie załadowano listę funkcji

INFO: Pomyślnie załadowano główną konfigurację

INFO: pomyślnie utworzono obiekt ts3admin

INFO: Pomyślnie połączono z serwerem

INFO: Pomyślnie zalogowano do serwera

INFO: Pomyślnie wybrano serwer

INFO: Pomyślnie utworzono socket do komunikacji między instancjami

ERROR: Zmiana nazwy nie powiodła się

Array

(

[0] => Error in setName() on line 3374: ErrorID: 513 | Message: nickname is already in use

)

 

INFO: Pomyślnie zarezerwowano socket do komunikacji między instancjiami

INFO: Pomyślnie załadowano listę komend

INFO: Pomyślnie załadowano listę permisji

INFO: Pomyślnie załadowano pliki konfiguracyjne funkcji multibota

ERROR: Brak pliku funkcji exampleconfigfile

PHP Notice: Undefined variable: config in /bot/mbot/Core/core.php on line 313

PHP Notice: Undefined index: weight in /bot/mbot/Core/core.php on line 337

 

INFO: Uruchamianie instancji o id: 0

INFO: Oczekiwanie na połączenie od instacnji o id: 0

INFO: Pomyślnie połączono się z instacją o id 0

INFO: Pomyślnie wyłano instrukcje dla instancji id 0

INFO: Oczekiwanie na odpowiedź od instancji (3s)

PHP Warning: socket_read(): unable to read from socket [104]: Connection reset by peer in /bot/mbot/Core/classes/commands-core.class.php on line 123

 

 

Opublikowano

Siemacie ! 

mam pytanie co do adminstatus.conf

 

ustawilem, wszystko pięknie śmiga, ale wie ktoś jak poprawnie dodać polecenie do kodu, żeby nick admina był jednocześnie jego linkiem ( ze jak sie kliknie na niego to wyskakuja opcje msg/poke etc) Czy jesli tak sie nie do to jak do kodu dodac możliwość wyslania wiadomosci do admina ? 

Pozdrawiam :)

9ctDbVH.png

Opublikowano

Bot bardzo dobry tylko jak wpisuje nazwe multibota to z Administrator @ Goodserv zmienia na administrator@goodserv­.

 

Leci +

Opublikowano

@GoldeneK Wynika to prawdopodobnie z budowy api pod ts3 a mianowicie używanej metody wysłania poleceń do serwera (ts3admin.info). Za jakiś czas zobaczę co i jak.

 

@1361622928-U485574.pnggibkiwacek W configu niestety tego nie zrobisz. :/ Niedługo poprawię to i będzie link do admina. ;)

 

@oczek123199 Ten błąd już nie występuje. (wiem rozmawialiśmy o tym ale piszę dla innych :D )

Pomogłem daj + :)

Opublikowano

Włącz 1 instancję więcej niż wcześniej i w konfiguracji channeladminstatus weight ustaw np. na 1000. Potem powiedz czy wywaliło wszystkie instancje czy tylko tą z channeladminstatus. Możesz to sprawdzić podglądając ilu jest użytkowników na serwerze. Możesz powiedzieć jeszcze po jakim czasie to się stało?

Pomogłem daj + :)

Opublikowano

po 2 godzinach i zaraz to prztestuje

 

 

 

 

 

 

 

 

 Administracjo droga wyniki wpiszę do tego posta :)

Opublikowano

Siemacie ! 

 

mam pytanie co do adminstatus.conf

 

ustawilem, wszystko pięknie śmiga, ale wie ktoś jak poprawnie dodać polecenie do kodu, żeby nick admina był jednocześnie jego linkiem ( ze jak sie kliknie na niego to wyskakuja opcje msg/poke etc) Czy jesli tak sie nie do to jak do kodu dodac możliwość wyslania wiadomosci do admina ? 

Pozdrawiam :)

 

Podmień zawartość pliku adminStatus.classes.php na:

<?php
/** adminStatus($multibotCore)
  *
  * Wersja: Alpha 1.1.3
  * Data wydania: 25.11.2015
  *
  * Wypisuje status administracji do opsiu kanału
  *
  * Wymagane zmienne multibotCore:
  * - serverGroupNames (Zalecany czas odświeżania: Dość długi ponieważ nie ma potrzeby częstego odświeżania nazw grup serwera)
  *
  */
class adminStatus extends start
{
  private $multibotCore;
  protected $start_timer = 0;
  protected $function_name = "Admin Status";
/** start_function()
  *
  * Typ: Chroniona
  *
  * Główny moduł funkcji adminStatus
  *
  */
  protected function start_function()
  {
  	$config = $this->multibotCore->getConfig("multibot");
    $tsAdmin = $this->multibotCore->getTsAdmin();
    $messageFinish = '';
    $groupList = explode(",", $config['adminstatus']['adminstatus']['groups']);
    foreach($groupList as $groupListTemp)
    {
      $clientList = $tsAdmin->serverGroupClientList($groupListTemp, true);
      $serverGroupNames = $this->multibotCore->getServerGroupNames();
      if(isset($serverGroupNames['regular'][$groupListTemp])) {
        $groupName = $serverGroupNames['regular'][$groupListTemp]['name'];
        $lista_administratorow = $config['adminstatus']['adminstatus']['administrator'];
        $groupName = str_replace('{group}', $groupName, $config['adminstatus']['adminstatus']['group_name']);
        $messageFinish = $messageFinish.$groupName."\n";
        if($clientList['success'] && (!empty($clientList['data'])))
        foreach($clientList['data'] as $clientListTemp)
        {
		  $output = '[URL=client://0/'.$clientListTemp['client_unique_identifier'].']'.$clientListTemp['client_nickname'].'[/URL]';
          $message = str_replace('{admin}', $config['adminstatus']['adminstatus']['admin'],$lista_administratorow);
          $status = $tsAdmin->clientGetIds($clientListTemp['client_unique_identifier']);
          if($status['success'])
          {
            $message = str_replace('{status}', $config['adminstatus']['adminstatus']['online'],$message);
            $message = str_replace('{client_nickname}', $output,$message);
            $messageFinish = $messageFinish.$message;
          }
          else
          {
            $message = str_replace('{status}', $config['adminstatus']['adminstatus']['offline'],$message);
            $message = str_replace('{client_nickname}',$output,$message);
            $messageFinish = $messageFinish.$message;
          }
        }
      }
    }
    $channel['channel_description'] = $config['adminstatus']['adminstatus']['header'].$messageFinish;
    $lol = $tsAdmin->channelEdit($config['adminstatus']['adminstatus']['channel'], $channel);
    return 'AdminStatus';
  }
  /** __construct($multibotCore)
    *
    * Typ: Konstruktor
    *
    */
    function __construct(multibotCore $multibotCore)
    {
      $this->multibotCore = $multibotCore;
    }
}
?>
Opublikowano

@KlassKai..

 

Super, dzięki działa bez zarzutu :)

A pytanie mam jeszcze jedno, jest możliwość uzycia częsci AVNbot ( chodzi mi dokładnie o funkcje Rekord Online ) z Exusem ? Wybacz pytanie jestem noobem jesli chodzi o tą tematyke 

9ctDbVH.png

Opublikowano

Bot jest dobrym rozwiązaniem dla ludzi których nie stać na mBota   :)

W pełni się zgodzę, bacznie obserwuję postępy osób, które tworzą różnorakie aplikacje, jednak jest tutaj wiele blędów jak i silnik nie jest odpowiedni, pomimo tego i tak wielki szacunek, że chociaż próbują.

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...