文章目录
前言:
由于一直使用TeamSpeak3这一款语音软件和好兄弟一起开黑,想着为自己的TeamSpeak服务器增加点乐趣,所以想着看看能不能写一个自动点歌的机器人来自动放我的网易云歌单。说干就干,但是当我在CSDN查找了一些资料,基本都是教你部署的,或者说是可以教你写但是得收费的,又或者说是操作系统以及版本不一样的,所以我也决定开摆了,直接前往GitHub上面找了个大佬写好的机器人,然后直接用就好了,但是在彻底实现部署机器人还是会有写门槛,所以在这我会用心的教每个人在自己的TeamSpeak上部署机器人!!!
在这里关于TeamSpeak3的频道服务器我就不在这里介绍怎么搭建了,网上的有很多关于搭建的教程,如果你懒得研究搭建服务器也可以直接在淘宝搜索“心奈电玩”就可以购租频道服务器而且价格很实惠。
其实这个店铺也是可以租借机器人的,但是淘宝上的机器人只能在网易云上进行点歌,你是无法做到添加歌单的,因此我们还得自己整一个机器人来实现自动放网易云歌单。
搭建Ubuntu云服务器
选择服务器:
既然要实现机器人,我的建议是一直让运行机器人的服务端永远保持运行,如果你有一个永远不会关机的电脑那确实可以充当机器人的服务器。
所以我们可以选择租界一个为期一年的云服务器,目前国内常见的云服务器有:阿里云、华为云和腾讯云。
我的服务器是选择的腾讯云服务器,而我在这里推荐大家购买轻量云服务器,这里直接点击就可以转移了。
如果你愿意直接在官网上买那就在官网上面买,但是官网上的难免会贵一些,所以你可以在拼多多或淘宝上面进行购买,买一年的也就70左右还是很划算的。当然你买别的云服务器也是可以的。
在购买的时候,腾讯云或者商家会询问你需要选择的操作系统,我们在这里选择Linux操作系统,版本选择Ubuntu20.04,因为这个版本比较好调试,而且你还可以在上面更好的学习Linux。
然后配置完后,你一定要记住自己的密码
打开防火墙(前置工作):
接下来就是要找到自己的服务器并大开防火墙,一开始我在寻找的时候就花了很多的时间。
-
点击右上角的头像
-
打开站内信,点击里面的“创建成功提示词”
-
打开自己的产品控制台
-
点击自己的操作系统的云服务器:
-
在上边的菜单栏找到“防火墙”,并打开一下端口(这一步是关键所在!!!)
下载Xshell + 连接:
现在我们的前置工作已经做的差不多了,接下来的就需要我们可以连接至我们的云服务器,然后在云服务器上写指令然后实现搭建和部署。下载链接:Xshell
下载完之后,我们再返回自己的服务器的监控界面
然后往下拉,找到网络和域名:
我们复制公网IP地址,对于我的来说就是复制 119.29.74.87,然后打开Xshell输入指令:ssh ubuntu@'公网IP'
对于我的服务器来说,就是输入:ssh ubuntu@119.29.74.87
然后输入你的密码:
如果你出现了下图的界面,就代表你成功登陆了!
你可以尝试输入指令:whoami
来看看你现在是哪个用户
创建机器人工作路径
创建新用户teamspeak:
- 执行命令:
cd ..
来让我移动到home目录下,这个目录可以方便我们看到新用户teamspeak是否创建成功。 - 输入指令:
sudo adduser teamspeak
进入创建用户界面,接下来我们需要为teamspeak用户设置密码,这个密码由你自己设置,你需要自己记住(密码由于保护措施并不会显示出来,但是实际上已经将你输入的密码记录了下来)。设置完之后再输入密码进行确认操作,接下来就一路点击Enter,当系统提示出现让你按[Y\n]时就输入Y就好了
升级新用户teamspeak的访问权限:
-
输入
sudo usermod -G sudo teamspeak
为teamspeak添加sudo权限 -
输入
sudo vim /etc/sudoers
为teamspeak新用户添加root权限,按下[i]然后一直按[方向键下]移动找到代码root ALL=(ALL:ALL) ALL
,然后输入teamspeak ALL=(ALL) ALL
(这里建议你手动输入,如果你想偷懒可以右键点击粘贴),输入完之后按[ESC]退出再按[shift+/]进入命令行模式,这是你就可以看到Xshell下方出现了一个冒号,然后输入[wq!]保存并回到主界面。如果你不放心可以再输入sudo vim /etc/sudoers
进行检查。
切换为teamspeak用户并为机器人创建文件夹:
-
切换为teamspeak用户,输入指令:
su teamspaek
然后输入ls
查看当前目录,再输入whoami
查看当前自己是哪个用户
-
为机器人创建目录,首先输入指
cd teamspeak
然后输入指令mkdir TS3AudioBot
再输入ls
查看是否创建成功,最后输入cd TS3AudioBot
进入该目录
下载机器人本体
安装依赖库:
- 输入指令:
sudo apt install libopus-dev ffmpeg
刚开始需要你输入teamspeak用户的密码,后面就不用了,如果你的运行出错输入sudo apt update
再输入上述指令。这里代码回馈等待时间偏长我就不做过多的演示
下载TS3AudioBot本体:
-
官方提供的bot环境有点麻烦,对后续的网易云插件可能存在不兼容的问题,所以在这里我们使用Github上一位大佬重构的bot机器人,大佬的GitHub主页
在这里我们输入指令:wget https://github.com/ZHANGTIANYAO1/TS3AudioBot-NetEaseCloudmusic-plugin/releases/download/1.1.0/with.TS3Bot.linux-x64.zip
因为是github上面的项目,所以上传可能会比较慢,这里可以尝试在自己的电脑上下载下来,再将则会个zip文件拖到Xshell里,点击此处直接下载。
-
执行完后输入
ls
会发现目录会有一个with.TS3Bot.linux-x64.zip压缩文件,现在我们需要进行解压,输入unzip with.TS3Bot.linux-x64.zip
,此时会生成linux-x64文件,现在我们对这个文件进行重命名操作,输入mv linux-x64 TS3AudioBot
更新网易云音乐插件:
-
首先我们先去Github上下载最新版的网易云音乐插件,大佬的Github在这,点击此处跳转
我们直接输入指令:wegt https://github.com/FiveHair/TS3AudioBot-NetEaseCloudmusic-plugin-UNM/releases/download/v1.1/YunPlugin-UNM-v1.1.zip
还是一样是从GitHub上面拉下来的,所以可能需要很长时间,因此你可以尝试先下载到你的Windows上再进行将zip压缩文件拖动进Xshell里。
-
拖动后输入
ls
,查看压缩包是否存在。存在输入解压指令unzip YunPlugin-UNM-v1.1.zip
,解压完成后会出现两个文件YunPlugin-UNM.dll
和YunSettings.ini
-
替换插件内容,首先输入指令
cd TS3AudioBot/plugins/
进入插件目录
输入指令rm *
将里面的文件全部删除
输入指令cd -
回到刚刚原来的目录
输入指令mv YunPlugin-UNM.dll YunSettings.ini ./TS3AudioBot/plugins/
将最新的插件文件粘贴到机器人的插件文件夹里
部署机器人:
-
输入指令
cd TS3AudioBot
进入到机器人目录里 -
输入指令
chmod 755 TS3AudioBot
修改机器人可执行程序的权限 -
输入指令
./TS3AudioBot
运行机器人
-
接下来就是机器人会问你的TS服务器频道还有管理员uid什么的,顺着机器人的问题往下
-
第一步机器人会问你:Do you want to set up an admin in the default permission file template? [Y/n],这里直接输入Y
-
第二步机器人会问:Please enter an admin uid
这里复制你的uid,然后粘贴上去就好了。复制uid:你需要先打开自己的TS频道,右上角点击‘工具’->‘身份’->uid在右下角,复制即可
-
第三步机器人会问你:Please enter the ip, domain or nickname (with port; default: 9987) where to connect to:
在这里输入你的频道名字就好了,比如我的频道是 blackhumour.ts3.red,直接输入就好了。 -
最后!你就可以看到机器人出现在自己的频道啦!!!
-
然后按下[crtl + c] 退出机器人,我们接下来还要对机器人进行配置!
当机器人再问你话的时候可能会出现红色的报错问题,在这里我们不需要过多的在意,只要最后机器人成功的进入了我们的频道就好了!
-
部署网易云音乐API
安装配置git:
-
输入指令
git --version
一般来说你的ubuntu20.04是会配备git的,所以这一步只是检查
如果没有的话输入
sudo apt install git
安装就好了 -
在这里建议你先注册一个Github或一个Gitee,这两个是代码托管平台,Gitee访问速度会快点,B站上会有很多的教程,在这里我就不过的赘述了。Github注册,Gitee注册
-
注册好后记住你的用户名和邮箱。然后在Xshell上输入
git config --global user.name "名字"
git config --global user.email "邮箱"
安装最新的node.js && npm:
- 输入指令
sudo apt update
更新安装apt包管理器 - 输入指令
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
安装稳定版本(Node.js 20)NodeSource 仓库 - 输入指令
sudo apt install -y nodejs
安装Node.js - 输入指令
node -v
检查是否为最新版本
- 输入指令
sudo apt install npm
安装npm
部署网易云API:
本网易云API是由大佬的Gitlab上获取的
-
输入指令
cd /home/teamspeak/TS3AudioBot
先回到我们存放压缩包的目录 -
输入指令
git clone https://gitlab.com/Binaryify/NeteaseCloudMusicApi.git
将远程的仓库克隆下来部署 -
输入指令
cd NeteaseCloudMusicApi
先进入目录内部
然后输入指令sudo npm install
这一步等待时间会较长,结果可能会出现error什么的,我们并不需要管
接下来输入指令sudo node app.js
这一步等待时间也会较长,但你的Xshell上出现了running就代表成功了!然后按[crtl + c]退出
-
输入指令
sudo vim /etc/systemd/system/netease.service
设置开机自启。然后按[i]进入INSERT模式,写文件:
[Unit] Description=Netease Cloud Music API Service After=network.target [Service] WorkingDirectory=/home/teamspeak/TS3AudioBot/NeteaseCloudMusicApi ExecStart=/usr/bin/node /home/teamspeak/TS3AudioBot/NeteaseCloudMusicApi/app.js Restart=always RestartSec=15 [Install] WantedBy=multi-user.target
写完之后按[ESC],再按[shift+/],最后输入[wq]保存并退出
-
输入指令
sudo systemctl daemon-reload
更新配置
输入指令systemctl enable netease.service
设置开机启动
输入指令systemctl start netease.service
启动服务
输入指令systemctl status netease.service
查看状态,如果有active (running)说明成功了
将插件与API连接:
- 输入指令
vim /home/teamspeak/TS3AudioBot/TS3AudioBot/plugins/YunSettings.ini
将插件与网易云API进行连接 - 按下[i]然后按[方向键下]找到一行代码
WangYiYunAPI_Address =
- 在登号后面增加代码:
http://localhost:3000
- 按下[ESC],再按[shift+/],最后输入[wq] 保存退出
登录网易云音乐
- 输入指令
cd /home/teamspeak/TS3AudioBot/TS3AudioBot
回到机器人的目录 - 输入指令
./TS3AudioBot
运行机器人,由于上次你添加了你的服务器频道,所以机器人会自动进入你的频道 - 在TeamSpeak中右键机器人和机器人进行对话
- 在对话框内输入
!plugins in
机器人会回应:#0|RDY|YunPlugin (BotPlugin)
出现RDY字样代表已经连接至API插件,等待加载中 - 在对话框输入
!plugins load 0
加载API进插件中
此时再输入一次!plugins in
机器人会回应:#0|+ON|YunPlugin (BotPlugin)
出现+ON字样就代表成功加载成功啦! - 在对话框输入
!yun login
机器人就会生成一个二维码,这时你只需要拿手机打开网易云音乐,然后打开网易云音乐的扫一扫,扫码登录就好啦!
至此所有工作已经全部完全!!!!!!!!!!
接下来就来介绍如何修改机器人的参数,比如调整音量和命名和永不退出的操作
修改参数 && 配置
修改名字和声音:
- 回到Xshell输入指令
vim /home/teamspeak/TS3AudioBot/TS3AudioBot/ts3audiobot.toml
,按[i]然后按[方向键下]往下拉,右下角有显示行数,拉到第53行
你会看到一行代码name = "TS3AudioBot"
我们只需要在双引号内修改为你想设置的名字 - 再往下拉到第75行,我们可以调整音量
从左往右数分别是默认音量为50,最小音量为25,最大为75
在这里我建议调整成default = 20.0, min = 10.0, max = 50.0
,这样声音不会特别大,而且音质会好一些。不过还是因人而异,自己怎么喜欢怎么来
修改完后按下[ESC],再按[shift+/],最后输入[wq] 保存并退出
永久在后台运行机器人(一直待在频道中)
- 输入指令
/home/teamspeak/TS3AudioBot/TS3AudioBot
我们先回到机器人的目录中 - 输入指令
nohup ./TS3AudioBot &
这样就能保证你退出Xshell机器人也会一直频道中!
使用操作
建议你给机器人增加服务器管理员权限,这样方便它在各个频道中移动!
以后你想添加歌曲,先拿浏览器搜索网易云音乐,在浏览器中打开歌曲:
我们只需要拷贝后面这串数字
然后在机器人对话框中输入!yun play 1974238068
就好了,剩下的操作我放在下面了!!!
我们可以在我们TS频道进行对机器人进行描述,将下列信息粘贴到描述框中
[COLOR=#ff5500][B]正在播放的歌单的图片和名称可以点机器人看它的头像和描述[/B][/COLOR]
[COLOR=#aa00ff]机器人现在可以通过歌单播放vip音乐,如果遇到其他问题可以联系Github[/COLOR]
[COLOR=#0055ff]双击机器人,目前有以下指令([I]把[xxx]替换成对应信息,包括中括号[/I])[/COLOR]
1.立即播放网易云音乐
[COLOR=#00aa00]!yun play [音乐名称][/COLOR]
2.添加音乐到下一首
[COLOR=#00aa00]!yun add [音乐名称][/COLOR]
3.播放网易云音乐歌单
[COLOR=#00aa00]!yun gedan [歌单名称][/COLOR]
4.播放网易云音乐歌单id
[COLOR=#00aa00]!yun gedanid [歌单名称][/COLOR]
5.立即播放网易云音乐id
[COLOR=#00aa00]!yun playid [歌单id][/COLOR]
6.添加指定音乐id到下一首
[COLOR=#00aa00]!yun add [音乐id][/COLOR]
7.播放列表中的下一首
[COLOR=#00aa00]!yun next[/COLOR]
8.播放模式选择【0=顺序播放 1=顺序循环 2=随机 3=随即循环】
[COLOR=#00aa00]!yun mode[/COLOR]
9.登陆账户
[COLOR=#00aa00]!yun login[/COLOR]
[COLOR=#aaaaff]如果想要播放会员音乐需要先登陆会员账户,输入上述命令后扫描机器人头像的二维码登陆(只需要一账户登陆一次即可)[/COLOR]
需要注意的是如果歌单歌曲过多需要时间加载(重写后应该只需要几秒),期间[B]一定一定不要[/B]输入其他指令
以下例子加粗的就是音乐或者歌单id
[URL]https://music.163.com/#/my/m/music/playlist?id=[B]2139305008[I][/I][/B][/URL]