写在前面
注意:使用QQ bot服务可能会被风控甚至被封禁,如果不能接受风险请不要部署QQ bot。
学校音游群有查音游成绩的需求,还需要各种功能(例如解析b站视频链接、电棍活字印刷)。搭建好机器人并且使用一段时间后就有人问我机器人怎么部署,接下来将教一下怎么快速部署基于nonebot2的HoliChan Lite机器人。写好这个教程之后有不会的可以随时回来看这篇文章。
本次部署所使用的程序和nonebot插件有:
- nonebot2机器人框架:https://nonebot.dev/
- 舞萌DX:https://github.com/Yuri-YuzuChaN/nonebot-plugin-maimaidx
- bawiki:https://github.com/lgc-NB2Dev/nonebot-plugin-bawiki
- PJSK表情包制作:https://github.com/lgc-NB2Dev/nonebot-plugin-pjsk
- 日麻牌型番符计算:https://github.com/bot-ssttkkl/nonebot-plugin-mahjong-utils
- emoji合成:https://github.com/noneplugin/nonebot-plugin-emojimix
可以实现的功能:
- 舞萌DX查分
- bawiki使用
- PJSK表情制作
- emoji合成
- 日麻牌型番符计算
- 复读
- 能不能好好说话
- 服务器(设备)状态
部署准备
部署环境:
- Windows 10 及以上版本的操作系统(建议带虚拟化)
- 能顺畅pip的网络环境(建议使用VPN)
- 不少于5GB的磁盘空间(C盘不少于3GB)
1.安装python
nonebot是基于python开发的,要想使用nonebot就必须安装python
python的官网:https://www.python.org/
出来这个页面就说明进对了网站,点击上面的Downloads,选择最新的版本下载即可。
点击Download Python 3.xx.x即可下载
*nonebot对于python版本要求是>=3.9,而有些插件要求python版本>=3.10
下载完成后双击exe以安装python,界面如下:
切记下面的两个选项一定要勾选,不然批处理文件将无法运行!!!
切记下面的两个选项一定要勾选,不然批处理文件将无法运行!!!
切记下面的两个选项一定要勾选,不然批处理文件将无法运行!!!
(遇到过没勾选后一直问批处理文件报错,排查了一下午是python没在环境变量里)
勾选后点击Install Now安装,安装完成后出现:
点击Disable path length limit后关闭窗口
自此python安装完毕。
2.0.自行手动安装nonebot并配置
如果想快速安装noenbot可以直接跳到章节【2.1.一键安装nonebot2以及插件】
详细说明请参考:https://nonebot.dev/docs/quick-start
1.新建项目并安装nonebot脚手架
在一个你喜欢的位置新建一个文件夹,路径不要有中文。例如:
在此文件夹内进入终端输入以下代码即可安装nonebot脚手架
pip install nb-cli
安装完成后即可开始配置nonebot
2.搭建nonebot并运行
终端内输入
nb
就可以看到以下界面,选择“创建一个nonebot项目”
根据以下流程进行:
填写项目名称建议填写你bot的名字,选择OneBot v11协议,回车
选择FastAPI驱动器,回车
安装依赖输入y,回车,创建虚拟环境输入y,回车
进入新生成的文件夹,在终端输入
nb run
即可运行nonebot
此时bot运行在8080端口,想进行修改端口、添加配置、增加插件请看章节3
2.1.一键安装nonebot2以及插件
HoliChan Lite快速部署包下载:
夸克网盘链接:https://pan.quark.cn/s/80649390a560 提取码:AAaY
下载解压后你会看到这写文件:
双击安装插件,启动批处理文件,会自动安装所需要的框架以及插件(建议使用VPN)
(我已经更改为清华镜像源了,但是我在虚拟机下一直无法完整的安装完)
如果出现如下报错,请多试几次,直到不报错为止
等待至命令窗口自动关闭,说明框架及插件安装完成
安装完成后,请前往:https://github.com/Yuri-YuzuChaN/nonebot-plugin-maimaidx
下载静态文件后解压放入 :\HoliChan Lite\maimaidx 中,如下图所示:
退回到HoliChan Lite文件夹,双击启动bot即可启动bot。
现在,nonebot已经搭建完毕并启动(在我实体机里的截图)
3.机器人的使用指南
1.配置文件(.env.prod):
请使用文本编辑器(例如VSC)打开进行修改
讲一下上面的一些建议改的配置:
http_proxy=http://127.0.0.1:7890 #代理配置
SUPERUSERS=[""] #超级用户,在双引号之间填写你的QQ号
NICKNAME=["HoliChan Lite"] #bot 名称
COMMAND_START=[""] #触发器触发前缀
其他的请参照对于插件的GitHub项目进行个性化操作。
2.入口文件(bot.py):
请使用文本编辑器(例如VSC)打开进行修改
建议修改的配置,port的数值即端口号:
if __name__ == "__main__":
nonebot.run(host='127.0.0.1',port=19810)
更改完成之后返回到 配置文件(.env.prod)中修改port数值。
3.修改自带的help插件内容:
在:\HoliChan Lite\src\plugins 中,有个help.py,请使用文本编辑器(例如VSC)打开进行修改:
根据你的喜好自定义修改以上内容。
4.从nonebot商店中安装插件:
访问网址:https://nonebot.dev/store/plugins 选择你想要的插件,点击复制安装命令,例如:
在:\HoliChan Lite 内打开终端,并粘贴刚刚复制的链接等待插件安装完成
进入插件GitHub页面,配置相关文件以及配置,当启动nonebot无异常即完成插件安装
5.插件卸载:
在:\HoliChan Lite 内打开终端,输入nb,看到如下界面:
点击管理bot插件,移除当前项目的插件,输入你想移除插件的名称即可。
6.使用 pyproject.toml 管理插件(不推荐):
使用文本编辑器(例如VSC)打开打开 pyproject.toml 文件
可以看到有一行的插件列表(plugins = ),删除改插件名称则该插件不会被调用。
如果无法使用nb install安装插件,可以使用pip安装插件,并在 pyproject.toml 添加插件的名称
4.添加Bot协议端对接nonebot的数据收发
从go-cqhttp被马叔叔的各种风控而停止维护,到使用llob被马叔叔各种强制下线甚至封禁。
最后还是选择无头NapCat作为nonebot的数据收发的协议端
(强烈不建议使用LiteLoader插件作为NapCat运行环境,建议使用NapCat无头Win x64版本)
项目链接:https://github.com/NapNeko/NapCatQQ/releases/tag/v4.4.4
详细使用教程见该项目的帮助文档,这里只演示如何对接nonebot
进入WebUI,侧边栏 网络配置-WebSocket服务器-添加配置 ,按照以下例子填写,如果你更改了端口号,以你端口号为准。
这样你的QQ消息会在NapCat中接收,并在nonebot2中处理
你的bot就可以使用了!
5.注意事项
建议使用不常用但是等级高的账号运行bot,以免造成更大的损失。
如果nonebot无法打开,请检查插件是否冲突,是否配置完善。