NoneBot2实现qq机器人

828 阅读2分钟

创建NoneBot2

NoneBot2 是一个现代、跨平台、可扩展的 Python 聊天机器人框架,它基于 Python 的类型注解和异步特性,能够为你的需求实现提供便捷灵活的支持。

需要注意的是,NoneBot2 仅支持 Python 3.8 以上版本

官网地址:v2.nonebot.dev/

1.安装 pipx

python3 -m pip install --user pipx
python3 -m pipx ensurepath

2.安装脚手架

重新打开个窗口

pipx install nb-cli

安装完成后,你可以在命令行使用 nb 命令来使用脚手架。

找个存放目录

nb create

image-20230402154208335

image-20230402154459279

image-20230402154541486

空格选中后回车

安装完成

image-20230402154635380

进入创建的文件夹

cd qqbot

ll -a 查看所有文件

image-20230402154802869

cat .env

image-20230402154732460

默认是使用dev,配置dev

vi .env.dev

添加

HOST=127.0.0.1  # 配置 NoneBot 监听的 IP/主机名
PORT=8877  # 配置 NoneBot 监听的端口 
DEBUG=true  # 开启 debug 模式 **请勿在生产环境开启**
SUPERUSERS=["123456789", "987654321"]  # 配置 NoneBot 超级用户
NICKNAME=["awesome", "bot"]  # 配置机器人的昵称
COMMAND_START='["/"]'   # 配置命令起始字符

nb run --reload 启动机器人

gocqhttp

github.com/Mrs4s/go-cq…

下载对应的文件后上传解压

tar -zxvf go-cqhttp_linux_amd64.tar.gz

1../go-cqhttp,选3反向通信

image-20230402155636381

  1. vi config.yml配置代理

    删除上面的qq号,配置反向代理地址:ws://127.0.0.1:8877/onebot/v11/ws/

    image-20230402163739214

3.本机使用gocqhttp登录

image-20230402161531608

修改config.yml后启动bat生成device.json

image-20230402161742773

修改协议扫码登录protocol为2,重新双击bat,使用手机扫码登录成功。

image-20230402162111224

4.上传本机启动登录成功的gocqhttp中的session.tokendevice.json到服务器

image-20230402162332482

5.启动gocqhttp,成功连接

用另一个qq号和机器人qq号私聊 /echo ,会自动回复

image-20230402163015121

保持后台运行

断开ssh连接程序会自动结束,使用如下命令不停止

 nohup nb run --reload &
nohup ./go-cqhttp &

image-20230402163337476

image-20230402163502592

下面的就是pid,有其他问题就kill

现在关闭连接后也能自动回复了。