前言
最近发现NapCatQQ的WebUI已经完善了,相当适合新手入门,因此写下这篇文章。
本文只涉及基础的使用方法,可能缺少一些进阶功能。但同时也需要了解以下的基础知识:命令行、HTTP协议、Docker、Python,并非完全零基础。(如果只想使用Webhook进行通知或者使用现有的NoneBot插件,不需要进行Python编程)
所使用到工具有NapCatQQ和NoneBot,前者运行QQ并接入OneBot11等协议,后者是基于Python调用协议实现的框架,遇到问题时可以查看官方文档。(如果只想使用Webhook进行通知,搭建完NapCatQQ即可。)
准备工作
- 一台服务器,不限内网和外网。
- 一个QQ号作为QQ机器人,不建议使用主号。
QQ能够检测到是否使用了插件,你的账号可能出现下列问题:强制下线、限制登陆、冻结。
请各位根据自己的实际情况自行评估决定是否继续尝试使用,作者不对参考本文搭建机器人的任何后果负责。
NapCatQQ
安装
NapCatQQ的安装方法有很多,但既然作为一个服务,我还是推荐使用Docker安装Shell版本的: https://napneko.github.io/guide/boot/Shell#napcat-docker-linux容器化部署
Docker容器中自带NTQQ本体,不必额外安装对应版本的QQ。
此时访问 http://[IP]:6099/webui 即可看到NTQQ的Web页面,可以进行登录和设置,登录密码可以查看日志文件(默认为:napcat),建议登录后修改。
或者也可docker logs napcat查看日志、扫码登录QQ。
扫码登录建议勾选后续无需手机验证。
启用http协议
在WebUI中找到网络配置->新建->HTTP服务器,名称、Host、端口随意,消息格式建议选择Array,实际测试下来是兼容String的,并且可以发送文本图片混合消息,并且强烈建议填写Token防止恶意请求。
启用后可以在接口调试->HTTP中或者其他你用着顺手的API测试工具进行测试。API可参考: https://napcat.apifox.cn/
Token有两种使用方法:
- 在请求头中添加
Authorization: [Token]。
- 在URL中添加
?access_token=[Token]。
使用Webhook进行通知
这里最重要的的接口自然是发送私聊消息和发送群消息啦,可以在接口调试->HTTP中找到对应的API,里面也有构造消息的功能,挺简单的。
这里给一个发送私聊消息的例子:

有些应用会使用shoutrrr作为Webhook的实现,可以参考下述的配置:
有些应用可能本身就支持了OneBot11协议,此时填入http://[IP]:3000、Token和目标QQ号即可。
nginx反代
如果你有域名的话,可以参考下述NapCatQQ的nginx配置示例:
NoneBot
文档 已经很完善了,这里不做赘述吧。