前言

QQ的鸣潮机器人已经有成熟的方案和部署,一般来说没有必要自己部署。因此基本就是玩玩为主。

本文章仅为个人部署的一些经验记录,不作为任何教程内容。项目具有时效性,因此本文章不为任何可能的问题或错误负责。

因为国内访问github不稳定,如果需要稳定访问github的资源,需要自行配置代理程序或者github代理网站。

docker部署

使用docker-compose进行部署,具体分为三个服务:

  1. gsuid_core

  2. nonebot

  3. napcat

每个项目基本都有一些docker部署的方法,整合起来后配置相关的环境变量。其中nonebot先在本地部署后使用nb-cli-plugin-docker生成docker的配置项目,最后整合到docker-compose中。

docker在国内的不稳定问题需自行配置代理解决。

重点需要配置 .env 和nonebot目录下的 .env.prod ,具体配置过程略。

配置的项目链接:https://github.com/ShYuF/wwbot-docker

并不保证对该项目的维护,也不保证该项目的正确性。该项目仅作为个人配置机器人时的构建方案,具体信息请参照各项目说明。

连接配置

如果一切顺利的话,三个容器应该都已经顺利启动了(但是还没有正确连接)。接下来应该进行服务间的连接。

napcat连接nonebot

先登录napcat。容器启动后有两种登录方式:

  1. 容器启动时会在日志内输出登录二维码,可以扫码登录

  2. 打开napcat的webui控制台,然后登录

建议使用方式2,因为从日志扫码登录后也需要从webui控制台操作ww。默认配置下一般可以从 http://127.0.0.1:6099 访问控制台,具体的访问方式根据自己的docker-compose项目配置确定。

登录webui控制台需要使用token,token在docker容器的日志中给出。如何查阅容器日志请自行搜索,token信息形如 [info] [NapCat] [WebUi] WebUi Token: 5eb318cd1111

注意:应该提前准备好用于部署机器人的QQ号,出于个人使用和后续风控考虑,不建议使用自己主用的QQ号。

登录后的界面类似如下图(具体因版本和主题配置会有所不同):

此时选择网络配置,并新建Websocket客户端

重点需要关注的选项说明:

  • 名称:连接的名称,随便起一个方便自己记忆的名称即可

  • URL:用于连接nonebot服务。类似图中填写即可,注意nonebot要换成自己docker-compose.yml中配置的服务名,端口要改成自己的nonebot映射端口。此处使用了nonebot V11,如果使用V12的话会有所不同

  • Token:连接时附带的token,用于连接验证。如果nonebot的环境变量配置中配置了相关项,需要在这里填写配置的token,否则无需填写

启用连接并保存。以上配置除了名称不能修改,其余内容均可修改并保存,即使写错了也无需担心,不必删除重写。

如果正确创建并连接,在napcat的日志部分会有类似以下的文字: WebSocket反向服务: ws://nonebot:8089/onebot/v11/ws, : 已启动 。如果日志中出现了连接错误的问题,检查nonebot是否正确启动,连接配置是否正确填写。

napcat还有一些其他内容可以探索,此处略。

nonebot配置,

nonebot的配置内容需要在docker部署阶段通过配置 .env.prod 完成,一般情况下启动后无需额外配置。

也可以额外添加其他的nonebot插件,添加插件时注意插件是否被维护/正常运行,同时可能需要额外添加环境变量配置。

nonebot插件商店:https://nonebot.dev/store/plugins

注意此时nonebot还无法连接gscore,所以日志会报错,为正常现象。

gscore(gsuid_core)配置

1. 连接配置

登录gscore的webui控制台。如果没有修改过配置,一般来说可以通过 http://127.0.0.1:8765/genshinuid 访问控制台,初始的默认账户和密码均为 root

注意:为了提高安全性,登录后尽快修改密码。

在Core配置部分填写之前配置的ws_token,也可配置master账号(最高权限账号,填写平常使用时用于和机器人对话的自己的QQ号,不要填写机器人的QQ号),如下图:

修改完后保存配置并重启gscore。如果顺利的话,nonebot应该能正常连接gscore。向机器人qq随意发送一条消息,检查nonebot日志,应该能看到类似消息: [SUCCESS] GenshinUID | 与[gsuid-core]成功连接! Bot_ID: NoneBot2

向机器人发送 core帮助 ,如果之前的步骤正确,应该能得到类似下图的回复:

这说明nonebot和gscore已经正确连接,并且正确设置了机器人的主人账户。(如果没有设置主人账户或者设置有误,得到的回复图相比该图会少很多选项)

2. 插件安装

注意:该部分可能需要github的顺利访问。如果网络环境不能稳定访问github,需要自行配置代理程序或者github代理网站。

插件安装有两种办法:

  1. 通过webui的插件管理安装,如下图:

注意:如果网络环境不佳,该页面可能无法正常打开。另外,WutheringWavesUID已经删库停止维护,目前尚在维护的为XutheringWavesUID。

  1. 从项目源下载代码,并移动到 gs_core/plugins 目录下。该部分内容可以阅读gscore文档。

其他插件也可以根据需要自行安装,但部分插件可能有错误或需要额外配置,请自行甄别。安装插件后重启gscore。如果设置了主人账户,只需要向机器人发送 core重启 即可重启。(其他指令参考上图)

3. 插件配置

重启后重新进入webui控制台,在左栏栏应该能看到XutheringWavesUID,可以从该入口配置插件。

功能服务管理可以配置插件功能的开启与关闭。

配置管理可以配置插件的一些设定。

如果向机器人发送 ww登录 ,此时机器人会回复登录链接,但是登录链接很可能是不可用的,因此需要在配置管理中配置登录域名:

如果仅仅是本地部署并登录,此处的url可以简单配置为 http://127.0.0.1:8765 ,其中的8765换成自己的gscore配置端口。打开强制域名并填写后点击该页底部的保存即可,无需重启gscore。这时就可以打开登录页面了。

如果有外部登录需求,需要自行配置反向代理,并填写自己的域名。该部分的ip配置等内容请自行搜索相关教程。(xyz的数字域名还挺便宜的,hh)

其他部分也有一些可以选择配置的项目,可根据需求自行研究和配置。

更多内容(尤其是想要配置伤害计算等内容)可阅读项目链接:https://github.com/Loping151/XutheringWavesUID

结语

如何部署机器人,网络上其实已经有很多详尽的教程,所以这篇文章并不能算是教程,正像一开始所说的,“仅为个人部署的一些经验记录”。说不定以后还想部署的时候可能用到,虽然到时候这篇文章估计也过时了hh。