前言
最近在捣鼓TeamSpeak,虽说ts的语音流畅度确实提高不少,但是比起kook / oopz还是缺少了播放音频的功能 – 3 –
于是就想到了部署一个音频机器人
部署的过程还蛮折磨人的,很多教程都是windows环境,而想部署在我的linux服务器上,而且用到的组件的开发管理看起来也很混乱……不过没关系!最后还是搞定了’ v`
因此,本篇教程仅介绍部署在Linux环境的流程。如果你的环境不同,本文仅供参考
需要用到的组件
- TS3AudioBot: 音乐bot本体,原生支持播放外链bgm
- TS3AudioBot-NetEaseCloudmusic-plugin: 音乐bot的插件,允许音乐bot播放网易云上的音乐
- neteasecloudmusicapi: 用于获取抓取网易云音乐的数据
搭建方法
AudioBot本体
首先,打开TS3AudioBot-NetEaseCloudmusic-plugin的仓库页面,下载Release 3.0.2(测试版)中的TS3AudioBot_linux_x64.zip
(视你的架构而定),这里包含了TS3AudioBot
的本体
随后,在下载同一个仓库中Release 2.0.3的plugins.zip
,这里包含了网易云插件本体
为什么不下载3.0.2中的插件?
因为在后续配置中,这个插件似乎需要一个.yml
配置文件,而我没在Release中找到它
随后解压plugins.zip
,将其中的.dll
文件放置于bot本体根目录的plugins
文件夹下,而配置放置到指定位置下(我这里是~/.net/TS3AudioBot/3brm5eco.rsj/data/plugins/YunSettings.ini
这个位置看起来很奇怪,我没测试是否每个人的配置都是这个位置,但是在开启过一次机器人之后,如果这个位置没配置文件则会报错,而报错信息可以帮你找到这个路径
然后,修改rights.toml
,添加上给机器人发送命令的权限,权限名为cmd.yun.\*
这个配置文件的结构很清晰,你应该能找到合适的修改方式‘v `
NeteaseApi
接下来需要搭建网易云API
其实你也可以使用现成的API(如果你找得到的话),但一方面安全性有所下降,一方面API速度和稳定性也会有所下降,所以还是推荐手搓一个
你可以在API文档里找到非常详尽的部署方法和使用方法,部署起来也很简单
由于这份API不使用鉴权,理论上如果你开放API端口至公网,谁都可以访问你的服务,因此推荐配置一下防火墙
开机
最后,你需要将你部署的(或者现成的)网易云API填入插件的.ini
配置文件中,然后运行bot根目录的TS3AudioBot
,依照其提示完成配置,机器人就会加入频道
如何使用
首先,你需要加载插件
对bot输入命令(可以在 【bot所在频道的文字聊天】 / 【私聊bot】,下同)
!plugin list
# (假设网易云插件在第0个)
!plugin load 0
随后网易云插件就会被加载,你可以使用如下命令:
!yun play [音乐名称] # 搜索名称并播放音乐
!yun add [音乐名称] # 同上,但是添加到播放列表中,不立即播放
!yun playid [音乐id] # 播放对应id的音乐
!yun add [音乐id] # 同上,但是添加到播放列表中,不立即播放
!yun gedan [歌单名称] # 搜索名称并播放歌单
!yun gedanid [歌单id] # 播放对应id的歌单
!yun next # 播放歌单中的下一首
# 歌单与音乐平行,next指令统一播放下一个
!next # 播放列表中的下一首音乐(或歌单)
!pause # 暂停,再输入一次则继续播放
!play [XX] # 继续/播放外链音乐
!volume [XX] # 查看/调整音量大小
!song # 查看歌曲信息
后言
由于搭完bot我就立马打游戏去了,所以这篇文章是后写的,希望没有什么细节记错; = _=
希望大家在打游戏时都有美妙的哈基米音乐听
其他参考资料
https://bluish.net/archives/2138/#comment-450
https://github.com/ZHANGTIANYAO1/TS3AudioBot-NetEaseCloudmusic-plugin