Ubuntu安装QQ机器人
看了看现在QQ机器人似乎只有酷Q机器人有Docker可以在linux上运行了
那就k开始装酷Q机器人,资源占用也不是很大,大概占用180M内存吧
安装酷Q HTTP
首先安装好docker
![](data:image/png;base64,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)
酷Q官网提供了docker
COOLQ Docker 2.0
但是我是打算通过HTTP
进行一些功能开发的,于是选择了大佬做的带HTTP
插件的 CQHTTP Docker
首先pull
镜像,我觉得下载的比较慢,挂了一个screen
慢慢下
docker pull richardchien/cqhttp:latest
下载完成后启动容器进行测试
docker run -ti --rm --name coolq \
-v /home/coolq:/home/user/coolq \ # 将宿主目录挂载到容器内用于持久化 酷Q 的程序文件
-p 9000:9000 \ # noVNC 端口,用于从浏览器控制 酷Q
-p 5700:5700 \ # HTTP API 插件开放的端口
-e COOLQ_ACCOUNT=123456 \ # 要登录的 QQ 账号,可选但建议填
-e CQHTTP_POST_URL=http://example.com:8080 \ # 事件上报地址
-e VNC_PASSWD=111111111 \ # noVnc密码
-e CQHTTP_SERVE_DATA_FILES=yes \ # 允许通过 HTTP 接口访问 酷Q 数据文件
richardchien/cqhttp:latest
此时可以登录noVNC
查看并且登录了
![](/static/image/2023-04-14-20-49-49.6b0070be.png)
如果测试没有问题的话,就讲启动参数中的--rm
改为-d
就可以存储运行了
docker start coolq
docker stop coolq
supervisord开机自启
由于我有一个定时任务多久开关机一次,但是coolq
不会开机自启动,选择supervisord
进行开机自启
注意autorestart=false
,由于启动coolq
后会exit(0)
,所以supervisord
会不断尝试重启,我们只需要他启动一次就好
[program:coolq]
command=docker start coolq
stderr_logfile=/var/log/supervisor/error_coolq.log
stdout_logfile=/var/log/supervisor/coolq.log
directory=/home
autostart=true
user=docker
autorestart=false
配置信息
账号的配置文件
注意上报地址不能为127.0.0.1
,因为容器内有自己的127.0.0.1
,一般情况下可使用机器ip
作为上报地址
[123456789]
use_ws = false
use_ws_reverse = false
serve_data_files = yes
access_token = 11111111111111111
log_level = error
post_url = http://example.com:8080
secret = 11111111111111111
show_log_console = false
event_filter = filter.json
过滤上报HTTP配置文件
- 私聊消息
- 非匿名发送的@机器人的群消息
- 非匿名的‘出来’群消息
- 加好友消息、加群邀请、加群请求
{
".or": [
{
"message_type": "private"
},
{
"message_type": "group",
"anonymous": {
".eq": null
},
"raw_message": {
".regex": "CQ:at,qq=2450184313|^出来$"
}
},
{
"post_type": "request"
}
]
}
防火墙
由于Docker
直接更改iptables
且优先级比ufw
高,不能通过ufw
控制其监听端口的开放关闭,需要手动配置Docker
信息
# vim /etc/default/ufw
DEFAULT_FORWARD_POLICY="ACCEPT"
# vim /etc/ufw/before.rules
# *filter前面添加下面内容
# 172.17.0.0/16 为docker网桥地址,可能不同
*nat
:POSTROUTING ACCEPT [0:0]
-A POSTROUTING ! -o docker0 -s 172.17.0.0/16 -j MASQUERADE
COMMIT
# vim /etc/default/docker
# 添加此条配置信息
DOCKER_OPTS="--dns 8.8.8.8 --dns 8.8.4.4 --iptables=false"
# vim /etc/docker/daemon.json
# 没有此文件则创建
{
"iptables": false
}
重启daemon
、docker
、ufw
systemctl daemon-reload && systemctl restart docker && ufw reload