本文使用的环境
电脑:Windows10
服务器:超频2.1版Debian的随身WiFi,Linux内核5.15
1、搭建环境
本文默认已做好前置的换源与更新软件索引,若未完成,请先参考随身 WiFi 折腾日记(3)
- 安装 Python3
确认Python3版本高于3,8apt install python3python3 --version - 安装 Python3-pip
apt install python3-pip - 安装python-is-python3库
apt install python-is-python3 - 使用 pip3 安装 nb-cli
pip3 install nb-cli
2、使用 nb-cli 部署
-
运行 nb-cli
nb注意:【空格】选中,【回车】确认,选中时的字体颜色是绿色的
-
【创建一个 NoneBot 项目】=-=>【bootstrap(初学者或者用户)】
-
输入项目名称
本文使用的项目文件夹名称是 none-bot
-
选择【FastAPI(FastAPI 驱动器)】 =-=> 选择 【oneBot V11 (OneBot V11 协议)】 =-=>【y】确认安装依赖 =-=>【y】确认创建虚拟环境 =-=> 等待安装完成后,选择【echo】内置插件,回车确认
-
-
输入
nb后,若提示无法找到命令,可尝试一下方法自行添加(未经测试,不确定可行性,nb 命令可以正常使用时请忽略此项)-
查看路径下的所有文件
ls -a -
编辑 .bashrc
vim .bashrc -
在末尾添加以下内容
PATH=$PATH:/home/用户名/.local/bin
此处的用户名是 rootPATH=$PATH:/home/root/.local/bin -
关闭断开SSH连接,再重新连接SSH
-
-
安装完成后使用以下命令启动机器人
cd ./none-botnb run --reload -
确认可以运行后,先停止进程
【Ctrl】+【C】
3、修改配置文件
-
进入项目文件夹
cd ./none-bot -
修改 .env.prod 文件
vim .env.prod -
修改程序运行时的 ip 与端口
注意:IP:127.0.0.1 无法外部访问,在后期使用一些插件时需要进行外部访问,按本文默认的 0.0.0.0 设置即可
具体可参考NoneBot官方文档:https://v2.nonebot.dev/docs/next/appendices/config
将以下内容添加到配置文件中
HOST=0.0.0.0 # 配置 NoneBot 监听的 IP / 主机名 PORT=12345 # 配置 NoneBot 监听的端口,建议设置为10000~60000之间,避免端口冲突 SUPERUSERS=["1234567890","0123456789"] # 配置 NoneBot 超级用户,一般来说填写的是自己的QQ号,多个用户需用 , 隔开
4、安装 go-cqhttp 启动器插件
-
安装插件
NoneBot商店:https://v2.nonebot.dev/store本文以
nonebot_plugin_gocqhttp插件为例,其他插件方式相同,插件的使用方法请查看与插件对应的 GitHub注意:若要做为QQ机器人使用,go-cqhttp 是必要的,无论是以本体程序的形式安装,还是以插件的形式安装
- 方式一:在官方商店复制安装命令直接使用
nb plugin install nonebot-plugin-gocqhttp - 方式二:使用 nb-cli 安装
- 运行
nb - 选择【管理 bot 插件】=-=>【安装插件到当前项目】
- 输入插件名称
nonebot-plugin-gocqhttp
- 运行
- 方式一:在官方商店复制安装命令直接使用
-
重新启动机器人
注意:安装新插件后需重新启动机器人才能生效(待确认)
nb run -
访问 go-cqhttp 页面,登录 QQ
注意:
- 只有以插件形式安装的 go-cqhttp 有 Web 页面,本体程序安装的 go-cqhttp 是没有的
- 只有手表协议能使用扫码登录,其他设备协议仅能使用密码登录
- 目前的QQ登录设备类型可能仅能使用
Android Watch手表协议,扫码登录,其他设备协议可能会出现各种错误,登录不了 - 若想QQ群使用,QQ的群消息不可屏蔽
内网 ip + 端口 + /go-cqhttp,端口是前面配置时设置的端口
192.168.3.222:12345/go-cqhttp
5、虚拟终端的安装与使用
本文虚拟终端名称以
none-bot为例
由于关闭 SSH连接 后会终止程序,而 QQ机器人 需要持续运行,这时就需要挂载虚拟终端,在虚拟终端中运行 QQ机器人,这样在断开连接后程序会继续运行
- 安装虚拟终端 screen
apt install screen - 创建于进入虚拟终端
-
只创建虚拟终端
screen -S 终端名称
screen -S none-bot -
只进入虚拟终端
screen -r 虚拟终端
screen -r none-bot若没有进入虚拟终端,先执行以下命令,再重新执行上面的命令
screen -d 虚拟终端screen -d none-bot -
创建并进入虚拟终端
screen -R 终端名称
screen -R none-bot
-
- 显示虚拟终端列表
screen -ls - 退出虚拟终端,不影响虚拟终端中程序的运行
【Ctrl】+【A】+【D】 - 删除虚拟终端
- 删除虚拟终端需先终止进程
【Ctrl】+【C】 - 从虚拟终端中删除
【Ctrl】+【D】 - 从虚拟终端外删除
screen -S 终端名称 -X quit
screen -S none-bot -X quit
- 删除虚拟终端需先终止进程
6、运行测试QQ机器人
- 运行
nb run - 登录 go-cqhttp ,启动 QQ
若已启动过且没有删除,运行时会自动登录,能正常登录时,此步可忽略 - 使用
echo测试echo是安装时选择的内置插件,是一个简单的复读回显插件,可以用于测试你的机器人是否正常运行/echo + 内容