Ubuntu16.04安装QQ机器人
时间:2022-07-24
本文章向大家介绍Ubuntu16.04安装QQ机器人,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
Ubuntu安装QQ机器人
看了看现在QQ机器人似乎只有酷Q机器人有Docker可以在linux上运行了 那就k开始装酷Q机器人,资源占用也不是很大,大概占用180M内存吧
安装酷Q HTTP
首先安装好docker
酷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
查看并且登录了
如果测试没有问题的话,就讲启动参数中的--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
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Android :okhttp+Springmvc文件解析器实现android向服务器上传照片
- 纯小白都能看懂的《单个神经元》、《随机梯度下降》、《逻辑与》
- 使用Flutter开发的抖音国际版实例代码详解
- vue-cropper裁剪图片
- Android 开发使用PopupWindow实现弹出警告框的复用类示例
- python初学者笔记—关于 random 和 time 模块
- Android自定义日历效果
- Android 开发使用PopupWindow实现加载等待界面功能示例
- Android自定义控件实现圆形进度CircleProgressBar
- Android Studio如何查看源码并调试的方法步骤
- Flutter中mixin的使用详解
- android实现圆形渐变进度条
- 如何在Android Studio下进行NDK开发
- flutter中build.gradle仓库的配置(解决外网下载速度过慢失败的问题)
- Android studio 实现随机位置画10个随机大小的五角星的代码