目前,很多想要开发一个 QQ机器人 ,最好的就是申请 QQ 官方的开发平台,但是,需要企业资质。
现在很多第三方都已经被封了,比如
go-cqhttpShamrock
NapCatQQ
这个的原理是,登陆 linux 的 QQ 客户端,然后通过 NapCatQQ 做一个中间信息传递,把消息传递给你写的信息处理客户端中。
环境 ubuntu。
使用的方法是命令行启动。

复制命令行,会下载一个 docker 镜像。
1 | root@iZj6c1u8nkwmm3oqxczwozZ:~# docker images -a |
上面两个镜像哪个都行。
上面的命令执行完毕后,会主动启动一个镜像,类似
1 | root@iZj6c1u8nkwmm3oqxczwozZ:~# docker ps -a |
ps: 我修改了网络桥接模式,所以,这里显示和你有出入。
另外,我现在开始说一些常备的命令。
关闭容器运行
1 | docker stop napcat |
删除结束的容器
1 | docker rm napcat |
启动 QQ 或者新的 QQ
1 | docker run -d -e ACCOUNT=<QQ号> -e WS_ENABLE=true -e NAPCAT_GID=$(id -g) -e NAPCAT_UID=$(id -u) --network host --name napcat --restart=always mlikiowa/napcat-docker:latest |
这里用的网络模式是 host 模式,因为,我想把对接脚本放在宿主机上。
查看 QQ 码
这是扫码登录。
1 | docker logs napcat |
进行扫码登录。
1 | exit |
退出容器。
设置
默认对外是 6099 端口,所以,你的服务器也要开启这个端口的访问。
使用 docker exec -it napcat /bin/bash 进入运行的容器中。
在 /app/napcat/config 中 webui.json 记录了登录用的 token。
访问 http://IP:6099/webui/login.html,输入 token 就进入了配置界面。
每次重新启动 docker ,这个 token 都会变。

红框要设置一下,这里就是接收事件的 url。
我把对接脚本放在了物理机上,举一个简单的例子。
1 | # main.py |