对接 NoneBot2
NoneBot2 是基于 Python 构建的现代化异步跨平台机器人开发框架。本文介绍如何通过 OneBot v11 适配器与 PicoOnebot 进行对接。
1. 安装 NoneBot2 与 OneBot 适配器
在 NoneBot2 项目根目录下安装 OneBot v11 适配器驱动:
bash
nb adapter install nonebot-adapter-onebotbash
poetry add nonebot-adapter-onebotbash
pip install nonebot-adapter-onebot2. 配置 NoneBot2 (.env 或 .env.prod)
NoneBot2 作为反向 WebSocket 服务端运行。打开项目的 .env.prod 文件,确保配置了 WebSocket Reverse 驱动与监听端口:
ini
DRIVER=~fastapi+~httpx+~websockets
HOST=0.0.0.0
PORT=8080
# 可选:设置连接鉴权 Token
# ONEBOT_ACCESS_TOKEN="your_secure_token"在 bot.py 中注册 OneBot v11 适配器:
python
import nonebot
from nonebot.adapters.onebot.v11 import Adapter as OneBotV11Adapter
nonebot.init()
driver = nonebot.get_driver()
driver.register_adapter(OneBotV11Adapter)
nonebot.load_from_toml("pyproject.toml")
if __name__ == "__main__":
nonebot.run()3. 在 PicoOnebot 中配置反向 WebSocket
- 登录 PicoOnebot Web 控制台(
http://<IP>:6099); - 进入「网络配置」面板,点击「添加连接」;
- 选择协议为 反向 WebSocket;
- URL 填写 NoneBot2 的 OneBot v11 路径:text
ws://<NoneBot所在IP>:8080/onebot/v11/ws若两者部署在同一台宿主机且使用了 Docker 容器网络,请填写宿主机局域网 IP 或 Docker 网关地址(如
172.17.0.1),避免直接使用127.0.0.1。 - Access Token:若在 NoneBot2 中配置了 Token,请在此填写相同值;
- 保存配置。
4. 验证连接
- 启动 NoneBot2 实例;
- 观察 NoneBot2 终端控制台输出,出现类似如下日志即表示对接成功:text
[INFO] nonebot | OneBot V11 | Bot <QQ号> connected - 发送群聊或私聊消息,验证插件响应是否正常。
