FBOT - Innowacyjna aplikacja pod serwery TeamSpeak3

Projekty użytkowników
ts3, aktywny
luxDev
luxDev Pionier

asdadsdsads|551x500

Cześć, chce wam przedstawić mój projekt bota na serwery TS3.

Głównym powodem istnienia Aplikacji jest to że nie jest to zwykły bot w popularnym języku w którym jest 99,9% botów na rynku

Zacznijmy może od początku o historii a potem przejdziemy do szczegółów.

Początek aplikacji

Majsterkować zacząłem już sporo czasu temu bot już ma rok, jednak praca przy nim na początku to była spora przygoda każdą funkcję aktualnych botów na rynku trzeba było napisać w kompletnie innym języku od podstaw żeby miało to sens i było wydajne. Pod koniec roku 2017 po miesiącu pisania upubliczniłem darmową wersję Alpha na znanym słabym forum o czitach oraz tutaj, odzew był lepszy niż się spodziewałem lecz później z powodów zdrowotnych zrezygnowałem z aktualizacji i projekt robiłem hobbystycznie u siebie. Przyszedł czas gdy wróciłem i jestem gotowy na lepsze wydanie bota.

Informacje o aplikacji

Jest to bot napisany od zera w Javie. Na tę chwilę posiada sporo podstawowych funkcjonalności które zostały wstępnie przeze mnie przetestowane oraz działają.

Nie ma takiego czegoś jak dwadzieścia instancji, fbot podczas jednego połączenia z serwerem potrafi wykonać każdą funkcję jeśli zajdzie potrzeba, praktycznie od razu, co jest sporą przewagą nad innymi botami.

Bota bez problemu uruchomisz na swoim domowym komputerze lub VPS bez instalacji dziesięciu innych programów, dodatków. Wystarczy Ci tylko Java (8), serwer MySQL oraz trochę chęci do skonfigurowania ustawnień.

Aktualne funkcje bota:

Centrum pomocy:

  • Nadawanie rang (można ustawić wymagany czas na serwerze) kobieta oraz mężczyzna.
  • Informowanie administracji o pobycie użytkownika na kanale przeznaczonym do pomocy.
  • Nadanie kanału prywatnego (również z wymaganym czasem do skonfigurowania)

Dodatki:

  • Teleporter klanowy
  • Wysyłanie wiadomości prywatnej po dołączeniu na serwer
  • Automatyczne sprawdzanie nowej wersji bota
  • Automatyczne rejestrowanie użytkownika po ustalonym czasie w konfiguracji

Bezpieczeństwo

  • Blokada nadawania uprawnień na klienta
  • Ochrona grup administracyjnych (i nie tylko)
  • Wyrzucanie użytkowników z nieprawidłowym pseudonimem

Fun:

  • Poziomy użytkowników (do skonfigurowania)

Kanały informacyjne:

  • Aktualizacja nazwy serwera z dowolnym tekstem i placeholderem typu %online, %percent
  • Status administracji
  • Aktualizacja statusu administratora na jego kanale
  • Lista najnowszych uzytkownikow
  • Lista zbanowanych klientów z informacjami
  • Aktualna godzina
  • Procent utraconych pakietów
  • Online dostępnych osób na serwerze
  • Średni ping na podstawie użytkowników
  • Liczba zarejestrowanych użytkowników
  • Liczba kanałów na serwerze
  • Liczba unikalnych użytkowników
  • Uzytkownicy z innych krajów
  • Rekord online z datą w opisie
  • Aktualizacja kanałów gildyjnych ze szczegółami w opisie.

Kanały prywatne:

  • Sprawdzanie daty kanału
  • Automatyczne nadawanie kanału
  • Automatyczne podbijanie aktywności kanału jeśli użytkownik wejdzie na serwer
  • Zmienianie nazwy kanału - Kanał zostanie niedługo zwolniony gdy użytkownika nie będzie przez 4 dni
  • Usuwanie kanału po siedmiu dniach
  • Informowanie użytkownika że jego kanał został usunięty po powrocie

Kanały TOP:

  • TOP X Połączeń z serwerem
  • TOP X Spędzonego czasu na serwerze
  • TOP X Najdłuższych połączeń z serwerze

Unofficial (ver 2.3)

  • Statystyki w opisie prywatnego kanału (właściciela) z kim najwięcej rozmawiał na ts

Dodatkowe informacje

Wszystkie funkcje to nie jest to na czym zamierzam skończyć w planach mam bardzo dużo nowych UNIKALNYCH funkcji których nigdzie nie spotkaliście.

Zaznaczam z góry że bot był testowany i poprawnie skonfigurowany powinien działać bez problemów.

Wymagania:

  • Java 8
  • Platforma: Dowolna
  • Baza MySQL

Download:

firebot.zip (4,4 MB) ( Nie zapomnij dać serduszka za pracę! ) https://dl.lvlup.pro/luxdev/projects/firebot.rar

Poradnik: https://www.youtube.com/watch?v=kdXWVLQrFIk

KrEdEnS
KrEdEnS Moderator Freebies

Myślę, że dość ciekawa alternatywa dla SBOTa tylko brakuje jeszcze paru bajerów, żeby z nim konkurowała. 🙂

luxDev
luxDev Pionier

Dzisiejsza aktualizacja wprowadza następujące zmiany:

  • Od teraz wymagany czas do stworzenia prywatnej strefy jest uwzględniany.

  • Teraz gdy administrator wejdzie na serwer jego kanał ze statusem zostanie zaktualizowany od razu.

  • Kod od listy banów został poprawiony od teraz jest uwzględniana maksymalna ilość znaków opisie kanału (8192, w UTF-Bytes)

  • Stylistyka szczegółowych informacji o klanie została poprawiona

  • Dodano teleporter klanowy/przystanki (whatever) również do skonfigurowania w pliku extended-configuration.yml na dole.

  • Dodano wsparcie zmiennych w wiadomości powitalnej (zostały opisane w konfiguracji)

  • Poprawiono literówki w niektórych funkcjach kanałów informacyjnych.

  • Od teraz można wyłączyć wiadomość powitalną

  • Wstępnie zaimplementowano funkcję która usuwa z opisu kanału niechciane linki, słowa lub znaki lecz z powodu problemu po drugiej stronie na obecną chwilę jest stale wyłączona. Postaram się to naprawić, fajna funkcja więc się chociaż pochwalę że dodałem :D

  • Opisy w konfiguracji zostały jeszcze bardziej uproszczone oraz doszło więcej przykładów żeby nowi użytkownicy mogli się szybciej połapać w składni yaml :D

  • Wyrzucanie klienta jeśli zostanie u niego wykryty niewłaściwy pseudonim

  • Dodano funkcję która nadaję użytkownikowi rangę weryfikacyjną po spędzonym czasie

  • Od teraz w konfiguracji można wyłączyć jeszcze więcej poszczególnych funkcji/rzeczy (Domyślnie nowe są wyłączone).

Większość czasu którą przeznaczyłem na aktualizacje zabrały mi usprawnienia kodu, uwierz mi lub nie - sporo zmian wstępnie niewidocznych doszło w kodzie.

Mogę też zdradzić że w najbliższym czasie będą wychodzić aktualizacje z bardzo dobrymi nowymi funkcjami.

Download firebot.rar

Pamiętaj o tym że nowe rzeczy w konfiguracji same się tworzą, nie musisz usuwać starej konfiguracji wystarczy że uruchomisz bota, wyłączysz go i skonfigurujesz nowe rzeczy.

Proszę też o jakieś opinie, zawsze to jakaś motywacja:D

luxDev
luxDev Pionier

Aktualizacja poradnika - dodano filmik prezentujący konfiguracje bota dla zainteresowanych :p

SP24
SP24

Gdzie jest ten film? Bot według mnie przydatny, ale dodaj więcej opcji

Timo
Timo Moderator forum.lvlup.pro

SP24:

Gdzie jest ten film?

luxDev:

Poradnik: https://www.youtube.com/watch?v=kdXWVLQrFIk

:thinking:

luxDev
luxDev Pionier

Regularne aktualizacje są co 7 dni Ważne aktualizacje są wydawane od razu

SP24
SP24

Niestety na telefonie nie widze takiego linku

eSuu
eSuu

Jest w temacie 🤨chrome|281x500

SP24
SP24

No tak. Nie patrzyłem na 1 wątek tylko na odpowiedź. XD

luxDev
luxDev Pionier

SP24:

Bot według mnie przydatny, ale dodaj więcej opcji Jakich na przykład?

SP24
SP24

Na przykład poziomy za czas spędzony na serwerze, statystyki administracji (ilość zarejestrowanych przez admina osób)

luxDev
luxDev Pionier

asdadsdsads|551x500 Dzisiejsza aktualizacja wprowadza następujące zmiany:

  • Nowa funkcja która wpisuje w kanał listę użytkowników z innych krajów (demo: https://imgur.com/a/aJdVYsC)
  • Nowa funkcja która blokuje uprawnienia na klienta (do skonfigurowania w konfiguracji)
  • Nowa funkcja tzw. ochrona rang - również do skonfigurowania.
  • Od tej wersji większość automatycznie generowanych opisów można zmienić w konfiguracji (więcej dojdzie później)
  • Poprawiono błąd w kodzie - użytkownik w pamięci bota na miejscu UniqueID miał swój nick co w jednej funkcji wywoływało nieprawdziwe informacje.
  • Do kilku funkcji dodano wsparcie generowania URL clienta aby można było do niego na przykład napisać.
  • Funkcja do generowania najnowszych użytkowników mogła mieć maksymalnie 10 wyników, teraz jest to nielimitowane.
  • Poprawiono błąd w komendzie !teleport, teraz jest ona bardziej przyjazna użytkownikowi udzielając informacji gdy on coś źle wpisze.
  • Całe centrum pomocy powinno być bardziej lżejsze dla query. Po prostu mniej komend do wysłania & odebrania.
  • Znów zmiany w konfiguracji, poprawiono małe błędy w kluczach konfiguracji oraz ich opisach
  • Dodano funkcję która ma za zadanie informować jeśli wyjdzie nowa aktualizacja bota (konsola & główny czat)
  • Delikatnie poprawiono funkcję od wypisywania informacji o klanie. Jeśli ktoś nie widział (https://imgur.com/a/XsKmblW)
  • Dodano informacje o aktualnej wersji do informacji podczas startu bota
  • Dodano https://tsforum.pl do header'a obu plików konfiguracyjnych.
  • Oraz standardowo nie siedziałem tym razem tylko nad funkcjami, ogólnie to wygląda to tak dwa dni poprawiam kod a około pięc piszę nowe rzeczy (oczywiście nie zawsze czasami mam kilka dni przerwy i potem nadrabiam zaległości pisząc po kilka godzin aby aktualizacja coś miała :D)
  • Ze względów bezpieczeństwa komenda z przedrostkiem !module została tymczasowo usunięta z kodu.

Następna aktualizacja będzie trochę szybciej bo jestem w połowie pisania funkcji takich jak:

  1. Statystyki administracji - nadane grupy
  2. Wykres w jakich dniach w tygodniu jest najwięcej osób

Bardzo możliwe że któreś z tych podanych wyżej niedługo się pojawi :D

Download (2.1) https://dl.lvlup.pro/luxdev/projects/firebot.rar

SP24
SP24

Tak trzymaj, a jest duża szansa, że będzie to najlepszy bot na rynku. Planujesz dodać LiveHelp'a? I czy planujesz zrobić wersje premium czy będzie to tylko darmowa wersja?

luxDev
luxDev Pionier

Od początku jest założenie że bot będzie miał wszystkie funkcje płatnych botów + swoje za darmo. Wątpię że to się zmieni

SP24
SP24

A jeśli chodzi o LiveHelp'a? Nigdzie nie mogę znaleźć takiego jakiego K-Scripts (chyba) ma

kubus
kubus

SBOT poczytaj o nim. Ma tę funkcje, sam korzystam.

LinGruby
LinGruby Pionier

Taka ciekawostka ;-)

Wchodzę na https://tsforum.pl/forum/311-automatyzujący-bot-fbot/ a tam widzę:

a8f74642-f6dd-4294-b899-453e8f24c6a0|690x338

HosTeam to już równo powaliło :-D :-D :-D

luxDev
luxDev Pionier

Mógłbyś dokładnie wyjaśnić co dana funkcja ma robić?

SP24
SP24

Miałoby to działać na takiej zasadzie, że wpuszczamy na serwer np. SinusBota i w konfiguracji FBota ustawiamy np. jego dbid, nick itp. Następnie jeśli użytkownik wbije na kanał LiveHelp to bot zacznie mówić, i gdy skończy mówić powiadamia administracje. Tylko LiveHelp ma reagować, jeśli użytkownik nie będzie adminem

luxDev
luxDev Pionier

Ok, jest to proste do wykonania:D

luxDev
luxDev Pionier

Czy są tutaj ludzie który posiadają trochę większy serwer TeamSpeak3? Wystarczy od 25-40 do XXX osób online.

Chciałbym zaoferować wspólną współpracę w ramach rozwoju mojej aplikacji oraz twojego serwera.

Plusy współpracy oraz sama współpraca zostanie opisana po wysłaniu PM do mnie na forum :)

krfcm
krfcm Pionier

@luxDev Odezwij się na pw około 180 osób online

luxDev
luxDev Pionier

asdadsdsads|551x500 Nazwa aktualizacji: Kanały prywatne

W tej wersji zostały dodane następujące rzeczy:

  • Centrum pomocy od teraz jest bardziej przyjazne użytkownikowi (demo: https://imgur.com/a/rDXbD2o).
  • Zmieniono sposób powiadamiania administracji o pobycie użytkownika na danym kanale od teraz w konfiguracji można wybrać LISTĘ grup, które mają być powiadamiane.
  • Zmieniono sposób wyświetlania informacji o pobycie użytkownika na kanale pomocy (demo: https://imgur.com/a/XeOiYeF)
  • Od teraz kanały prywatne są monitorowane pod względem aktywności.*
  • Od teraz metoda, która generowała opis najnowszych użytkowników na serwerze jest wykonywana tylko wtedy gdy taki użytkownik rzeczywiście się pojawi.
  • Od teraz metoda, która generowała rekord użytkowników również się wykonuje gdy rzeczywiście rekord zostanie pobity.
  • Od teraz metoda, która wpisywała ilość unikalnych użytkowników od początku serwera wykonuje się tylko wtedy gdy nowy użytkownik się pojawi.
  • Wygląd rekordu użytkowników został poprawiony, od teraz jest tam data bardziej przyjazna użytkownikowi w formacie dd/MM/yyyy HH:mm.
  • Poprawiono błąd w kodzie, który powodował omijanie zarejestrowania nadania uprawnień na klienta. Od teraz działa tak jak powinno.
  • Doszło jeszcze więcej linijek konfiguracyjnych, które pozwalają na wyłączenie niektórych rzeczy w bocie.
  • Teraz jest możliwość ustawienia opisu prywatnego kanału w konfiguracji.
  • Poprawiono błąd z bazą danych. Przy próbie zapisu rekordu użytkowników był błąd. W tej wersji zostało to poprawione.
  • Bardzo duża poprawka w optymalizacji — zmieniono sposób pozyskiwania unikalnej ilości użytkowników od początku serwera na kanale informacyjnym.
  • Małe poprawki w kończeniu sesji bota.
  • Małe poprawki w zliczaniu poziomu użytkownika.
  • Od teraz w bazie danych jest również zapisywany adres IP użytkownika.
  • Zmieniono sposób generowania najnowszych użytkowników powinno być to szybsze.
  • Zoptymalizowano tworzenie kanału prywatnego lub przerzucanie użytkownika na jego prywatny kanał jeśli go już posiadał.
  • Poprawiono opisy niektórych elementów w konfiguracji bota.
  • Poprawiono generowanie listy banów.
  • Od teraz ilość wejść użytkowników na serwer jest niezależna od bota.
  • Do statusu administracji dodano wsparcie URL Klienta.

*- Jeśli właściciel kanału nie był na serwerze przez 4 dni jego kanał zmienia nazwę na "Kanał zostanie niedługo zwolniony." a gdy użytkownik nie będzie aż ponad 7 dni jego kanał zostanie zwolniony i przeznaczony na użytek do następnego właściciela.

Po wejściu właściciela kanału na serwer data jego kanału zostanie podbita a sam on o tym powiadomiony w wiadomości prywatnej.

Gdy kanał prywatny zostanie usunięty jego były właściciel zostanie o tym powiadomiony na wejściu na serwer po jego przerwie.

Download wersji 2.2 https://dl.lvlup.pro/luxdev/projects/firebot.rar

Jakub
Jakub

Mam nadzieję, że bot jest "czysty" tzn nie posiada żadnych luk przez które np ty możesz sobie nadać rangi 😛.

raxelovsky
raxelovsky

Po konfiguracji według poradnika oraz próby uruchomienia bota wyskakują mi takie błędy https://pastebin.com/ng6CB0Xk zarówno na windowsie jak i na serwerze z ts, jak to naprawić?

luxDev
luxDev Pionier

Wydaję mi się że zapomniałem wygenerować nową konfigurację przy wrzucaniu bota, spróbuj usunąć aktualną i włączyć bota żeby stworzył nową.

raxelovsky
raxelovsky

tu był problem, dzięki za pomoc :slight_smile:

krzysiekn
krzysiekn

Wszystko fajnie ale nie reklamuj syfiastego forum xD

luxDev
luxDev Pionier

Współpracę mam z nimi od początku października'18, jak na razie same plusy, nie widzę powodu aby wyzywać te forum, nie mam z nim żadnego problemu:)

luxDev
luxDev Pionier

Mała aktualizacja & refresh

Temat odświeżony: od teraz będę się starał aktualizować aktualne funkcje w temacie.

Z mniej ważnych:

  • Zerwano współpracę z tsforum
luxDev
luxDev Pionier

Ciekawa informacja - w momencie gdy to piszę jestem w trakcie pisania pierwszego panelu użytkownika. Na stronie będzie można zobaczyć sporo informacji typu podstawowe informacje, miejsce w topkach, lista osób z którymi dany użytkownik najwięcej rozmawia (oraz czas) i masa innych rzeczy.

Nie wiem kiedy będzie pierwsza wersja ale mam nadzieje że kogoś to zainteresuje :)

Wszystko oczywiście będzie działać razem z fbotem.

Theszymek
Theszymek

Coś mi tutaj nie śmiga 😕 https://pastebin.com/v5cnh8Vt Musiałem zmieć w start sh i dopisać ".jar" ponieważ w ogóle wcześniej się nie odpalało

luxDev
luxDev Pionier

Wybacz ta wersja ma wygenerowany stary plik konfiguracji, usuń go i włącz bota żeby stworzył świeżą konfigurację.

Theszymek
Theszymek

Naprawiłem bota. Nie stara konfiguracja była winą lecz brak cudzysłowów. W domyślnej konfiguracji dodałem wszędzie << " >> na końcu i początku configu i już wszystko działa :)

raxelovsky
raxelovsky

Cześć, czy jest możliwość wyłączenia powiadomień na globalnym czacie co bot wykonuje w danej chwili? Pozdrawiam :D

Kaczuc
Kaczuc

raxelovsky:

Cześć, czy jest możliwość wyłączenia powiadomień na globalnym czacie co bot wykonuje w danej chwili? Pozdrawiam Nie ma takiej opcji w żadnym bocie.

luxDev
luxDev Pionier

Z racji tego jak działa sam teamspeak nie da się tego zrobić

p3trus
p3trus

Po próbie odpalenia dostej taki komunikat

Error: Unable to access jarfile FireBOT

KQTK
KQTK

java -jar nazwapliku.jar

p3trus
p3trus

wywaliło mi teraz to: https://pastebin.com/tcx2EKJN nie wiem czy coś w konfiguracji źle zrobiłem ?

Kaczuc
Kaczuc

Możliwe, że gdzieś usunąłeś znak ' lub " wstaw konfiguracje ;p

luxDev
luxDev Pionier

Polecam Ci jeśli tego nie zrobiłeś wygenerować nowy plik konfiguracji (extended) Wystarczy go usunąć włączyć bota i wyłączyć aby go na nowo skonfigurować, gdzieś widziałem że zostawiłem w całym archiwum firebot.rar starą konfiguracje ;/

p3trus
p3trus

Wygenerowałem jeszcze raz plik i wszystko działa :D Będzie opcja przerzucenia kogoś ze statusem AFK na specjalny kanał? i drugie zapewne głupie pytanie, ale gdy odpalę w putty bota to nie wiem jak wyjść żeby go nie wyłączyć (sorry) :roll_eyes:

luxDev
luxDev Pionier

p3trus:

Będzie opcja przerzucenia kogoś ze statusem AFK na specjalny kanał? Tak szczerze to była ona w najwcześniejszych wersjach bota co potem sie okazało każdy chciał ją wywalić bo niepotrzebnie zawadzała i przy przepisywaniu wszystkiego na nowo jej nie zrobiłem, co prawda mogłem zrobić to aby była możliwość wyłączenia w konfiguracji ale przez to wszystko zapomniałem.

p3trus:

i drugie zapewne głupie pytanie, ale gdy odpalę w putty bota to nie wiem jak wyjść żeby go nie wyłączyć (sorry) :roll_eyes: odpal go sobie w screenie screen -S bot java -jar "FireBOT.jar"

Wychodzenie ze screena CTRL + A + D bodajże razem jakoś Wejście z powrotem screen -r bot

Co do nowych funkcji, nie będziemy się oszukiwać i wygląda to tak że na tę aktualną "Odświeżoną" wersje bota jest 10x razy mniejszy popyt aniżeli jakąś pobugowaną alphe kiedyś z tego powodu też nie mam motywacji do działania dalej i rozwijania