写在前面:

​ 21年末,我回坑原神。22年初,我开始折腾QQ上原神相关的机器人。22年中,因为开源与不开源、作者与用户的问题弃坑。但是仍然使用着,并且仅仅通过开源渠道–GithubGitee获取代码与插件。随着开源作者们的努力,云崽拥有了更高的稳定性、更多的用户、更丰富的插件。在此,通过博客对过去的一些细节过程进行整理记录。

  • 23年3月31日更新:原github项目地址被ban,更换喵喵版的Yunzai-Bot。

介绍

  • 云崽v3.0,原神qq群机器人,通过米游社接口,查询原神游戏信息,快速生成图片返回。

  • nodejs框架,插件内容丰富。

  • 项目仅供学习交流使用,严禁用于任何商业用途和非法行为。

项目地址

云崽

插件索引

文档中心

环境准备

系统准备

Windows或者linux,总的来说搭建场景可以分成以下几种方式

  • 自己的Windows电脑:需要长时间开机,不推荐。除非愿意即用即开。并且耗电量大,费电脑。

  • Windows系统云服务器:云电脑、云主机等,“云”可以24小时持续在线。

  • linux系统云服务器:ubuntu、centos、答辩等系统云服务器。

  • 可联网的空闲手机:本质也是用linux系统环境。(容器)

  • (另外还有什么:随身WiFi,刷个debain系统;树莓派啥的都是可以成功的,但是太过折腾,不推荐。)

本页主要记录Windows系统服务器上的搭建过程。

准备个人电脑或者到云服务商购买云服务器

直接打开电脑就可以继续往下看了。

云服务器

主流:

在这里推荐各服务商的新人优惠,2核2G做活动时30~60左右一年。比开一年个人电脑耗的电便宜。

具体购买流程就是:

选个服务商–注册账号–实名认证–进入最新活动–寻找新人优惠–选择2H2G云服务器或者轻量应用服务器–购买

  • 1G内存的建议跑linux

就好了。

推荐

首推阿里云:腾讯云内存虚(4G实际只有3.3G,友商基本3.6~3.8G),百度云带宽虚(6M感觉只有3M,应该是个别情况,但是便宜),华为云不好说,我没买过。(只是说一丢丢虚,毕竟是大厂,服务器问题倒是没有的)

  • 最近好像不打折,看情况。只要能用并且安全并且便宜,随便。

远程桌面连接

进入控制台:我这里以阿里云-Windows Server 2019数据中心版(64位)为例首次创建实例需要在阿里云控制台实例内重置密码。

  • 推荐先在控制台-实例-安全组中放通50831端口。后续安装锅巴插件需要用到。

  • win+r打开运行,输入mstsc,确定(或者点开菜单栏,直接搜索远程桌面连接

  • 点击显示选项的箭头,计算机输入公网ip地址,勾选始终要求凭证,用户名一般默认都是administrator连接,选择信任,输入密码等。(或者直接在网页控制塔上寻找远程连接,下载为RDP,存到桌面,双击就可以连接。)

  • 之后成功连接进入服务器桌面的窗口。

软件准备

推荐

  • 谷歌浏览器,推荐下载软件,获取token。如果用的Windows server2022自带Edge可不用装。但是2022系统内存占用更多。亲测2019首次进占1.3G,2022占1.5G。2012和2022不推荐。推荐2016和2019。内存大2022无所谓。
  • nodejs,项目运行框架。
  • git,拉取开源代码。
  • redis,数据库。
  • 7-zip,超级轻量解压缩软件。
  • python,可选,py插件依赖。

如果是服务器,推荐自己电脑上下载好谷歌浏览器安装包,直接将安装包复制到服务器桌面安装,然后在浏览器上打开本页,之后的软件直接在服务器上用谷歌浏览器下载。

安装谷歌

下载地址

直接双击安装包,等待就好,不会有界面引导。

安装nodejs

下载地址

选择长期维护版-windows安装包(.msi)-64-bit

最新版不稳定。

  • 双击-Next-打钩-Next-Next-Next-Next-Install-Finish

  • shift+右键选择打开powershell,或者cmd。分别输入node -vnpm -v验证是否安装成功。出现版本号就算成功

安装git

下载地址

  • Next-Next-取消勾选Git GUI Here(可选)-Next-Next-Next-Next-Next-Next-Next-Next-Next-Next-Next-Next-Install-Finish

GUI基本用不到,可以取消勾选,也可以不管。

安装7-zip

下载地址

  • 打开-Install-close

安装redis

下载地址

  • 普通下载-放到桌面(或者自己找个地方)-右键7-zip-提取到“Redis…”-双击redis-server.exe运行数据库

  • 会出现一个窗口,放一边或者最小化别关闭就行。

部署

1
git clone --depth=1 -b main https://gitee.com/yoimiya-kokomi/Yunzai-Bot.git
  • 进入项目根目录
1
cd Yunzai-Bot
  • 全局安装pnpm
1
npm install pnpm -g
  • 安装依赖
1
pnpm install -P
  • 运行(首次运行按照提示输入登录)
1
node app

首次运行

本地可以密码不填写扫码,云服务器必须账密登录,扫码不在一个局域网下不会通过

账密登录

  • node app后输入小号账号密码,输入错误请ctrl+C结束程序,重新node app。

  • 继续选择端口,及你的机器人小号运行在什么设备上。请选择你没有的设备,防止登录设备与你平时登录的设备相同时顶号掉线。建议ipad,或者安卓手表,不建议macos,可能版本过旧。

  • 继续根据提示输入主人QQ号,最好要和机器人号是好友

取ticket滑动验证

  • 之后需要进行滑动验证。可以通过上下键选择验证方式,软件验证请按照提示。优先软件验证码验证比较简单。这里贴图演示关于手动获取ticket方法

    • 选取绿色连接,右键copy到浏览器(推荐Edge或者谷歌)打开。会显示滑动验证页面。
    • 先不急验证,先在页面上右键检查,选择network(也可能显示网络)选项卡。再进行滑动验证。

    • 滑动验证成功后,在最新的跳出项中寻找最新(很多的话选择最新的那个)的**cap_union_new_verify**项,点击。在出现的框中选择Preview或者Pesponse,复制ticket:后面引号中的长串。不要包含双引号

    • 回到git bash中粘贴,记得先选择手动获取ticket

    喵喵版本云崽已经更换oicq为icqq库,解决了版本过低问题,按上述步骤之后无问题可忽略此问题,直接到底下进行登录验证。

解决版本过旧

  • 喵喵版本云崽已经更换oicq为icqq库,解决了版本过低问题,按上述步骤之后无问题可忽略此问题,直接到底下进行登录验证。

  • 如果显示如上,则需要对Yunzai-Bot/data/[小号QQ]/device-[小号QQ].json文件进行更改,右键选择打开方式,在本机上找记事本,或者自己再下个notepad++,或者vscode,如果内存够的话。

    • 将device和imei项的值的最后一个字母或数更改,例如我分别改成了Z和9。保存之后再次node app,重新滑动验证获取ticket即可。

QQ登录验证

  • 之后是QQ的验证登录,请在服务器上的选择第2项发送短信。本地个人电脑选择第1项,在同一网络下扫码。

  • 之后可以看到

    • 同时,QQ上小号会发来消息。
  • 之后可以按照如下命令进行操作。

命令

  • 后台运行(可以关闭Git bash窗口,不影响机器人运行)
1
npm start
  • 前台交互运行(关闭Git bash窗口后,机器人程序结束)
1
node app
  • 重启
1
npm restart
  • 查看日志(常用来查看报错,无法交互)
1
npm run log
  • 停止
1
npm stop

安装插件

  • 云崽本体不带面板,需要添加喵喵插件。在此推荐喵喵插件、图鉴插件、锅巴插件。

喵喵插件

  • 如果安装的Miao-Yunzai可以忽略。

  • 在Yunzai-Bot根目录git bash 或者其他终端,运行

1
git clone https://github.com/yoimiya-kokomi/miao-plugin.git ./plugins/miao-plugin/
  • 拉取不下来的用gitee源
1
git clone https://gitee.com/yoimiya-kokomi/miao-plugin.git ./plugins/miao-plugin/
  • 安装依赖
1
pnpm add image-size -w

图鉴插件

  • 功能:角色等图鉴、#扫码登录、#账号密码登录、快捷绑定ck、sk、体力优化等。
  • 在Yunzai-Bot根目录git bash 或者其他终端,运行
1
git clone https://github.com/Ctrlcvs/xiaoyao-cvs-plugin.git ./plugins/xiaoyao-cvs-plugin/
  • 拉取不下来时用gitee源
1
git clone https://gitee.com/Ctrlcvs/xiaoyao-cvs-plugin.git ./plugins/xiaoyao-cvs-plugin/
  • 命令说明(照抄自xiaoyao-cvs-plugin: 用于辅助yunzai图库使用 (gitee.com)
    • 发送 【#图鉴更新】 获取最新的图鉴记录。(必须)
    • 发送 【#**图鉴】 进行触发,例如发送 #刻晴图鉴,即可返回对应的图片信息。
    • 发送 【#图鉴插件更新】获取最新代码
    • 别名文件在 /xiaoyao-cvs-plugin/resources/Atlas_alias 目录下面,当前只支持食物及原魔的别名
    • 发送 #图鉴帮助 获取帮助面板
    • 发送 #图鉴设置 获取图鉴管理面板
    • 发送 #图鉴版本 获取图鉴更新日志
    • 其余具体功能通过 #图鉴帮助 #图鉴版本 查看
    • 发送 #崩坏3签到 可签到崩坏3游戏模块 具体支持【崩坏3、原神、崩坏2、未定义事件】原神模块(当前)支持过验证码
    • 发送 #云原神签到 可签到云原神游戏
    • 默认配置文件位于 ./plugins/xiaoyao-cvs-plugin/defSet/config/config.yaml
    • 支持stoken绑定以及相关的操作。如:【#更新抽卡记录】

锅巴插件

  • Guoba-PluginYunzai-Bot的扩展插件,主要提供后台管理界面
  • 记得云服务器放通50831
  • 在云崽根目录下打开终端,运行
1
git clone --depth=1 https://gitee.com/guoba-yunzai/guoba-plugin.git ./plugins/Guoba-Plugin/
  • 安装依赖
1
pnpm install --filter=guoba-plugin

另外推荐

注意事项

  • 推荐输入账号密码登录,这样重启不需要扫码。
  • 新手尽量选择软件验证,不行再手动获取token。
  • 重复验证多次容易报风险禁止登录,有时候可以通过手机小号QQ上删除设备和更改密码解决风险。
  • 若出现:如启动时报 Cannot find package ‘xxxx’ 的错误,直接在yunzai根目录下pnpm add xxxx -w正确安装依赖即可。(对应替换xxxx)