前言#
在如何搭建自己的 ts3 服务器这一篇文章中教学了如何搭建属于自己的 ts3 服务器,现在我想放一个音乐机器人在 ts3 里面常驻,可以用来活跃频道,还可以分享自己喜欢的歌。
于是找到了 TS3AudioBot 这个项目,它十分符合预期,不需要公网,只需要一个可以联网的机器就行。而香橙派十分符合作为搭建的机器,有着极低的功耗,还可以 24h 都在线。
Advanced Musicbot for Teamspeak 3
下载及安装#
首先确认自己的系统,在 TS3AudioBot Releases 中下载最新的程序包。因为我是 arm 开发板,所以下载的是arm64
架构版本。请按照自己的系统和架构选择对应的版本。
可以选择下载到电脑上然后使用 FTP 传到开发板上;还可以复制文件的地址然后在开发板上使用curl -jLO "<文件地址>"
将文件直接下载到开发板(下载慢的话注意网络环境);当然你也可以选择使用SCP
指令。这里就不赘述了,不会用SCP
的话请查看菜鸟教程 - Linux scp 命令。
将程序包准备好后进行解压tar -zxvf <压缩包文件名> -C <指定解压到的文件夹>
,
解压好后进入文件夹,可以看到以下内容:
先不急着运行,因为没有对应的库和环境肯定会报错,需要先使用sudo apt-get install libopus-dev ffmpeg
安装需要的库。因为我是 Arm Ubuntu 22.04,所以还需要安装旧版本的libssl1.1
,所使用的镜像源中也没有,所以需要手动下载安装:
libssl
安装,你是否也需要请按实际情况进行操作,不知道的话可以直接运行 TS3AudioBot 来观察是否有对应报错- 前往 ubuntu - ports 官方库搜索
libssl1.1_1.1.1
,然后选择对应自己系统架构和版本的进行下载。例如我的下载是libssl1.1_1.1.1-1ubuntu2.1~18.04.23_arm64.deb
这一个 - 下载到开发版后
sudo dpkg -i <软件包名>
进行安装,例如我的sudo dpkg -i libssl1.1_1.1.1-1ubuntu2.1~18.04.23_arm64.deb
运行及配置#
接下来./TS3AudioBot
运行TS3AudioBot
,依次进行下面操作:
- 会让问你是否需要设定管理员,建议选择「是」;
- 选择「是」的话接下来就会让你输入管理员的 uid,可以在 ts3 中「权限 -> 所有客户端列表」找到自己名字,后面的「唯一标识符」就是你的 uid,粘贴上去就行;
- 会问你加入的服务器的 IP 、地址或者别名,输入你的服务器地 IP 或者地址或者别名就行;
- 输入服务器密码,没有的话直接回车即可;
接下来就会有一个名为「TS3AudioBot」的机器人进入你服务器的默认频道。私聊发送!api token
即可开启 web 面板,浏览器输入http://{机器人地址}:58913/
进行登录后可以进行一些基本的修改。
配置服务(开机自启动等)#
使用 root 用户或者使用sudo
创建一个文件:/usr/lib/systemd/system/ts3audiobot.service
,填入以下内容:
[Unit]
Description=TS3AudioBot
After=teamspeak.service
[Service]
Type=simple
User={运行TS3AudioBot的用户名}
Group={运行TS3AudioBot的用户名}
KillSignal=SIGINT
Restart=on-failure
RestartSec=10
WorkingDirectory={TS3AudioBot文件夹绝对路径}
ExecStart={TS3AudioBot文件夹绝对路径}/TS3AudioBot
[Install]
WantedBy=multi-user.target
systemd 服务使用方式(新加服务或者修改过.service
文件需要重载生效):
# 重载
systemctl daemon-reload
# 开启自启动
systemctl enable ts3audiobot.service
# 启动 ts3audiobot
systemctl start ts3audiobot.service
# 停止 ts3audiobot
systemctl stop ts3audiobot.service
# 重启 ts3audiobot
systemctl restart ts3audiobot.service
接下来你就可以开始进机器人配置了。
配置歌单#
在自己电脑上下好自己想让机器让播放的歌,压缩成.tar.gz
格式,上传到开发板,解压到和TS3AudioBot
同级的文件夹下面,例如我的TS3AudioBot
在/home/he_tong/ts3audiobot-test
文件夹下面,所有的音乐文件就在/home/he_tong/ts3audiobot-test/music
下面。
进入音乐文件夹,创建一个export_music_list.py
文件,输入以下内容,其中,第 27 行的「title」需要注意,可以改为你想要最终在网页中显示的名字,可以为中文:
|
|
然后使用python export_music_list.py
来运行这个 Python 脚本(没有 python 的话请先使用sudo apt-get install python3
安装 python),就会生成一个文件,名叫「music_list」,将其复制到{TS3AudioBot_Path}/bots/default/playlists
文件夹中,就会有一个播放列表
配置机器人行为#
启动机器人后会在TS3AudioBot
同级目录生成一个名为ts3audiobot.toml
的文件,这个文件就是机器人的配置文件(不过这个配置是全局的,因为我这只有一个机器人,也只会生成一个,所以修改它就行了,如果你想只修改一个机器人的配置可以进入/bots
下对应机器人文件夹下修改bot.toml
文件)
以下我只说一些我自己修改的项目参数(你可以使用 Extended Client Info 主题包查看频道 id):
[bot.connect]
# 服务器密码。如果没有,则留空。
server_password = { pw = "", hashed = false, autohash = false }
# 默认频道密码。如果没有,则留空。
channel_password = { pw = "", hashed = false, autohash = false }
# 覆盖 ts3 客户端显示的版本。留空表示默认。
client_version = { build = "", platform = "", sign = "" }
# TeamSpeak3 服务器的地址、IP 或昵称(以及端口;默认:9987)
address = "{服务器地址}"
# 连接时的默认频道。使用频道路径或「/<id>」。
# 例如 「Home/Lobby「, 」/5「, 」Home/Afk\/ Not Here"。
channel = "{频道地址,或者"/频道 id"}"
# 徽章展示架。您可以设置一个逗号分隔的字符串,最多包含三个 GUID。下面是一个列表: http://yat.qa/ressourcen/abzeichen-badges/
badges = ""
# 连接时的客户端昵称。
name = "{机器人名字}"
[bot.events]
# 当机器人连接服务器时调用。
onconnect = "!list play music_list (!repeat all)" # 作用是连接服务器时使用全部循环播放"music_list"这个文件的播放列表
# 机器人断开连接时调用。
ondisconnect = ""
# 当机器人在一定时间内未播放任何内容时调用。
onidle = ""
# 指定机器人闲置多长时间,直到 「onidle 」事件被触发。
# 您可以使用 ISO-8601 格式 「PT30S 」或类似格式指定时间: 15s、1h、3m30s
idletime = "0s"
# 当最后一个客户端离开机器人频道时调用。可指定延迟时间
onalone = "!pause" # 作用是在最后一个人退出机器人所在频道后暂停播放
# 指定机器人在 「onalone 」事件被触发前的独处时间。
# 您可以使用 ISO-8601 格式 「PT30S 」或类似格式指定时间: 15s、1h、3m30s
alone_delay = "10s" #结合上一项,作用是最后一个人退出机器人后 10s 触发上一条的暂停播放
# 当机器人独自一人时,有客户端加入他的频道时调用。可以指定延迟时间。
onparty = "!play" # 作用是原本机器人一个人在频道后有人进入频道就继续播放
# 指定机器人在 「onalone 」事件被触发前的独处时间。
# 您可以使用 ISO-8601 格式 「PT30S 」或类似格式指定时间: 15秒、1小时、3分30秒
party_delay = "0s"
# 新歌开始时调用。
onsongstart = ""
参考#
- 埃苯泽の小窝 - 埃苯泽 的文章《解决 ARM Ubuntu 22.04 缺少 libssl1.1 的问题》
- 知乎 - 一杯浊酒笑风尘 的专栏《Ubuntu下安装TS3AudioBot》
- Github - Splamy 的 TS3AudioBot 项目 Wiki
本文作者: 褐瞳さん
本文链接: https://hetong-re4per.com/posts/use-orangepi-zero3-to-build-ts3audiobot/
版权声明: 本文文字在未特别注明下默认使用 CC BY-NC-SA 4.0 许可协议。