QQ 机器人
使用 NapCat 协议框架搭建非官方 QQ 机器人
前言
相比官方机器人(需要审核、权限受限),使用 NapCat 这类第三方协议框架可以让普通 QQ 账号直接作为机器人,功能更自由、接入门槛更低。
但代价是:这类框架模拟正常客户端行为,属于非官方手段,存在被腾讯封号的风险。
所以在正式部署之前,有必要先做好「养号」工作。
风险说明
注意
使用 NapCat / LLOneBot / Lagrange 等协议框架,违反了 QQ 用户协议,随时可能遭遇:
- 账号被限制登录
- 账号被永久封禁
建议使用小号操作,不要用绑定了重要信息的主账号。
第一步:养号
新注册或长期未活跃的 QQ 号直接挂机器人,非常容易被风控。养号的目的是让账号看起来「像正常人在用」。
养号方法
- 时间:至少养 1~2 周,越久越好
- 正常聊天:加几个活跃群,偶尔发言,不要只潜水
- 登录行为:用手机 QQ 正常登录,避免频繁异地登录
- 不要急着挂脚本:养号期间不要运行任何自动化程序
判断养号是否到位
- 账号可以正常加群、发消息,没有频繁弹出验证码
- 登录时不频繁触发设备锁或安全验证
第二步:安装 NapCat
NapCat 是目前比较流行的 QQ 协议框架,基于 NTQQ 内核,支持 OneBot 11 协议,可以配合 n8n、koishi、nonebot2 等框架使用。
安装方式
NapCat 提供 Docker 和本地两种部署方式,以 Docker 为例:
bash
docker run -d \
--name napcat \
-e ACCOUNT=你的QQ号 \
-p 3000:3000 \
mlikiowa/napcat-docker:latest启动后访问 http://localhost:3000 进行扫码登录。
配置 OneBot WebSocket
登录成功后,在 NapCat 的网页控制台中开启 正向 WebSocket(或反向 WebSocket),端口默认 6700,后续机器人框架通过这个接口与 QQ 通信。
第三步:接入机器人框架
NapCat 实现了 OneBot 11 协议,可以对接多种框架:
| 框架 | 语言 | 特点 |
|---|---|---|
| NoneBot2 | Python | 插件生态丰富,适合复杂业务 |
| Koishi | TypeScript | 可视化配置,上手简单 |
| n8n | - | 无代码工作流,适合简单自动化 |
以 NoneBot2 为例,连接 NapCat:
python
# .env
DRIVER=~fastapi+~websockets
ONEBOT_WS_URLS=["ws://localhost:6700"]降低封号风险的建议
- 控制消息发送频率,不要每秒发多条消息
- 避免大量加群、批量添加好友
- 机器人只在固定几个群活动,不乱发广告
- 定期「休息」,模拟人类使用习惯(凌晨少活跃)
- 出现验证码时及时人工处理,不要忽略