配置基于GsCore的鸣潮TelegramBOT

“漂泊者工坊小助手”的声骸评价用起来实在是不太令人满意。最近发现了一款新的Q群机器人,声骸评价更加合理,且有自动签到等功能,但是又懒得找有机器人的Q群加,于是决定自己部署一个机器人,并配置为TelegramBot,避免本地运行的困扰。

VPS环境:2c4g,系统为Debian12。

写在前面,目前已知的小问题:

  • 由于Telegram的压缩机制,图片在手机上确实有点糊,不过总的来说还是能看清的。电脑上查看会好一些。
  • 设置面板图等部分命令无法使用,估计原因是OnebotV11标准对Telegram的消息格式适配不好,毕竟本来是给QQ用的嘛。不过主要的声骸评分等命令都是没问题的

配置GsCore

拉取GsCore

与官方文档不同,我使用了Docker Compose进行配置,默认已经完成Docker的安装。

1
2
3
git clone https://github.com/Genshin-bots/gsuid_core.git --depth=1 --single-branch
#然后进入文件夹
cd gsuid_core

启动Docker Compose

只要是近期安装的docker应该都是使用docker compose命令吧,旧版请自行替换为docker-compose

先修改一下docker compose文件吧,不知道作者出于什么目的修改了端口。

1
2
3
4
5
......
ports:
# 改的就是这里!!!本来是18765,我改回8765端口了
- 8765:8765
......

然后先启动一下

1
2
3
# 初次安装,执行以下指令:
docker compose up -d --build
# 试着打开http://IP:8765/genshinuid, 可以打开的话说明docker启动成功了

记得先修改一下用户密码,默认账户密码是root/root,在左边栏寻找用户管理以修改密码

配置master

GsCore还有一份无法在网页设置的config,设置好master之后才能直接在机器人用命令安装插件。

config.json文件位于opt/gsuid_core_data/config.json

先到UserInfoBot获取自己的账号ID。
nano或者vim打开config.json文件之后,配置如下部分

1
2
3
"masters": [
"<你的ID>" // master权限账号, 类型为List[string], 对应权限pm=0。
],

其他的可以不管,以后用到了再了解。
然后别忘了重启一下docker compose让配置生效

1
2
3
4
# 先回到gsuid_core文件夹再执行
docker compose down
# 除了第一次启动之外以后都不需要带--build参数
docker compose up -d

设置图片发送

由于后续tgbot的webhook使用自签名证书,出现了奇奇怪怪的证书问题,所以在这里需要提前设置一下图片的发送格式
进入GsCore的管理面板http://IP:8765/genshinuid
在侧边栏找到修改插件设定一项,在core一栏,启用将图片转链接发送(需公网),并且设置转链接为http://IP:8765
图片转链接发送
然后在GsCore发送图片一栏,将Onebot图片发送方式改为link_local
link_local

配置nonebot

目前各类Q群机器人(当然我们是要部署到tgbot上)以我的理解大致分为三层。
最上层就是我们刚刚配置好的Gscore,这部分负责具体的数据获得与处理。然后是中间层,负责沟通最上层与最下层。最下层就是具体负责发送消息的部分。

小吐槽:因为目前生态都是基于各类土法QQ机器人的,显得尤为屎山代码。。。虽然说这样模块化的设计倒也不是没有意义就是。但是完全可以由Gscore直接对接某个符合例如onebotV12标准(尽可能通用化的标准,目前我的了解只有onebotV12)的Bot,省去中间层,变得更加轻量化而易于部署

所以这部分要配置的NoneBot就属于中间层的部分

安装nonebot

nonebot我没找到可以直接用docker的,所以直接部署到本机了
首先确认Python版本>=3.9,并且官方文档也强烈建议使用虚拟环境
作为一个标准懒狗,安装什么的肯定都是让apt代劳啦。以后遇到问题了再研究吧。

1
2
3
4
5
6
# 如果没安装python的话,用apt安装
# apt install python3
# 然后就需要安装pipx。pipx能自动使用虚拟环境安装各种程序,相较pip更加方便。
apt install pipx
pipx ensurepath
# 安装完成之后重新连接一下ssh让环境变量生效

然后安装nb脚手架

1
pipx install nb-cli

脚手架安装完毕也就算安装好了,接下来是配置部分

配置nonebot

使用脚手架创建项目

1
nb create

如此会进入脚手架的交互式创建流程中。命名请自行选择,我命名为wuwa,以下都用wuwa为参考。
交互式安装过程我就不截图了。
具体来说:
模板: bootstrap
适配器: OneBot V11
驱动器: FastAPI,HTTPX,websockets。
立即安装依赖: Yes
创建虚拟环境: Yes
内置插件不需要安装,直接回车。
这样一个nonebot项目就创建好了,文件都在./wuwa

安装GenshinUID

GenshinUID是一个nonebot的插件,用于连接GsCore与nonebot。
我们以用户模式安装即可

1
2
3
4
# 进入nonebot项目文件
cd wuwa
# 输入命令安装插件
nb plugin install nonebot-plugin-genshinuid

这样noneot就配置好了。
由于nonebot启动后会一直在终端输出日志,直接使用最懒狗的screen大法解决

1
2
3
4
screen -S wuwa
nb run
# 之后可以用screen -r wuwa来回到这个screen,screen -ls可以查看全部screen
# 确认没问题了用快捷键Ctrl+a+d离开screen

配置Gensokyo-Telegram

OnebotV11标准是为QQbot设计的,最后在Github找到了由Hoshinonyaruko开发的符合OnebotV11标准的TelegramBot。总体用起来还是能满足需求的。

1
2
3
4
5
6
# 获取Gensokyo-Telegram
cd ~
mkdir -p gensokyo && cd gensokyo
wget -O gensokyo https://github.com/Hoshinonyaruko/Gensokyo-Telegram/releases/download/4%2Fmerge/gensokyo-linux-amd64
# 先启动一次以生成配置文件
./gensokyo

此时会在~/gensokyo/中生成config.yml。用nano或者vim打开并编辑

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# 主要关注这些项目
ws_address: ["ws://127.0.0.1:8080/onebot/v11/ws"]
ws_token: ["","",""]
botToken: "xxxxxxx:xxxxxxx......xxxxx" # 在telegram软件内botfather获取 例子 111260888:BBFf5h2cSDoUZctABCD-spo0b2dG4gyEGEG
webHookPath : "https://your.domain.com:PORT/" # 你的Webhook地址,端口可以选择80、443、8443、88。比如我就因为443已经被网站占用了因此选择8443。
httpGetMsg : false # 如果你不打算使用webhook,那么使用http轮询获取api(强烈建议使用webhook)
# 使用轮询的话那么后面证书什么的都不用管了,webHookPath也不用管
......
timeOut : 30 # 等待反向ws信息超时时间,默认4秒,这里改成30秒,原因是获取与生成图片的确实是有点慢。。。
......
server_dir: "your.domain.com"
port: "PORT" # 这个PORT和上面webhootpath的保持一致
......
identify_file : true # 自动生成域名校验文件。
......
customcert : true # telegram默认支持自签名证书,省去配置ssl烦恼.进阶用户也可使用nginx反代部署机器人.
......
server_user_name : "admin" #默认网页面板用户名
server_user_password : "YourPasswd" #默认网页面板密码,自己修改防止安全问题

这样就配置好了,还是用screen启动并使其后台运行

1
2
screen -S gensokyo
./gensokyo

不出意外这样Bot已经可以运行了,可以试着向你的Bot发送帮助,运行正常的话这会已经会有反应了。

安装WutheringWaveUID插件

再次进入GsCore的管理面板http://IP:8765/genshinuid
插件管理下安装插件
或者直接对bot发送core安装插件WutheringWavesUID。之前已经配置好master账户了,合理没问题。

安装完毕!开始使用鸣潮bot吧

这样就算安装完毕了,发送ww帮助可以获得命令帮助。自行绑定token和UID之后就可以开始愉快使用了。token获取方法与其他小程序相同,也可以直接在库街区cookie中获得。


配置基于GsCore的鸣潮TelegramBOT
https://nekonya.one/2025/04/19/配置基于gscore的鸣潮TelegramBOT/
作者
Guawazi233
发布于
2025年4月19日
许可协议