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
}

重启daemondockerufw

systemctl daemon-reload && systemctl restart docker && ufw reload

Ubuntu16.04安装QQ机器人的更多相关文章

  1. [教程]Ubuntu16.04安装QQ,Tim,微信,百度网盘等

    [教程]Ubuntu16.04安装QQ,Tim,微信,百度网盘等 本文参考这篇blog step 1 先安装 deep-win环境. 戳这里下载压缩包 解压后在文件夹里打开终端,输入 sudo sh ...

  2. Ubuntu16.04安装QQ

    说明:一开始,我在Ubuntu 16.04下安装的QQ版本是Wineqq2013SP6-20140102-Longene,但后来发现这个版本QQ在linux下问题很多,比如不能用键盘输入密码,QQ表情 ...

  3. Ubuntu16.04安装QQ(图文说明)

    导读 最近,因为工作需要,我安装了Ubuntu16.04,然而有好多不便,工作上的事情大多需要QQ联系,然而在Ubuntu上的WebQQ很是不好用,于是在网上搜索了好多个linux版本的QQ,然而不是 ...

  4. Ubuntu16.04安装TensorFlow及Mnist训练

    版权声明:本文为博主原创文章,欢迎转载,并请注明出处.联系方式:460356155@qq.com TensorFlow是Google开发的开源的深度学习框架,也是当前使用最广泛的深度学习框架. 一.安 ...

  5. Ubuntu 16.04安装QQ国际版图文详细教程

            因工作需要,我安装了Ubuntu 16.04,但是工作上的很多事情需要QQ联系,然而在Ubuntu上的WebQQ很是不好用,于是在网上搜索了好多个Linux版本的QQ,然而不是功能不全 ...

  6. ubuntu16.04安装jdk,tomcat

    ubuntu16.04安装jdk,tomcat 最近装了一下tomcat,网上的教程很多,我也试了很多次,但是有一些教程关于tomcat配置是错误的,让我走上了歧途.差点重装系统,还好王总及时出手帮助 ...

  7. Ubuntu16.04 安装openjdk-7-jdk

    Ubuntu16.04 安装openjdk-7-jdk sudo apt-get install openjdk-7-jre 或者sudo apt-get install openjdk-7-jdk ...

  8. Ubuntu14.04 安装QQ国际版wine-qqintl

    Ubuntu14.04安装qq国际版方式: 首先下载,链接为:  https://pan.baidu.com/s/1boPitVD 密码:jp1j 也可去Ubuntu中文的Kylin(优麒麟)官网下载 ...

  9. Ubuntu16.04安装GTK3主题:OSX-Arc

    Ubuntu16.04安装GTK3主题:OSX-Arc GTK3主题:OSX-Arc描述: 前几个月,Gnome3.20升3.22的时候,出现了大量主题崩溃的现象,其中包括Arc.Flatabulou ...

随机推荐

  1. c#数据库解析

    引言工作需要将数十万条文本数据解析存入Mysql数据库中,代码使用C#实现,存储效率还可以,以下是一些主要代码的说明. txtdataToMysql 项目描述:解析文本文件,该文件使用爬虫爬下的数十万 ...

  2. [BZOJ 1412][ZJOI 2009] 狼和羊的故事

    题目大意 有一个 (n times m) 的网格,每一个格子上是羊.狼.空地中的一种,羊和狼可以走上空地.现要在格子边上建立围栏,求把狼羊分离的最少围栏数. (1 leqslant n, ; m le ...

  3. ES6中的数组

    数组是js中很重要的数据类型,虽然在 ES5 中,关于数组的方法和属性很多.但为了更加简洁.高效的操作数组,ES6 中又在数组原型上和实例上新增了一些方法. 一.Array方法 1.1 Array.f ...

  4. Python-控制语句及函数

    if-elif-else for while 函数 函数定义 空函数 pass 返回多个值 可变参数 * 关键字参数 ** 控制语句 if - elif - else 比如,输入用户年龄,根据年龄打印 ...

  5. LNMP环境搭建--Centos7

    LNMP环境搭建--Centos7 | 刘鹏--博客 盒子 盒子 博客 分类 搜索 文章目录 在Centos7环境安装LAMP环境,备忘哈哈. 准备 首先去官网下载php,nginx 编译安装php ...

  6. 5G时代,会有什么奇葩事儿?

    ​ 在3GPP RAN第187次会议关于5G短码方案的讨论中,中国华为推荐的PolarCode方案获得认可,成为5G控制信道eMBB场景编码的最终解决方案.坦白讲,笔者在读这个新闻的时候,手里备着一本 ...

  7. objectarx 得到有宽度的多段的轮廓

    使用到的命令是:_.wmfout和_.import以及PEdit步骤:1.先通过_.wmfout和_.import得到轮廓线,得到的轮廓线是一个块.方法如下: //ssname:选择的有宽度的多段线 ...

  8. 06.深入浅出 Spring Boot - 数据访问之Druid

    代码下载:https://github.com/Jackson0714/study-spring-boot.git 一.Druid是什么? 1.Druid是数据库连接池,功能.性能.扩展性方面都算不错 ...

  9. nginx设置目录浏览及中文乱码问题解决

    在Nginx下默认是不允许列出整个目录的.如需此功能, 先打开nginx.conf文件,在location server 或 http段中加入 autoindex on;另外两个参数最好也加上去: a ...

  10. HTML5 Canvas(基础知识)

    最近笔者在学习HTML5的新元素<canvas>,会分享一些基础知识以及小例子,最终使用<canvas>实现一个绘制简单图表(条形图.线图或者饼图)的js库,会更新一到两篇文章 ...