基于Ubuntu的TeamSpeak网易云音乐机器人配置教程

基于Ubuntu的TeamSpeak网易云音乐机器人配置教程
Aster我的运行环境:Ubuntu16.04,mobaxterm
网上linux教程较少且杂乱,故作总结备份,文末附上原文链接,侵删。
配置Teamspeak
准备阶段
创建一个teamspeak用户
1 | # 切换root用户 |
安装服务端
前往下载官方linux服务端,最新应该是SERVER 64-BIT 3.13.7版本。
注意!ts3中文站是盗版网站,会改动你的hosts文件,导致你无法进入官方服务器或者缺失部分账号功能。
或者使用命令直接下载
1 | wget https://files.teamspeak-services.com/releases/server/3.13.7/teamspeak3-server_linux_amd64-3.13.7.tar.bz2 |
解压
1 | tar -xvf teamspeak3-server_linux_amd64-3.13.7.tar.bz2 |
创建teamspeak目录并将解压后的文件移动
1 | mkdir teamspeak |
进入teamspeak目录
1 | cd teamspeak |
同意许可协议
1 | touch .ts3server_license_accepted |
启动服务端
1 | ./ts3server_startscript.sh start |
随后显示如下
1 | ------------------------------------------------------------------ |
记录token值,现在就可以从客户端连接TS服务器了,记得开放端口,看下一步
从TS客户端连接你的域名/IP,第一次进入会要求你输入管理员密钥,就是上面的token后一串代码,输入之后你就是频道的所有者了。最好在权限里面备份一个权限密钥,token只能使用一次。意外失去管理员身份的话还得进入后台重新获取一个token值
ctrl+c退出
配置服务器
开放端口(还有防火墙)
端口 | 协议 | 说明 |
---|---|---|
9987 | UDP | TeamSpeak默认语音服务端口 |
10011 | TCP | TeamSpeak ServerQuery raw 端口 |
10022 | TCP | TeamSpeak ServerQuery SSH 端口 |
30033 | TCP | TeamSpeak 文件传输端口 |
41144 | TCP | TSDND |
设置开机自启
切换root用户
1 | su - |
新建teamspeak.service
1 | vim /etc/systemd/system/teamspeak.service |
注意,在所有Exec开头的路径中,第一个teamspeak是我的用户名,第二个teamspeak是我的ts服务端目录。若自定义名称请自行改动。
1 | [Unit] |
系统服务操作
1 | # 更新配置 |
至此TS服务端配置完毕。
配置机器人
安装ffmpeg依赖库
切换root用户
1 | apt update |
安装本体
这里使用了ZHANGTIANYAO1大佬构建的linux版TS3AudioBot(官方的有问题,无法加载插件),需要下载最初版本,在release中版本号为1.1.0的with.TS3Bot.linux-x64.zip。附上github项目TS3AudioBot-NetEaseCloudmusic-plugin
插件使用FiveHair大佬修改后的版本TS3AudioBot-NetEaseCloudmusic-plugin-UNM,版本号为2.0.3.1
这里建议自行下载,远程传输文件给服务器,不然下载很慢
1 | # 切换到teamspeak用户 |
解压with.TS3Bot.linux-x64.zip
1 | unzip with.TS3Bot.linux-x64.zip |
删除原来的插件,并拷贝最新版的YunPlugin-UNM.dll和YunSettings.ini进plugins目录
1 | cd TS3AudioBot/plugins |
进入TS3AudioBot启动服务
1 | cd TS3AudioBot |
这里可能会提示权限不够,这个文件默认是不可执行的,所以要给它权限
1 | chmod 755 TS3AudioBot |
如下报错请跳转6.2
1 | No usable version of libssl was found |
接下来会有几步配置需要输入
第一个是设置管理员id,在teamspeak-工具-身份中可以看到你的唯一ID,粘贴进去
第二个是服务器ip
第三个是密码,没有直接回车
最后ctrl+c结束
设置开机自启
切换root用户
1 | su - |
新建ts3audiobot.service
1 | vim /etc/systemd/system/ts3audiobot.service |
输入以下配置
同样的,/home/teamspeak/TS3AudioBot/这个地址取决于你安装TS3AudioBot的位置
1 | [Unit] |
系统服务操作
1 | # 更新配置 |
网页管理
开放58913端口
端口 | 协议 | 说明 |
---|---|---|
58913 | TCP | 机器人后台网页 |
在teamspeak服务器内双击私聊机器人,发送
1 | !api token |
访问ip:58913,输入token即可登录网页管理
可以上传本地音乐,或网易云链接进行播放
注意
一般来说我们是访问不了的,因为作者配置的bot并没有页面前台的目录
想要实现页面管理,需访问原作者Splamy/TS3AudioBot: Advanced Musicbot for Teamspeak 3 (github.com)项目
下载原版TS3AudioBot,将其中的WebInterface文件夹放入TS3AudioBot目录中即可
之前运行bot服务时看到的ERROR报错也和这个有关,但不影响我们的最终目的
不过也建议配置一下,方便拓展更多功能
本章结语
到这里为止,音乐机器人以及可以正常使用,plugins目录下ini配置文件是别人的网易云API,不安全。想要登录听vip歌曲还要在本地部署网易云API
本地部署网易云API
开放3000端口
端口 | 协议 | 说明 |
---|---|---|
3000 | TCP | 网易云API后台网页 |
安装git
首先,确认你的系统是否已安装git,可以通过git
指令进行查看,如果没有,在命令行模式下输入
1 | sudo apt-get install git |
安装完成后进行git配置
1 | # 设置用户名,保留"" |
配置完成后,需要创建验证用的公钥,因为git
是通过ssh
的方式访问资源库的,所以需要在本地创建验证用的文件
1 | ssh-keygen -t rsa -C "你的邮箱" |
接下来一路回车直到出现一个方框为止
接下来要去.ssh目录里查看生成的密钥
1 | cat ~/.ssh/id_rsa.pub |
将ssh-rsa开头,邮箱结尾的整个字符串复制下来,去github,点击头像进入settings页面
SSH and GPG keys选项中,新增一个密钥
回到Ubuntu系统,检测是否可以连接到github
1 | ssh -T git@git.oschina.net |
安装node.js
安装Node.js
1 | sudo apt install nodejs |
安装npm
1 | sudo apt install npm |
利用n来管理版本
1 | sudo npm install -g n |
一般都要升级的,我们需要14.0.0以上版本,这里给出两种方案(最好选第一种)
1 | # 最好选这个,升级长期支持版本,对于后续章节5中解锁版权歌曲有帮助 |
随后切换版本并查看(若是没有显示最新版本,新建一个终端查看就好)
1 | # 方向键上下选择即可 |
搭建API
切换teamspeak用户
1 | su - teamspeak |
1 | sudo git clone git@github.com:Binaryify/NeteaseCloudMusicApi.git |
home目录会多出一个NeteaseCloudMusicApi目录,进入
1 | cd NeteaseCloudMusicApi |
执行安装(有可能版本不够高,按照提示更新即可)
1 | sudo npm install |
启动服务
1 | node app.js |
此时会显示
1 | server running @ http://localhost:3000 |
访问ip:3000能访问到网易云API页面即为配置成功
ctrl+c退出
设置开机自启
切换root用户
1 | su - |
新建 netease.service
1 | vim /etc/systemd/system/netease.service |
复制下列内容到 netease.service 文件中
注意,这里是你的home用户目录下git到的网易云API地址,根据自身情况修改
1 | [Unit] |
系统服务操作
1 | # 更新配置 |
ctrl+c退出
最后阶段
修改插件配置
切换teamspeak用户
1 | su - teamspeak |
编辑本地网易云API地址
1 | cd TS3AudioBot/plugins |
修改连接,=后面都删掉,输入你能成功访问网易云API的链接。或者就默认localhost:3000
1 | WangYiYunAPI_Address = http://localhost:3000 |
重启服务器,确保三个服务都运行成功,机器人应该就已经在你的TS频道了
启动机器人
接下来都是ts客户端操作,不需要在服务器
双击机器人,输入
1 | !plugin list |
可以看到当前插件状态(RDY就绪)
1 | "TS3AudioBot": All available plugins: |
我们需要手动把插件启用
1 | !plugin load 0 |
查看当前插件状态(+ON运行)
1 | !plugin list |
运行成功
现在进行登录操作
首先给机器人最高权限,以便于加载二维码头像
1 | !yun login |
点击机器人,右侧显示出二维码头像,扫码登录即可
成功会提示
1 | "Aster": !yun login |
常用指令
1 | 正在播放的歌单的图片和名称可以点机器人看它的头像和描述 |
解锁版权
环境要求
node.js需要18.0.0
npm需要10.2.4以上
不满足条件请自行升级版本
搭建API
git Unblock Netease Music 维护小组 (github.com)
1 | git clone https://github.com/UnblockNeteaseMusic/server.git UnblockNeteaseMusic |
home目录会多出一个UnblockNeteaseMusic目录
1 | # 进入git到的包下 |
安装服务
1 | sudo npm install |
启动服务
1 | # 默认端口为8080,我在这里改为3001 |
显示以下信息即为成功
1 | HTTP Server running @ http://0.0.0.0:3001 |
设置开机自启
新建UnblockNeteaseMusic.service
1 | vim /etc/systemd/system/UnblockNeteaseMusic.service |
复制下列内容到 UnblockNeteaseMusic.service 文件中
1 | [Unit] |
常见问题
插件加载错误
1 | "TS3AudioBot": Error: Plugin error: UnknownError |
说明你使用了原版TS3AudioBot,加载不了插件
无法启动bot
1 | No usable version of libssl was found Aborted (core dumped) |
libssl版本不可用,去Index of /ubuntu/pool/main/o/openssl1.0下载一个1.0版本的libssl
例如,http://security.ubuntu.com/ubuntu/pool/main/o/openssl1.0/libssl1.0.0_1.0.2n-1ubuntu5_amd64.deb
拒绝连接
1 | "TS3AudioBot": An unexpected error occurred: Connection refused Connection refused |
说明你的YunSettings.ini中的WangYiYunAPI_Address路径没配置好
缺失权限
1 | "TS3AudioBot": Error: You cannot execute 'yun play'. You are missing the 'cmd.yun.play' right! |
普通用户的权限没有配置,编写rights.toml,具体查看Wiki中的Rights
登录报错
1 | "TS3AudioBot": An unexpected error occurred: The remote server returned an error: (502) Bad Gateway. |
扫描二维码后登陆失败
没有本地部署网易云API,请按照步骤3中所述配置
无法连接
查看你的端口是否开放,防火墙是否关闭
无法访问网页后台
具体查看2.4小节
结语
本文是我结合多篇文章汇总得出,借鉴了很多教程,为了备份配置流程而作。
参考文章:
Ubuntu18.04 开机自启服务——网易云音乐api自启服务-CSDN博客
若有侵权,联系qq1048632280
最后编辑于2023-12-06