目前,很多想要开发一个 QQ机器人
,最好的就是申请 QQ
官方的开发平台,但是,需要企业资质。
现在很多第三方都已经被封了,比如
go-cqhttp
Shamrock
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 |