Instalacja TS3AudioBot na serwerze VPS KVM Ubuntu 16.04

Poradniki
vps, ts3
Timo
Timo Moderator forum.lvlup.pro

Część Wstępna

TS3AudioBot to otwartoźródłowy projekt bota do TeamSpeaka, dobra alternatywa dla Sinusbota. Cechuje się dużo niższym zużyciem zasobów w stosunku do swojego konkurenta. Oferuje on odtwarzanie piosenek z YouTube i SoundClouda. Posiada rozbudowany, lecz łatwy w ustawieniu system uprawnień.

Wymagania

Do instalacji TS3AudioBot będziemy potrzebowali:

  • Serwer VPS z systemem Ubuntu 16.04 64bit,
  • Konto root na VPS,
  • Pakiet screen,
  • Kilka innych pakietów, które zaraz zainstalujemy,
  • Serwer TeamSpeak, na którym już wkrótce rozpiecznie pracę nasz bot ;)

⚠️ Jeśli nie posiadasz jeszcze serwera VPS, możesz go kupić tutaj ⚠️ Podczas zamawiania wprowadź TIMOPROJECT.PL w odpowiednią rubrykę a otrzymasz zniżkę w wysokości 10% oraz wspomożesz autora poradnika i zmotywujesz do tworzenia kolejnych

Część Techniczna

Instalacja pakietów

Każde oprogramowanie jest złożone z różnych elementów. Korzysta z funkcji oferowanych przez mniejsze i większe pakiety. Należy je zainstalować, aby oprogramowanie mogło poprawnie działać.

Na samym początku aktualizujemy nasze paczki systemowe, korzystając z polecenia:

apt update && apt upgrade

Następnie wpisujemy poniższe komendy, by dodać klucze potrzebne do instalacji pakietu mono:

apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
apt install apt-transport-https
echo "deb https://download.mono-project.com/repo/ubuntu stable-xenial main" | tee /etc/apt/sources.list.d/mono-official-stable.list
apt update

Czas na instalację mono-devel. Instalacja tego pakietu potrwa troszę dłużej ;)

apt install mono-devel

Instalujemy jeszcze kilka innych pakietów, w tym te do obsługi głosu przez bota:

apt install libopus-dev ffmpeg libc6-dev unzip screen nano

Nasz bot będzie obsługiwał odtwarzanie piosenek z YouTube, więc używamy polecenia:

apt install python-pip
pip install youtube_dl

Wszystkie pakiety zostały zainstalowane.

Tworzenie użytkownika

Tworzymy użytkownika, na którym będzie uruchomiony nasz bot. W poradniku zastosuję nazwę bot.

Wykonujemy następującą komendę, by dodać nowego użytkownika:

adduser bot

Zostaniemy podwójnie poproszeni o podanie hasła. Wpisujemy je. undefined

Po wpisaniu system poprosi nas o dodatkowe dane - nie musimy ich podawać. Wciskamy enter pięciokrotnie. undefined

Następnie klawiszem Y potwierdzamy poprawność wpisanych danych. undefined

Przechodzimy na konto bota, wpisując komendę:

su bot

Zmieniamy katalog na domyślny komendą:

cd

By móc korzystać z pakietu screen, używamy komendy:

script /dev/null

Pobieranie bota

TS3AudioBot.zip (3,4 MB)

Tworzymy katalog na pliki naszego bota oraz do niego przechodzimy:

mkdir bot && cd bot

Pobieramy bota komendą:

wget -O TS3AudioBot.zip https://forum.lvlup.pro/uploads/default/original/2X/5/5b2479e13745c3a1f22d552dcf1c5c604af1469e.zip

Wypakowujemy pliki bota:

unzip TS3AudioBot.zip

Nasz folder po wykonaniu komendy ls powinien wyglądać tak: undefined

Pierwsze uruchomienie

Dzięki pierwszemu uruchomieniu w głównym katalogu bota tworzą się pliki konfiguracyjne. Uruchamiamy bota, a następnie go zatrzymujemy, by móc go skonfigurować.

W tym celu uruchamiamy screena, bez którego nasze procesy po zamknięciu konsoli wyłączyły by się:

screen

Powinno pojawić się nam okno z tekstem: undefined

Należy wtedy wcisnąć enter. voilà, mamy otwartą sesję terminalu, która będzie podtrzymywana, kiedy z niego wyjdziemy.

Uruchamiamy bota komendą:

mono TS3AudioBot.exe

Podczas pierwszego uruchomienia będziemy mieli kilka opcji do ustawienia. Pierwszą z nich jest adres naszego serwera TeamSpeak. W przypadku, kiedy znajduje się on na tym samym VPS co nasz bot, wpisujemy localhost. Powinno to wyglądać tak: undefined

Zatwierdzamy enterem i idziemy dalej.

Pojawi się zapytanie o hasło. Jeśli nasz serwer nie ma hasła, klikamy enter. undefined

Jeśli serwer TeamSpeak działa, bot powinien się połączyć, a naszym oczom ukazać informacja o jego sukcesie. Zauważymy go również na lobby naszego serwera: undefined

undefined

Pierwsze uruchomienie już za nami. Wyłączamy bota, wykonując skrót klawiszowy Ctrl + C: undefined

Jak widzimy, bot wyszedł z serwera: undefined

Konfiguracja głównych ustawień bota

Nasz bot działa, lecz będzie wyglądał i działał lepiej, jak spersonalizujemy jego ustawienia.

Aby tego dokoanć, wprowadzamy poniższą komendę w naszą linię poleceń:

nano ts3audiobot.toml

Ukaże się nam obraz taki jak ten: undefined

Nie będą interesowały nas wszystkie linijki w tym pliku konfiguracyjnym. Pokażę, jak poprawnie ustawić najważniejsze funkcje.

Pierwszą z nich jest nazwa bota, znajdziemy ją w 29 linijce od góry. Domyślne ustawienie to TS3AudioBot: undefined

Zmieniamy je według własnego uznania. W moim przypadku będzie to "Bot Muzyczny": undefined

Kolejną istotną rzeczą jest zakres głośności bota. Oczywiście jest to zakres minimalnego i maksymalnego ustawienia - dokładna głośność będzie regulowana przez użytkownika poprzez komendę. Zaleca się zostawienie w domyślnym ustawieniu, lecz jeśli lubisz (na prawdę) głośnno słuchać muzyki, możesz to zmienić: undefined

Następną opcją wymagającą zmiany jest lokalizacja pliku youtube-dl, odpowiadającego za odtwarzanie utworów z YouTube. Domyślnie opcja wygląda tak: undefined

Zmianiamy ją na na /usr/local/bin/youtube-dl Po zmianie, opcja będzie wyglądała tak: undefined

Zapisujemy plik skrótem klawiszomy Ctrl + X i potwierdzamy guzikiem Y

Konfiguracja uprawnień

Plik z uprawnieniami umożliwia nam przydzielenie różnym rolom różnych uprawnień. Dla przykładu, utworzymy na serwerze rolę DJ, która będzie umożliwiała standardowe sterowanie botem. Dodamy również wszystkie uprawnienia bota roli Server Admin.

Pobieramy oficjalny plik z uprawnieniami. Wykonujemy komendę

wget https://raw.githubusercontent.com/Splamy/TS3AudioBot/master/TS3AudioBot/Rights/DefaultRights.toml

Zmieniamy jego nazwę z DefaultRights.toml na rights.toml komendą:

mv DefaultRights.toml rights.toml

Przystępujemy do edycji. Wykonujemy komendę:

nano rights.toml

W pliku widzimy wstępnie przygotowane uprawnienia, a wygląda to tak: undefined

Przechodzimy do sekcji uprawnień Administratora. Wygląda tak: undefined

Parametr groupid odpowiada za ID grupy na serwerze, do której będzie przypisana rola. Aby sprawdzić ID grupy Administratora na twoim serwerze TeamSpeak, przejdź do Listy Grup na serwerze. Liczba obok nazwy grupy to jej ID. W moim przypadku, jest to 6: undefined

Takie też ID wpisujemy w plik rights.toml, który właśnie edytujemy.

Drugim parametrem jest useruid. Odpowiada on za przypisanie danej roli do pojedyńczego użytkownika, na przykład jeśli chcemy ustawić mu daną rolę bota, nie nadając grupy na serwerze. Aby je uzyskać, wchodzimy w ustawienia jednej z grup, jaką posiada użytkownik. Po prawej stronie znajdujemy jego nick i prawym guzikiem wybieramy opcję "Copy Unique ID to clipboard": undefined

Twoje ID będzie się różniło od mojego, lecz będzie podobnej wielkości i również zakończone znakiem =. Moje wygląda tak: DKiTSjjaBN4/HCAulrEj82A3NSk= Wklejamy je do pliku uprawnień bota.

Po dokonaniu edycji, sekcja będzie wyglądała tak: undefined

Następna sekcja jest bardziej obszerna, ponieważ definiuje poszczególne uprawnienia dla roli. To będzie nasza rola DJ. Z groupid postępujemy analogiczne jak w przypadku sekcji wyżej.

Poniżej znajdziemy uprawnienia: undefined

Możemy je edytować. Dla przykładu chcę, aby rola DJ nie miała uprawnień do historii wykonanych komend. Usuwam więc linijki, w których uprawnienia zaczynają się od cmd.history. Po tej zmianie, uprawnienia tej roli będą wyglądały tak: undefined

Zapisujemy plik skrótem klawiszowym Ctrl + X i potwierdzamy guzikiem Y

Wszystkie przetłumaczone i wyjaśnione uprawnienia z tej sekcji znajdują się na dole poradnika.

Uruchamianie bota

Nasz bot będzie chodził całodobowo, a jego sesja będzie podtrzymywania przez screena.

Uruchamiamy go komendą:

mono TS3AudioBot.exe

Efekt będzie taki: undefined

Uprawnienia bota

Sam bot też potrzebuje podstawowych uprawnień na serwerze, takich jak dostęp do wchodzenia na kanały czy mówienia na nich. Najprostszym rozwiązaniem będzie nadanie botowi uprawnienia Server Admina.

Po nadaniu odpowiedniej grupy botowi, jego panel boczny będzie wyglądał tak: undefined

voilà

Nasz bot jest już na serwerze. Działa.

W następnej części poradnika nauczysz się kompleksowo obsługiwać bota.

Część Informacyjna

Lista podstawowych komend wraz z opisem

  • add: Dodaje utwór do kolejki.
  • clear: Czyści listę odtwarzania.
  • disconnect: Wyłącza instancje bota.
  • help: Wyświetla stronę pomocy.
  • history: Pokazuje historię odtwarzania.
  • kickme: Zgadnij ;)
  • link: Podaje adres URL aktualnego utworu.
  • loop: Włącza i wyłącza powtarzanie aktualnej listy odtwarzania.
  • next: Odtwarza następny utwór z listy odtwarzania.
  • pause: Zatrzymuje utwór. Wznów używając !play
  • play: Odtwarza utwór. Podaj URL z YouTube, lub lokalizację z dysku VPSa.
  • previous: Odtwarza poprzedni utwór z listy odtwarzania.
  • quit: Zamyka proces bota.
  • repeat: Włącza i wyłącza powtarzanie aktualnego utworu.
  • seek: Przełącza do danej minuty w utworze.
  • song: Podaje nazwę aktualnego utworu.
  • stop: Zatrzymuje aktualny utwór.
  • volume: Zmienia głośność.

Lista podstawowych uprawnień wraz z opisem

  • cmd.play: Umożliwia odtwarzanie utworów.
  • cmd.pause: Umożliwia zatrzymanie utworu
  • cmd.stop: Umożliwia wyłączenie utworu.
  • cmd.seek: Umożliwia zmianę czasu utworu.
  • cmd.volume: Umożliwia zmianę głośności.
  • cmd.add: Umożliwia dodanie utworu do kolejki.
  • cmd.clear: Umożliwia wyczyszczenie kolejki.
  • cmd.previous: Umożliwia zmianę utworu na poprzedni.
  • cmd.next: Umożliwia zmianę utworu na kolejny.
  • cmd.repeat.*: Umożliwia ustawienie powtarzania utworu.

Sterowanie botem

Każda komenda jest zbudowana i może być używana według poniższego schematu:

!   ...

Komenda zadziała, kiedy popełnisz literówkę. Aplikacja jest na to przygotowana. Poniżej przedstawiam przykład komendy !history last 10 - każda z komend podanych zadziała:

historyy lastt 10
his la 10
higsndtor latuht 10

Dzięki za przeczytanie 😎

Źródło: Splamy/TS3AudioBot

krfcm
krfcm Pionier

Osobiście wolałbym download z bezpośredniego źródła 😕

Timo
Timo Moderator forum.lvlup.pro

Też wolałem dać - lecz nie można znaleźć bezpośredniego linku .zip do pobrania, ponieważ strona z oficjalnym pobieraniem działa jako proxy. Oczywiście, można było pobrać wersję z Githuba i kompilować sobie ją, lecz jest to zbyt wysoki poziom. Poradnik jest dedykowany początkującym użytkownikom.

krfcm
krfcm Pionier

wget https://codeload.github.com/Splamy/TS3AudioBot/zip/master mv master master.zip 1 dodatkowa linijka, a zawsze będzie pewność, że pobierasz najnowszą wersję ;)

Draysh
Draysh

Jak dodać kolejnego bota ?

bopke
bopke Moderator forum.lvlup.pro

krfcm:

wget https://codeload.github.com/Splamy/TS3AudioBot/zip/master mv master master.zip


1 dodatkowa linijka, a zawsze będzie pewność, że pobierasz najnowszą wersję :wink:
a potem cyk 
> wget -O master.zip https://codeload.github.com/Splamy/TS3AudioBot/zip/master

I mamy 0 dodatkowych linijek :P
Qmis
Qmis

@Timo poradnik taki sobie mogłeś dać na Debian instalację nie każdy korzysta z Ubuntu mogłeś pokazać jak uruchomić bota w screen 1 lub 10 poradnik posiada mało informacji.

Aylin
Aylin ex-admin forum.lvlup.pro

Większość rzeczy działających na Ubuntu zadziała też i na Debianie.

Jednocześnie nic nie stoi na przeszkodzie żebyś napisał poradnik dla Debiana @Qmis ;) Zawsze +1 do poradników biorących udział w konkursie.

Alienix
Alienix

Witam mam pytanie dlaczego jak po kilku krokach trzeba wpisać ``` nano ts3audiobot.toml i jak to wpisauje to w putty wyskakuje mi bash: nano: command not found

bopke
bopke Moderator forum.lvlup.pro

Widocznie edytor ten nie jest zainstalowany. Użyj sudo apt install nano i kontynuuj od tego punktu :)

Timo
Timo Moderator forum.lvlup.pro

Uzupełniłem poradnik o pakiet nano, dzięki za zauważenie ;)

Alienix
Alienix

Wyłączyłem putty po czym ponownie włączyłem aby zainstalować nano teraz jak wrócić do tamtego folderu? wszystko nazywałem jak na poradniku

Alienix
Alienix

-bash: cd: bot: No such file or directory root@vps6737:~#

Timo
Timo Moderator forum.lvlup.pro

Alienix:

Wyłączyłem putty po czym ponownie włączyłem aby zainstalować nano teraz jak wrócić do tamtego folderu? wszystko nazywałem jak na poradniku

Folder ten został utworzony na koncie bota. Najlepiej przejdź przez

cd

Do katalogu głównego będąc na koncie bota, a następnie

cd bot

by wejść w folder z plikami ;)

Alienix
Alienix

Okej bot działa ale jak chce aby na przykład 2 różne rangi mogły go kontrolować to jak to zrobić?

Timo
Timo Moderator forum.lvlup.pro

Jeśli chcesz przypisać je do jednej utworzonej roli, dodaj oba ID rangi do rights.toml ;)

Alienix
Alienix

Po przecinku? najlepiej jak być to zrobił i dał ss był bym wdzięczny

Alienix
Alienix

I jeszcze jedno czy jest opcja zrobienie 2 bota na serwer a jak tak to jak

Alienix
Alienix

Teraz gdy chcę wejść do tego bota to mi nie działa wyskakuje bot@vps6737:$ mono TS3AudioBot.exe Cannot open assembly 'TS3AudioBot.exe': No such file or directory. bot@vps6737:$ chce wejść ponieważ nie działają linki z YouTube a wcześniej działały

Timo
Timo Moderator forum.lvlup.pro

Alienix:

Po przecinku? najlepiej jak być to zrobił i dał ss był bym wdzięczny Domyślnie masz tak: obraz|126x19 Ustaw na

groupid = [ 0, 1 ]

zamieniając 0 i 1 na ID grup z TSa.

Alienix:

I jeszcze jedno czy jest opcja zrobienie 2 bota na serwer a jak tak to jak Jutro dopiszę to do poradnika.

Alienix:

bot@vps6737:~$ mono TS3AudioBot.exe Cannot open assembly ‘TS3AudioBot.exe’: No such file or directory. Musisz jeszcze wejść w katalog bota, wpisując

cd bot

Dopiero wtedy będziesz mógł uruchomić bota.

Alienix
Alienix

Wpisalem na poczatku cd bot znaczy powiem tak chcialem zrobic 2 bota i zrobilem nowego usera bot ten nie dziala i przy okazij zniszczyl tego bota:(

Timo
Timo Moderator forum.lvlup.pro

To w takim razie zastosujesz poradniczek od nowa jutro, jak uzupełnię go o dodatkowe instancje botów.

Alienix
Alienix

No dobrze a czy to wtedy naprawi 1 bota? Czym musze robić reinstall wszystkiego?

Timo
Timo Moderator forum.lvlup.pro

Zależy co w nim popsułeś. Jak zrobisz na nowym użytkowniku to będzie od nowa.

Alienix
Alienix

Nie zabardzo rozumiem po zainstalowaniu nowego bota w innym user nie dzialaja mi oby dwa boty

Timo
Timo Moderator forum.lvlup.pro

Jeśli nie podeślesz żadnych logów z konsoli, nie będę mógł ci pomóc ;)

Alienix1338
Alienix1338

Nie wiem dlaczego ale na tamtym koncie dostalem bana na 24 h chyba za duzo komentowalem jak na 1dzien. Ogólnie sprawa jest taka że w miejscu gdzie trzeba wpisać localhost wyskakują mi 2 bardzo długie wiadomości a jak chce wejść na 1 bota i wpisuje scrin (jestem na telefonie nie pamietam dokladnych nazw) Potem komende do włączanie to wyskakuje mi ze nie mam jakiegoś pliku to masz w komentarzu pod twoim postem jak zainstalowac bota

Timo
Timo Moderator forum.lvlup.pro

Zapewne znowu nie wszedłeś w folder bota komendą

cd bot

po wejściu w screena.

Alienix1338
Alienix1338

Własnie ze wszedlem tak jakby pliki bota sie uszkodzily przez probe zainstalowania 2

Alienix1338
Alienix1338

Mozna z toba jakis inny kontakt poza forum? Np facebook

Timo
Timo Moderator forum.lvlup.pro

Wieczorem postaram się pomóc ci tutaj - zapewne nie tylko ty będziesz miał taki problem, a tak to sytuacja zostanie rozwiązana u wszystkich.

Możesz używać opcji edycji postu wyżej, zamiast pisać kolejnego. Wtedy limit ci nie wskoczy ;)

Alienix1338
Alienix1338

Dzieki bardzo bedze wdzieczny a jaki jest limit dzienny?

Alienix1338
Alienix1338

Dobra masz wszystko co mi się pokazuje.

root@vps6737:# su bot bot@vps6737:/root$ cd bot@vps6737:$ script /dev/null Script started, file is /dev/null bot@vps6737:$ cd bot bot@vps6737:/bot$ screen at System.Net.EndPointManager.AddPrefixInternal (System.String p, System.Net.HttpListener listener) [0x0005e] in :0 at System.Net.EndPointManager.AddListener (System.Net.HttpListener listener) [0x0009c] in :0 at System.Net.HttpListener.Start () [0x0000f] in :0 at TS3AudioBot.Web.WebServer.EnterWebLoop () [0x0000f] in <5f65d602ca3e4203b5d0f9de8d11d691>:0 at System.Threading.ThreadHelper.ThreadStart_Context (System.Object state) [0x00014] in <2943701620b54f86b436d3ffad010412>:0 at System.Threading.ExecutionContext.RunInternal (System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, System.Object state, System.Boolean preserveSyncCtx) [0x00071] in <2943701620b54f86b436d3ffad010412>:0 at System.Threading.ExecutionContext.Run (System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, System.Object state, System.Boolean preserveSyncCtx) [0x00000] in <2943701620b54f86b436d3ffad010412>:0 at System.Threading.ExecutionContext.Run (System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, System.Object state) [0x0002b] in <2943701620b54f86b436d3ffad010412>:0 at System.Threading.ThreadHelper.ThreadStart () [0x00008] in <2943701620b54f86b436d3ffad010412>:0 bot@vps6737:~/bot$

Alienix1338
Alienix1338

Mam pytanie czy temat został zapomniany czy będzie dalej kontynuowany?

Timo
Timo Moderator forum.lvlup.pro

Będzie kontynuowany, nic nie zostaje zapomniane. Co do uzupełnienia poradnika o dodatkowe instancje, muszę znaleźć na to troszkę więcej czasu. Ale zrobię to, pamiętam o tobie 😂

Co do errora wyżej, spróbuj przeinstalować pakiet screen (apt remove screen i apt install screen) A później wywoływać /usr/bin/screen Zamiast screen

Alienix1338
Alienix1338

nie działa mógł byś mi napisać po kolei wszystkie komendy.

Nieznajomy11
Nieznajomy11 Moderator forum.lvlup.pro

@Alienix1338 zbanowałem permanentnie twoje poprzednie konto @Alienix.

Multikonta na tym forum nie są dozwolone, niemniej w tym przypadku robimy wyjątek nie karając twojego drugiego konta, a jedynie całkowicie blokujemy poprzednie. Koniec końców nie zrobiłeś niczego złego, a jedynie chciałeś kontynuować normalną dyskusję.


Dodatkowo, czy udało ci się rozwiązać problem?

Alienix1338
Alienix1338

niestety nie a i za to multikonto to sorka

Timo
Timo Moderator forum.lvlup.pro

Postaram się aby jeszcze dzisiaj powstało rozszerzenie do poradnika dot. kilku botów na raz.

Co do @Alienix1338, jeśli nie działa ci pakiet screen to masz coś napsute w systemie. Jeśli możesz to najłatwiej ci będzie zapisać aktualne pliki i przeinstalować system. Następnie zrobić według poradnika, w gotowej już wtedy wersji na kilka botów.

Alienix1338
Alienix1338

Nie dokąca ciebie rozumiem bot sam w sobie działa nawet jak wyłączam putty ale potem nie wiem jak go wyłączyć i wgrać 2 bota

Kaczuc
Kaczuc

Alienix1338:

nie wiem jak go wyłączyć

sudo apt-get install htop

Szukasz potem otwartego procesu i zabijasz screena

stworek
stworek

Wiem, że zapewne jakoś da się stworzyć kilka botów, ale no niestety nie wiem jak. Iż za każdym razem wyskakuję mi informacja o użytym już adresie. Szukam szukam, ale chyba nie znajdę sam jak zmienić port, więc jak ktoś wie czy coś, prosiłbym o pomoc. Chyba, że autor postu, jest aktualizuje i może dodać to albo chociaż naprowadzić na to ;)

Kaczuc
Kaczuc

Jeśli możesz wstaw cały plik konfiguracyjny bota tzn. tam gdzie ustawiasz adres serwera i inne bajery Może udać się coś znaleźć

stworek
stworek

@Kaczuc sprawdziłem raz jeszcze plik konfiguracyjny i znalazłem, spać już mi się chciało wtedy i no 😛

Jakby ktoś też potrzebował postawić kilka botów, to linijka port do zmienienia w pliku konfiguracyjnym, u mnie numerek linijki to 144.

Pozdrawiam, miłego dnia!

Alienix1338
Alienix1338

A jaki port ustawiasz czy to obojętne?

Timo
Timo Moderator forum.lvlup.pro

Sprawdziłem zasadę tworzenia kolejnych botów - niestety nie działa to jakbym chciał. U mnie zrobiłem to tak, że skopiowałem ts3audiobot.toml do pliku 2.toml, w którym usunąłem ciąg znaków ID tożsamości od TS-a, oraz uruchomiłem bota w identyczny sposób, lecz dodając parametr -c 2.toml. W ten sposób uruchomił mi się drugi proces bota, korzystając z configu 2.toml, dzięki czemu finalnie na serwerze są dwa boty, a korzystają z innego configu (inne ID, więcej możliwości).

KrEdEnS
KrEdEnS Moderator Freebies

Skrypt do instalacji TS3AudioBot:

cd /home

wget http://clan-rave.pl/TS3AudioBot/install.sh

chmod 777 install.sh

Aktualnie skrypt instalacyjny wspiera: Ubuntu 14.04; Ubuntu 16.04; Ubuntu 18.04; Debian 8; Debian 9.

Ps: polecam stworzyć osobnego użytkownika na boty muzyczne :slight_smile:

KinGuuuS
KinGuuuS

Czy da się postawić na 1 vps kilka botów ? Jeśli tak to byłbym wdzięczny jeśli powiedziałbyś w jaki sposób

SP24
SP24

Możesz użyć dockera lub kontenerów.

KrEdEnS
KrEdEnS Moderator Freebies

Tak, możesz je odpalić w web panelu, lub przez komendy:

!bot connect to *ip*        //łączy bota na dane ip (tymczasowy)
!bot connect template        //łączy bota z szablonu
!bot save *nazwa_tamplate*        //zapisuje bota tzn tworzy szablon
!bot list        //lista botów

PS. Wszystkie komendy do bota możesz wywołać komendą !help bot odpowie Ci na wydaną komendę:

========= Welcome to the TS3AudioBot ========= If you need any help with a special command use !help . Here are all possible commands: add, api, bot, clear, eval, from, getmy, getuser, help, history, if, info, json, kickme, list, next, parse, pause, play, plugin, pm, previous, print, queue, quiz, random, repeat, rights, rng, seek, settings, song, stop, subscribe, system, take, unsubscribe, version, volume, whisper, xecute

Żeby dowiedzieć się jak używać komend napisz do bota !help nazwa_komendy

KrEdEnS
KrEdEnS Moderator Freebies

Aktualizacja klienta botów do wersji 3.2.5

W pliku ts3audiobot.toml edytujemy:

client_version = { build = "", platform = "", sign = "" }

i zmieniamy na:

client_version = { build = "3.2.5 [Build: 1555517253]", platform = "Linux", sign = "+nqAMBv2NxHYfPwHyRmleALMU/2gpiv1LAV6dmrLjNXaTS3BwLBVuysSuqHsuiK3/Xff0IRRFANz8qT1ztJqDQ==" }

Szymoon202
Szymoon202

Czy tylko u mnie pojawia się problem że boty przestają grać i wchodzą w idle? Przy połączeniu włączają muzykę ze streama i różnie to bywa, czasami po paru godzinach a czasami mniej po prostu wyłączają muzykę i są w idle. Potem nie można jej włączyć ponownie komendą gdyż bot nie reaguje, tzn wysyła odpowiedzi ale nic się nie dzieje. Trzeba zrestartować cały program.

KrEdEnS
KrEdEnS Moderator Freebies

Hmm zacytuję klasyka "u mnie wszytsko działa" 😛 A tak na serio próbował bym je na nowo instalować:slight_smile:

Szymoon202
Szymoon202

Co ma ponowna instalacja do tego ze się zawieszają? Zmieniałem maszynę pare razy i na każdej jest tak samo.

KQTK
KQTK

Ja będę próbował robić instalator ts3audiobot, i jak będzie wszystko działać to podeślę na forum.. bo widzę jak niektórzy użytkownicy mają z tym problem :) Ale boty będą używane od Splamy z Git'a :>

Lumpiasty
Lumpiasty Stały bywalec

Nie prościej zrobić paczkę i wrzucić ją na jakieś PPA? Znacznie uprościłoby to aktualizacje. ;)

KQTK
KQTK

Ja tam PPA się nie tykam 😃 a skrypt by jeszcze miał podskrypty na dodawanie instancji bota :)

Lumpiasty
Lumpiasty Stały bywalec

A powinieneś. Przecież nie ma problemu aby dorzucić do paczki tego typu skrypty. Albo lepiej, zrobić oddzielne paczki z takimi skryptami, interfejsami webowymi i tego typu dodatkami. (Czyli de facto tak jak się powinno instalować oprogramowanie). Po tym wszystkim mógłbyś zrobić tutaj poradnik z "prezentacją" swojej pracy, czyli jak to zainstalować i włączyć.

KrEdEnS
KrEdEnS Moderator Freebies
KQTK
KQTK

Ja będę chciał robić serie skryptów, 1 będzie na instalację, 2 na dodawanie botów, 3 stopowanie, 4. startowanie Wszystkie będą wypuszczane po jakimś czasie :)

@KrEdEnS a ja będe chciał robić z najnowszymi nie z nieznanego źródła botami ;) czyli z githuba 😊

KQTK
KQTK

Lumpiasty:

Po tym wszystkim mógłbyś zrobić tutaj poradnik z “prezentacją” swojej pracy, czyli jak to zainstalować i włączyć.

To miałem zamiar zrobić, ale pierw te skrypty muszę zrobić. :)

KrEdEnS
KrEdEnS Moderator Freebies

mój skrypt instaluje boty z githuba od splamiego. Do samych botów dodałem skrypt do startu, co do tworzenia nowych botów tworzysz je komendami, lub w webpanelu, inne rozwiązania są bez sensu ;)

KrEdEnS
KrEdEnS Moderator Freebies

Dodatkowo będę musiał dodać do nich aktualizacje do wersji 3.2.5 jak i pewnie zrobię dodatkową wersję, bez web panelu. Sam skrypt na razie jest zaciemniony, ale w każdej chwili mogę wrzucić skrypt, z którego wszystko odczytasz

KQTK
KQTK

Ale ja mam zamiar na początek dodać skrypty, a póżniej możę jakieś api dla botów itp. Chcę tak by osoby które nie rozumieją jak zainstalować i startować / dodawać nowe boty żeby odrazu wiedziały :)

KrEdEnS
KrEdEnS Moderator Freebies

w takim wypadku lepiej napisać komendy z wytłumaczeniem

KQTK
KQTK

Raczej u mnie w skryptach komendy będą proste 😄 ./start.sh (pyta o ilość botów, wpisujesz i tyle próbuje wystartować), ./stop.sh na tej samej zasadzie, ./add.sh i będzie zadawać pytania podczas działania o range itp. i ./install.sh 😃

Póżniej może będzie to rozwijane nieco bardziej ale na początek starczy to :slight_smile:

KrEdEnS
KrEdEnS Moderator Freebies

takie skrypty miały sens w starej wersji. Teraz jest to niepotrzebne ;)

KQTK
KQTK

Niby dlaczego? Może ktoś korzystać z skryptów.... zależy od gustu :)

KrEdEnS
KrEdEnS Moderator Freebies

Kiedyś odpalałeś wszystko w osobnych screenach. Teraz masz wszystko w jednym (działa to jako jedna aplikacja)

https://github.com/WrightBlue/TS3AudioBot-Dashboard-NQ myślę, ze mówisz o tej wersji, (odpalało się ją osobnymi screenami)

KQTK
KQTK

Ja nawet z tego nie korzystałem 😄

Ja zrobie proste skrypty które będą pomagać użytkownikom w instalacji botów, startowaniu i stopowaniu oraz dodawaniu...

A one będą odpalane w osobnych screenach 😄 Więc nie wiem co to za różnica.

KrEdEnS
KrEdEnS Moderator Freebies

ale działa tak samo jak chciałbyś robić swoje skrypty :) Panel odpala każdego bota w osobnym screenie

KQTK
KQTK

Tyle że ja na początku robię skrypty, a później cały panel 😃 , chcę zobaczyć jak to na początku się przyjmie...

KrEdEnS
KrEdEnS Moderator Freebies

z resztą co ty na co, żeby zrobić wersję by forum lvlup?

KQTK
KQTK

Ale panelu? czy botów?, już mam instalacje na ubuntu 14 trusty :D (skrypt)

KrEdEnS
KrEdEnS Moderator Freebies

botów, żeby wszystko ładnie pokolorować itd

KQTK
KQTK

można, napisz na pw :)

KrEdEnS
KrEdEnS Moderator Freebies

na 14.04:

apt-get update apt-get upgrade apt-get install nano wget curl screen sudo unzip sudo apt-get update sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF sudo echo "deb http://download.mono-project.com/repo/ubuntu stable-trusty main" | sudo tee /etc/apt/sources.list.d/mono-official-stable.list sudo apt-get update sudo apt-get install mono-devel software-properties-common sudo add-apt-repository ppa:mc3man/trusty-media sudo apt-get dist-upgrade sudo apt-get update sudo apt-get install libopus-dev ffmpeg sudo apt-get update sudo apt-get install python-pip sudo pip install youtube_dl

KrEdEnS
KrEdEnS Moderator Freebies

ale co do botów osobiście dalej będę się upierać, ze lepiej tak jak sam autor sugeruje wszystko odpalać w jednym screenie i przez komendy lub przez panel (API)

KQTK
KQTK

Nie wole osobne :)

KrEdEnS
KrEdEnS Moderator Freebies

jeden woli ogórki drugi ogrodnika córki :D

KQTK
KQTK

To napisz na pw w sprawie tych botów :) możemy coś zdziałać

KrEdEnS
KrEdEnS Moderator Freebies

aktualnie brak czasu, z resztą robię na daniach publika, a parę znajomych pisało o aktualizacje do wersji 3.2.5 więc napisałem wyżej no i zbudowałem na szybko boty, które już od początku ładują się z wersją 3.2.5 na serwer. Ale pewnie jak będzie trochę wolnego można by się tym pobawić

KQTK
KQTK

Okej, ja odrazu ładuje 3.2.5 jak będę miał czas do skryptów :>

KQTK
KQTK

21:51:40.0156| INFO [============ TS3AudioBot started =============] 21:51:40.0628| INFO [=== Date/Time: Wednesday, April 24, 2019 9:51:40 PM 21:51:40.0701| INFO [=== Version: 0.9.1/master/ad86914f 21:51:40.0701| INFO [=== Platform: Ubuntu 18.04.2 LTS (Bionic Beaver) (64bit) 21:51:40.0701| INFO [=== Runtime: Mono (5.20.1.19 (tarball Thu Apr 11 09:02:17 UTC 2019)) 21:51:40.0701| INFO [=== Opus: libopus 1.1.2 (x64) 21:51:40.0701| INFO [==============================================] 21:51:40.1993|ERROR Could not load core config. 21:51:40.2052|ERROR Core initialization failed: Could not create config 21:51:40.2062| INFO TS3AudioBot shutting down.

Próbuję -c configs/1.cfg do mono TS3AudioBot.exe i coś nie działać 😦

KrEdEnS
KrEdEnS Moderator Freebies

stara wersja tak działała , nowa jest przygotowana pod 1 screen i tyle

KQTK
KQTK

:| to musze implementować 3.2.5 do starszej wersji :<

KQTK
KQTK

Myślałem że ja coś źle zrobiłem :D heh

Lumpiasty
Lumpiasty Stały bywalec

A nie chodzi przypadkiem o uprawnienia?

KQTK
KQTK

Wszystko chmod 777 zrobione.

Edit: Pod wersją z poradnika też nie działa :|

fredo
fredo

Jakieś pomysły?

11:21:38.7646| INFO [============ TS3AudioBot started =============] 11:21:38.8316| INFO [=== Date/Time: Friday, January 3, 2020 11:21:38 AM 11:21:38.8392| INFO [=== Version: 0.9.1/master/55466f28 11:21:38.8392| INFO [=== Platform: Debian GNU/Linux 9 (stretch) (64bit) 11:21:38.8392| INFO [=== Runtime: Mono (6.6.0.161 (tarball Tue Dec 10 10:37:10 UTC 2019)) 11:21:38.8392| INFO [=== Opus: libopus 1.2~alpha2 (x64) 11:21:38.8392| INFO [==============================================] 11:21:39.2091|FATAL Critical program failure!. 11:21:39.2188| INFO TS3AudioBot shutting down. exception inside UnhandledException handler: (null) assembly:/usr/lib/mono/gac/System/4.0.0.0__b77a5c561934e089/System.dll type:SocketException member:(null)

[ERROR] FATAL UNHANDLED EXCEPTION: System.Net.Sockets.SocketException (0x80004005): Address already in use at System.Net.Sockets.Socket.Bind (System.Net.EndPoint localEP) [0x00043] in :0 at System.Net.EndPointListener..ctor (System.Net.HttpListener listener, System.Net.IPAddress addr, System.Int32 port, System.Boolean secure) [0x00047] in :0 at System.Net.EndPointManager.GetEPListener (System.String host, System.Int32 port, System.Net.HttpListener listener, System.Boolean secure) [0x0009d] in :0 at System.Net.EndPointManager.AddPrefixInternal (System.String p, System.Net.HttpListener listener) [0x0005e] in :0 at System.Net.EndPointManager.AddListener (System.Net.HttpListener listener) [0x0009c] in :0 at System.Net.HttpListener.Start () [0x0000f] in :0 at TS3AudioBot.Web.WebServer.EnterWebLoop () [0x0000f] in <5f65d602ca3e4203b5d0f9de8d11d691>:0 at System.Threading.ThreadHelper.ThreadStart_Context (System.Object state) [0x00014] in :0 at System.Threading.ExecutionContext.RunInternal (System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, System.Object state, System.Boolean preserveSyncCtx) [0x00071] in :0 at System.Threading.ExecutionContext.Run (System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, System.Object state, System.Boolean preserveSyncCtx) [0x00000] in :0 at System.Threading.ExecutionContext.Run (System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, System.Object state) [0x0002b] in :0 at System.Threading.ThreadHelper.ThreadStart () [0x00008] in :0

KrEdEnS
KrEdEnS Moderator Freebies

Zapraszam do nowego poradnika na temat botów. Działają na dotnecie czyli są bardziej wydaje. https://lvlup.rok.ovh/t/nowy-automatyczny-instalator-bota-ts3audiobot-panel-z-yts-ytp-ytl/12592

fredo
fredo

Dziękuję za zaproszenie, wszystko śmiga. Polecam każdemu.

elku
elku

music bot nie chce połączyc sie na żadnego tsa co zrobic

Kelevra
Kelevra

Pomocny poradnik, dzięki za wstawkę! :slight_smile: