TS3AudioBot 是一款开源的TeamSpeak3 Bot,拥有包含播放音乐在内的众多功能。
笔者事先告知:
①由于英语水平有限,有些原作者的说明我把英文原文放出来了,方便大家更好的理解作者的意图,看不懂也没关系,后面带有翻译。
②本文中的一部分内容来自TS3AudioBot的README文件。
③本教程基于Linux版本的TS3AudioBot。
④以 root 用户运行软件存在潜在的安全风险,通常被认为是不好的做法。所有的操作建议在建立新的用户后在子用户的权限环境下进行。
⑤为获得更好的使用体验,笔者建议移步BiliBili专栏:TS3AudioBot安装配置教程
功能
播放 Youtube 和 Soundcloud 歌曲以及 Twitch的直播流(需要插件扩展)
播放歌曲历史
多种语音订阅模式:包括客户和频道
所有用户的播放列表管理
强大的权限配置
插件支持
Web Api
多实例
本地化(无中文)
底配置的TS3客户端
准备
一台已经是TeamSpeak Server的服务器
开放服务器的9987和58913端口(重要)
最好是和TeamSpeak Server的目录平行(个人建议)
下载
Windows_x64:
稳定版:https://splamy.de/api/nightly/ts3ab/master_win_x64/download
开发版:https://splamy.de/api/nightly/ts3ab/develop_win_x64/download
Linux_x64:
稳定版:https://splamy.de/api/nightly/ts3ab/master_linux_x64/download
开发版:https://splamy.de/api/nightly/ts3ab/develop_linux_x64/download
安装
依赖
Ubuntu/Debian:
sudo apt-get install libopus-dev ffmpeg
- Arch Linux:
sudo pacman -S opus ffmpeg
CentOS 7:
sudo yum -y install epel-release
sudo rpm -Uvh http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-5.el7.nux.noarch.rpm
sudo yum -y install ffmpeg opus-devel
安装依赖完成后将下载的TS3AudioBot.tar.gz上传当前目录解压即可(Windows端名字不一样,但是一个道理)
tar -xzf TS3AudioBot.tar.gz
手动安装(个人感觉可以不用看这些,反正我没看)
Make sure you have a C compiler installed(意思大概是你要有个编译C语言代码的编译环境)
Make the Opus script runnable withchmod u+x InstallOpus.shand run it with./InstallOpus.sh(如果是脚本的话要上权限)
Get the ffmpeg 32bit or 64bit binary.(安装ffmpeg插件前置时,32位或者64位均可。(?))
Extract the ffmpeg archive withtar -vxf ffmpeg-git-*XXbit*-static.tar.xz(使用以下命令行解压文件)
Get the ffmpeg binary fromffmpeg-git-*DATE*-amd64-static/ffmpegand copy it into your TS3AudioBot folder.(把你下载的ffmpeg文件中的ffmpeg文件复制到TS3AudioBot的文件目录下)
PS:如果你是Windows系统
Get the ffmpeg 32bit or 64bit binary.(获取相应环境下的32位或者64位ffmpeg插件)
Open the archive and copy the ffmpeg binary fromffmpeg-latest-winXX-static/bin/ffmpeg.exeinto your TS3AudioBot folder.(把你下载的ffmpeg文件中的ffmpeg.exe复制到TS3AudioBot的文件目录下)
可选的依赖(youtube-dl)
这个就不谈了吧,意思就是,如果你想播放的油管视频因为某些原因不能播放时,可以通过安装这个插件绕过这个限制。(播放视频我还没试过,之后更新了再说吧)
第一次启动
运行TS3AudioBot
Linux 下直接./TS3AudioBot就完事了,如果你想让他后台一直运行,建议搭配nohup和&指令
#下方代码任意一行均可
./TS3AudioBot
nohup ./TS3AudioBot
上方是两种Linux中应用开启的方式,第一种执行的时候如果你执行的命令行软件窗口关闭了,那么相应的执行的Bot也就关闭了,但是第二种是一直可以在后台运行的,而你看不见实时的log,有利有弊吧,大家自行选择就行,我个人建议是第二种。(话说的有问题,划掉算了,懂哥们别在意)
在第一次安装的时候会遇到一个问题:
第一个:Do you want to set up an admin in the default permission file template?
选择Y之后会让你输入一个Admin权限的名字,即:Please enter an admin uid。此时输入什么都会提醒你的名字是无效的,不用管它,这里我看了此项目的源码,只有输入“serveradmin”才不会出现这个警告,其实是个可以忽略的细节,但当时很纠结这个东西,就深究了一下,总的来说其实输什么都无所谓,只要是你TeamSpeak服务器Root权限从属者的uid就行了。
https://github.com/Splamy/TS3AudioBot/blob/4c6be03646d78cdbfe007ecc697596256ec23617/TSLib/Types.cs
其实就第一步深究了下,剩下的就是填密码或者ip地址之类的东西,顺水推舟就行了。
(PS:这些其实后面都可以改的,下面会讲到)
上一步执行完之后会在当前文件夹中出现几个新的文件/文件夹,这些文件分别是:
bots(后面添加的所有Bot都会存储在这个文件夹中,默认会有个叫default的文件夹)
WebInterface(项目自带的Dashboard面板文件文件夹,简直良心)
ts3audiobot.db(bot的数据库)
ts3audiobot.toml(bot的,相关的,全局指令设置)
rights.toml(用户权限参数设置)
其中bots文件夹下的{bot名字}文件夹中会有个名为bot.toml的文件,属于单个bot的参数设置。
在这些文件中有几个个人感觉会常用的配置,在这里简单说一下
ts3audiobot.toml:
[web]
# 可以访问 web api 的所有 url 数组。ex:[ip,domain,host]
hosts = ["*"]
# Dashboard面板端口
port = 58913
[web.api]
# 你是否想要开启web.api
enabled = true
[web.interface]
# 你是否想要开启使用web.interface
enabled = true
# 注意,下方配置是默认的dashboard面板位置配置,不管就行了。
path = ""
right.toml:
# 管理员规则
[[rule]]
# 填写你的管理员Server Group Id, ex: [ 13, 42 ]
groupid = []
# 或者你管理员的Client Id, ex: [ "KroFin", "admin" ]
useruid = []
"+" = "*"
# 播放权限
[[rule]]
# 填写你想要让他们使用以下指令的Group Id, ex: [ 13, 42 ]
groupid = []
# 或者是Client Id, ex [ "uA0U7t4PBxdJ5TLnarsOHQh4/tY=", "8CnUQzwT/d9nHNeUaed0RPsDxxk=" ]
useruid = []
# 你可以将上方两个数组都注释掉,用以给所有人权限(不推荐)
# 下方是可以使用的命令
"+" = [
# Play controls
"cmd.play",
"cmd.pause",
"cmd.stop",
"cmd.seek",
"cmd.volume",
......
bots-->bot.toml:
[connect]
# 连接的服务器密码
server_password = { pw = "" }
# 默认进入的Channel密码
channel_password = { }
# 你的TeamSpeak3客户端的版本(官方建议默认如下就行)
client_version = { }
# 要连接的服务器ip或者域名 (以及端口,默认为: 9987)
address = "*"
这时如果前面填写正确的话,会有一个叫“TS3AudioBot”的Bot进入你的频道。(名字可以在ts3audiobot.toml的[bot.connect]中更改,也可以在Dashboard中更改)
此时私聊这个Bot,输入:
!api token
Bot即可回复你一串代码,例如:
ganshoudaolefengshoudexiyue:chilezhihoufeichangkaixin
浑身充满了力量,此时登陆http://你的服务器ip:58913,会看到如下界面,输入代码即可:
登陆
如果正确,则会在下方显示三个按钮:
登陆成功
这里我们主要使用的是第二个,进入后可以看到:
机器人管理界面
在这个界面中你可以添加/删除/设置/stop机器人,这里不做过多赘述。
音乐的添加
在上述界面中点击Jump to Server View,可以看到如下界面:
Server View
可以看到有三个选项卡供选择,此处选择playList:
playlist
点击Create创建播放列表,创建之后会自动进入播放列表,如图所示添加音乐:
音乐的添加
有关音乐源的添加,可以有几种源在这里举出几个例子:
①本地服务器音乐
ようこそジャパリパークへ
这里我事先上传了一首音乐,根据路径添加即可:
输入url
添加成功后即可显示在播放列表,点击播放按钮即可播放音乐:
音乐的添加
②网络音乐(网易云音乐举例)
进入网页版的网易云音乐,选择自己想要添加的乐曲,在地址栏中找到id
song id
找到后将id和下方链接中的id做替换:
http://music.163.com/song/media/outer/url?id=865857523.mp3
然后按照上方添加的方式添加即可:
③Youtube和Twitch串流
还未测试,待定。
指令系统
类似于上文中的!api token,TS3AudioBot有一套属于自己的指令系统,指令形式如下:
!<commandname><parameter1><parameter2>
相应的,可以在help下查看指令:
!help command <commandname>
具体可以查看:https://github.com/Splamy/TS3AudioBot/wiki/CommandSystem
FAQ
等这篇文章有人看了再说吧,有问题的话可以在评论区提出,比较严重的问题我会集中在这里解答。
PS:我在这里强烈建议大家有条件的还是去看一下这个项目的README,很专业,如果你想重新编译或者学习这个Bot项目的话。
https://github.com/Splamy/TS3AudioBot
PPS:有很多问题实际上都可以在github中的issue专栏中找到解决方案
issue
PPPS:由于本人属于是非科班出身,所以本文出现的代码内容具体上我也不是很清楚。
爱你😘
#情感##单机游戏##学习#