TS3AudioBot的簡單安裝配置

Orchideous-發表於2024-06-17

TS3AudioBot是一款開源的TeamSpeak Bot,可以在ts頻道中播放音樂,本部落格為博主自己為ts伺服器安裝bot的大致過程,希望可以起到一定的參考作用。

博主的ts3伺服器相關配置:
1.Ubuntu18.04LTS
2.cpu架構為Intel x86,也叫做amd64

ssh連線工具:finalshell

安裝過程:

安裝bot

首先需要獲得TS3AudioBot(後稱bot)的部署檔案,專案發行版檔案地址:
https://github.com/Splamy/TS3AudioBot/releases
根據自己伺服器的1.系統2.cpu架構選擇下載的版本,Linux發行版可以在ssh終端輸入arch檢視cpu架構,返回如下圖:
image
這表示當前伺服器的cpu架構為x86架構,也叫做amd64架構,因此找到對應的版本(linux_x64)下載。
為伺服器安裝依賴:sudo apt-get install libopus-dev ffmpeg
在伺服器建立bot存放的資料夾,下載完成後將得到的壓縮檔案上傳至該資料夾中,博主將bot的資料夾與ts3的資料夾設為同級,以便於管理
image
進入該資料夾,輸入命令解壓壓縮包:
cd /home/TS3AudioBot這裡的路徑是存放bot壓縮包的
tar -xzvf TS3AudioBot_linux_x64.tar.gz解壓
解壓完成後輸入./TS3AudioBot執行bot,因為是第一次啟動,bot會進入安裝配置,此時終端中會彈出:Do you want to set up an admin in the default permission file template?,這是bot在請求一個管理員,此處可以輸入n跳過,在之後進行配置。之後會彈出ip地址和密碼的請求,按要求輸入即可。
安裝完成後可以看到一個新使用者加入伺服器的預設頻道,名字為TS3AudioBot,這個名字可以在bot主目錄下的ts3audiobot.toml中更改,更改專案為[bot.connect]的name
image

但是此時我們可以發現bot的程序佔據了ssh連線欄,而且關閉ssh連線後bot就會從伺服器中離開,為了使bot一直執行,可以使用nohup ./TS3AudioBot &執行,此時斷開ssh連線bot也不會掉線,但是我們仍然無法在ssh連線欄中輸入命令進行設定,因此我們可以使用Linux服務來實現bot的啟動關閉。

配置服務

首先切換至root使用者,在終端中輸入:vim /etc/systemd/system/ts3audiobot.service
此時在開啟的vim編輯器中首先按下i進入編輯模式,輸入

[Unit]
Description=TS3AudioBot
After=teamspeak.service

[Service]
Type=simple
User=teamspeak
Group=teamspeak
KillSignal=SIGINT
Restart=on-failure
RestartSec=10
WorkingDirectory=/home/TS3AudioBot/
ExecStart=/home/TS3AudioBot/TS3AudioBot

[Install]
WantedBy=multi-user.target

其中WorkingDirectory為bot存放的路徑,ExecStart為bot的可執行檔案路徑,按下esc後輸入:wq回車儲存,此時服務已經建立完成,輸入systemctl daemon-reload來更新服務配置,更新完成後服務生效。
服務生效後可以透過輸入
1.systemctl start ts3audiobot.service來啟動服務,也就是啟動bot
2.systemctl stop ts3audiobot.service來中止服務,也就是關閉bot
3.systemctl restart ts3audiobot.service來重啟服務,也就是重啟bot
4.systemctl status ts3audiobot.service來檢視bot的狀態
5.systemctl enable ts3audiobot.service來設定bot開機啟動
我們操作bot播放、新增歌單等依靠和bot在ts中私聊,但是此時bot不會聽我們的話,因為在上方安裝時bot向我們請求一個管理員,那時我們並沒有告訴他管理員的id,此時我們需要進行許可權配置。

管理員配置

首先進入bot存放的主目錄,輸入cd /home/TS3AudioBot,進入主目錄後我們需要開啟許可權配置檔案,輸入vim rights.toml找到註釋有Admin rule的區域
image
在useruid中輸入伺服器管理員,一般是我們自己的uid,uid在ts中檢視,開啟ts客戶端,開啟工具-身份,若未漢化則為Tool-Identities
image
image
彈出介面中的Unique ID即為自己的uid
image
按下i進入編輯模式,將uid複製到方括號中,按下esc後輸入:wq後按下回車儲存,此時bot的管理員已配置完成,可以向bot傳送命令。

常用命令

1.api相關命令

bot有網頁管理端,我們和bot私聊輸入!api token,bot會回覆我們一串東西
image
複製這串東西,開啟瀏覽器,在位址列輸入:你的伺服器地址或域名:58913,如Orchideous.com:589131.23.45.678:58913,在這步前需要確保自己的伺服器已放開tcp58913埠,此時會看到如下介面
image
將那一串東西貼上進Login下的框框裡,驗證成功後下方應該會出現三個選項框
image
因為博主的逆子bot過了一天網頁端不靈了,網頁端的操作我也講不出多少(哭),可以參考其他文章進行配置。

2.歌單相關

①對bot私聊輸入!list create 歌單名來建立一個歌單
image
bot不回話表示建立成功了(一般來說)
②對bot私聊輸入!list add 歌單名 歌曲路徑來將歌曲加入歌單,如博主的歌曲檔案存在/home/music路徑下,那麼輸入!list add 歌單名 /home/music/music.mp3來將歌曲加入歌單,新增成功時bot會回覆ok
image
bot支援的本地檔案格式較多,目前已驗證可以播放的格式為mp3、flac
③對bot私聊輸入!list show 歌單名來檢視歌單內的歌曲
image
④對bot私聊輸入!list play 歌單名來播放歌單
image
正常情況下bot接收到此命令不會回覆

播放相關

播放歌曲,對bot私聊輸入!play 目標,如想播放網路歌曲則輸入如!play http://music.163.com/song/media/outer/url?id=1859652717.mp3,網址中的id即為網頁開啟時連結中的數字id
image
將數字id替換至上方的目標連結,bot就會開始播放
如播放本地目標則輸入如!play /home/music/music.mp3

最後,enjoy your music
image

相關文章