Share this:
Hi infi friend. senang bisa menyapa Infi Friend kembali melalui tutorial ini.
Apakah pernah mendengar TTMediaBot? pastinya bagi Infi Friend pengguna aplikasi TeamTalk pernah mendengar atau bahkan pernah menggunakannya. Nah, di tulisan kali ini saya ingin membagikan tutorial bagaimana cara memasang TTMediaBot di OS linux ubuntu 20.4 LTS. Sebelum kita lanjut kepemasangan TTMediaBot, silahkan baca terlebih dahulu fungsi dan kegunaan TTMediaBot ini.
Fungsi dan Kegunaan
TTMediaBot adalah salah satu bot yang ditulis dengan pemograman python versi 3 oleh Amir Gumerov, Vladislav Kopylov, Beqa Gozalishvili, dan Kirill Belousov. Bot ini berfungsi untuk memutar audio di aplikasi TeamTalk dengan sumber audio yang diambil dari Youtube, VK, dan Yandex Music. Lebih lanjutnya, Infi Friend bisa membuka
, selain itu Infi Friend juga bisa berkontribusi atau melaporkan bug kepada pengembang bot ini.
Saat ini TTMediaBot baru bisa dijalankan di OS windows, ubuntu, dan docker. Dipembahasan tutorial kali ini, kita akan fokus bagaimana memasang TTMediaBot di OS ubuntu 20.4 LTS. Untuk pemasangan di OS lainnya, silahkan tunggu tulisan berikutnya.
PERSIAPAN
- OS Ubuntu 20.4 LTS.
- pulseaudio
- libmpv1
- text editor seperti vi, nano, atau sejenisnya
Jika keempat component ini belum tersedia, silahkan pasang terlebih dahulu.
MEMBUAT USER DAN MEMASANG KOMPENEN YANG DIBUTUHKAN PADA PYTHON3
Buatlah user, dan atur user tersebut agar dapat menjalankan systemd dengan baik, ketikan beberapa perintah berikut pada terminal:
sudo adduser ttbot
loginctl enable-linger ttbot
Lakukan login pada user yang baru dibuat, ketikan perintah berikut pada terminal:
sudo su - ttbot
Jika login berhasil dilakukan, berikutnya mari lakukan clone dari Github TTMediaBot dengan mengetikan perintah berikut pada terminal:
git clone https://github.com/gumerov-amir/TTMediaBot.git
Saat melakukan clone, dibutuhkan waktu beberapa saat untuk menyelesaikan proses clone hingga selesai. Apabila proses clone sudah selesai, logout dari user ttbot. Selanjutnya, ketikan beberapa perintah di bawah untuk menginstall komponen pada python3, agar bot dapat memasang persyaratan yang dibutuhkan:
exit
cd /home/ttbot/TTMediaBot
sudo pip3 install -r requirements.txt
Tunggu beberapa saat sampai pemasangan komponen untuk python3 selesai, lalu lakukan login kembali ke user ttbot dan ketikan beberapa perintah berikut pada terminal:
sudo su - ttbot
cd /home/ttbot/TTMediaBot/tools
Ketikan perintah berikut pada terminal untuk mengunduh dan memasang TeamTalk SDK:
python3 ttsdk_downloader.py
Tunggu beberapa saat sampai pemasangan TeamTalk SDK selesai.
MENGUBAH DAN MENGATUR SERVICE FILE
Masih didalam user ttbot, mari kita ubah dan atur service file bawaan TTMediaBot, agar nantinya bisa berjalan dengan menggunakan systemd. Ketikan perintah berikut untuk membuat directory systemd pada user ttbot:
mkdir -p /home/ttbot/.config/systemd/user
Berikutnya mari kita edit service file TTMediaBot.service yang terletak di directory TTMediaBot/systemd/user, agar path-nya sesuai dengan user ttbot. Ketikan perintah berikut untuk membuka dan mengedit TTMediaBot.service:
nano /home/ttbot/TTMediaBot/systemd/user/TTMediaBot.service
Description=TTMediaBot Requires=pulseaudio.service Type=simple WorkingDirectory=/opt/TTMediaBot ExecStart=/opt/TTMediaBot/TTMediaBot.sh -c /opt/TTMediaBot/config.json Restart=on-failure WantedBy=default.target""""""[Unit]
Edit sedikit service file di atas pada bagian WorkingDirectory dan ExecStart, lihat contoh di bawah:
WorkingDirectory=/home/ttbot/TTMediaBot
ExecStart=/home/ttbot/TTMediaBot/TTMediaBot.sh -c /home/ttbot/TTMediaBot/config.json –cache /home/ttbot/TTMediaBot/TTMediaBotCache.dat –log /home/ttbot/TTMediaBot/TTMediaBot.log
Jika diperhatikan pada bagian ExecStart, ditambahkan 2 fungsi cache dan log, ini bertujuan agar TTMediaBot dapat membuat file cache dan log di directory TTMediaBot pada user ttbot.
Setelah selesai memperbaharui service file TTMediaBot.service silahkan lakukan save dan ketikan perintah berikut untuk meng-copy seluruh service file di TTMediaBot/systemd/user ke directory yang sudah Infi Friend buat sebelumnya:
cp -r /home/ttbot/TTMediaBot/systemd/user/* /home/ttbot/.config/systemd/user
MENGATUR INPUT/OUTPUT AUDIO DAN CONFIG FILE
Seperti yang disampaikan sebelumnya diatas, TTMediaBot adalah pemutar audio di TeamTalk yang membutuhkan input dan output audio. Di ubuntu 20.4 LTS kita akan menggunakan pulseaudio untuk mengatur input dan output-nya.
Langkah pertama yang harus dilakukan Infi Friend silahkan ganti nama config_default.json ke config.json dengan mengetikan perintah berikut:
mv /home/ttbot/TTMediaBot/config_default.json /home/ttbot/TTMediaBot/config.json
sekarang ketikan beberapa perintah berikut pada terminal untuk mengetahui angka input/output pada pulseaudio, yang nantinya angka tersebut akan ditulis pada config file:
systemctl --user enable pulseaudio && systemctl --user start pulseaudio
cd /home/ttbot/TTMediaBot
chmod +x TTMediaBot.sh
./TTMediaBot.sh --devices
Jika terjadi kesalahan saat menjalankan perintah ./TTMediaBot.sh --devices
, ketikan perintah berikut pada terminal:
sed -i -e 's/r$//' TTMediaBot.sh
Perinsipnya input/output audio TTMediaBot kurang lebih output harus null audio output dan input harus pulse. Perhatikan baik-baik saat TTMediaBot ini mengeluarkan informasi output dan input, default-nya output ada di nomor 1, dan input ada di nomor 0.
berikutnya, silahkan buka config.json, lalu ganti angka output dan input-nya di sesuaikan dengan apa yang di tampilkan di output TTMediaBot.sh di atas, ketikan perintah berikut pada terminal:
nano config.json
Setelah config file terbuka, sesuaikan atur input/output, hostname, tcp/udp port, nickname, username, password, channel, dan channel password jika ada. Jangan lupa setelah aturan diubah, lakukan save.
TEST BOT
Sebelum Infi Friend menjalankan bot ini dengan systemd, mari kita lakukan test terlebih dahulu, apakah semua configurasi sudah sesuai atau belum. Ketikan perintah berikut pada terminal untuk menjalankan sementara TTMediaBot:
./TTMediaBot.sh
Apabila bot berhasil login ke server TeamTalk Infi Friend dan berjalan dengan normal, sekarang tekan ctrl+c untuk menutup bot, dan ketikan perintah berikut pada terminal untuk menjalankan bot melalui systemd:
systemctl --user enable TTMediaBot && systemctl --user start TTMediaBot
PENUTUP
Diakhir tulisan ini saya mau mengucapkan terimakasih banyak bagi Infi Friend yang sudah membaca tutorial ini sampai selesai. Jika ada langkah-langkah yang tidak sesuai dan terjadi error pada saat melakukan instalasi bot ini, pastikan Infi Friend melakukan langkah-langkahnya dengan teliti.
Informasi tambahan, bot ini juga bisa dijalankan lebih dari satu dan tidak perlu melakukan clone ulang, juga tidak perlu memasang ulang komponen pada python3. bagaimana caranya? yang tahu, saya tunggu komentarnya yaaaa.
Sampai jumpa di tulisan lainnya.
Jangan pernah berhenti untuk belajar! 😊
Hello Mas. Saya ingin bertanya. saya sudah cari cari cara di google.. tapi tetap tidak ada hasil. barang kali admin tau mengatasi permasalahan ini. Setiap saya menghidupkan pulseaudio muncul seperti ini:: Failed to connect to bus: No such file or directory . itu bagai mana ya
Untuk mengatasi problem ini, saat login ke user yang telah di buat, jangan melalui sudo su –, tapi silahkan logout dari terminal dan login kembali dengan user yang mau dipasang TTMediaBot, Karena saat menjalankan systemdctl –user tidak akan berjalan melalui sudo su – .