Yunzai-Bot

昨天忽然想着搭个 Bot 给自己玩玩,发现自己还是有很多不懂的问题.现在应该是没问题了,把过程重新缕一缕记录一下,这是我第一次接触 Node 项目.

搭建环境

项目需要 Node.js 以及 Redis 缓存和一台服务器,我直接宝塔面板安装了,如果是没面板的通过 yum install 应该也是可以的.

运行准备

cd 到该目录下执行 npm install 下载需要的 modules (有一说一真的大,光这一个项目的依赖就已经快一个 G 了),如果速度过慢可以切国内镜像或者使用 cnpm .下面这个情况就是通过切换刚才提到的命令解决的.

2022-05-27T11:13:05.png

登录账号

启动项目之后按提示输入对应内容登录 QQ 即可,有扫码和密码登录两种方式,我使用的是密码登录.但有个滑块验证和异地登录需要手动完成.唯一值得一提的就是 ticket 响应,滑块验证前先打开开发者工具,完成滑块后最新的那个网络请求的正文部分就有这个参数,复制过来填上就好了.

问题解决

  • puppeteer 不存在

登录成功之后 Bot 就已经启动了,但是这并不代表就没有问题了.在执行部分命令时后台会显示puppeteer出错,大概是路径不存在之类的.事实上这个错误在安装时应该就已经出现了,但是不影响启动.

我服务器的网络似乎有点问题,使用的 cnpm i puppeteer 完成安装.

再次运行后根据进一步给出的报错信息找到了解决方案,安装以下依赖然后刷新即可.

yum install alsa-lib.x86_64 atk.x86_64 cups-libs.x86_64 gtk3.x86_64 ipa-gothic-fonts libXcomposite.x86_64 libXcursor.x86_64 libXdamage.x86_64 libXext.x86_64 libXi.x86_64 libXrandr.x86_64 libXScrnSaver.x86_64 libXtst.x86_64 pango.x86_64 xorg-x11-fonts-100dpi xorg-x11-fonts-75dpi xorg-x11-fonts-cyrillic xorg-x11-fonts-misc xorg-x11-fonts-Type1 xorg-x11-utils -y
yum update nss -y

同时 puppeteer 又需要两个依赖,好在没有套娃,直接 yum 安装警告给出的两个就好了.

  • 登录 token 过期

其实是压根没 token ,也不知道为什么会这样.解决方案是手动创建一个名为 token 的文件放在报错路径下.但奇怪的是在读取之后文件又消失了,并且原来报错的内容也不会再出现.

在 config.js 配置给出的示例是 'ltoken=***;ltuid=***;','ltoken=***;ltuid=***;' ,实际上需要重复两次是我没想到的,我还以为是两个账号呢.

  • 字体安装

执行fc-list :lang=zh如果报错需要安装字体,如果没输出说明没有中文字体,后续可能出现?或者□

sudo mkdir -p /usr/share/fonts/truetype/mihoyo && cd /usr/share/fonts/truetype/mihoyo
sudo wget https://file.letsshareall.com/others/fonts/汉仪文黑-85W_Heavy.ttf -O HanyiWenhei85W-Heavy.ttf

sudo fc-cache -fv
fc-list :lang=zh

2022-05-27T11:22:35.png