0

酷 Q 使用笔记

 1 year ago
source link: https://www.yunyoujun.cn/posts/coolq-use-note/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

2020-07-19 因为 CoolQ 的繁琐和诸多限制,我已经弃用。所以该篇文章内容不会再更新。 如果你有兴趣,可以尝试使用 mirai (一个跨平台且轻量的 QQ 机器人库)。 此外,我使用 JS/TS 编写了一个基于 mirai 的机器人框架 el-bot,使其更易于使用与扩展,正处于持续开发维护中。 More Info: el-bot & mirai-ts 制作笔记

Intro #

Webqq 早已于 2019-01-01 起正式停止服务。

那么以此为基础的 qq 机器人便全部失效。以前折腾的也已作废。

因此,所剩的尚跨可靠的选择似乎只有 酷 Q 还说得过去。

本文便用于记录配置过程中的坑。

Progress #

想要长久在线,自然是要挂在服务器上的。 那么 Linux 便是跨不过去的坎。

想让 酷 Q 在 Linux 上运行则推荐使用 docker

[发布]酷 Q on Docker

当前版本为 3.1

Install Docker #

Linux 不同主流发行版本在官方文档中都有详细的安装过程。

Get Docker CE

CentOS:

yum install docker
# 启动 Docker
systemctl start docker

但 Deepin (即深度) 基于 Debian 进行了定制,本以为按照 Debian 进行安装就可以,但没能成功。 无法找到 Deepin 的安装版本。

深度系统如何安装 docker?

尝试了文中的做法也没有成功。 问题出在 sudo add-apt-repository

尝试修改了 /etc/lsb-release,竟然成功了。

; DISTRIB_ID=Deepin
DISTRIB_ID=Debian
DISTRIB_RELEASE="15.10"
DISTRIB_DESCRIPTION="Deepin 15.10"
; DISTRIB_CODENAME=stable
DISTRIB_CODENAME=wheezy

等安装好后,为防止以后系统更新等 Bug,又改回了 Deepin/stable

安装 酷 Q #

下载 酷 Q Docker 镜像 #

docker pull coolq/wine-coolq

在任意目录创建一个空文件夹,用于持久化存放 酷 Q 数据:

mkdir /root/coolq-data # 任意路径均可

运行 酷 Q 镜像

docker run --name=coolq --rm -p 8080:9000 -v /root/coolq-data:/home/user/coolq -e VNC_PASSWD=12345678 -e COOLQ_ACCOUNT=123456 coolq/wine-coolq

Example:

docker run --name=coolq --rm -p 8080:9000 -v /root/coolq-data:/home/yunyou/coolq -e VNC_PASSWD=yunyou -e COOLQ_ACCOUNT=xiaoai coolq/wine-coolq
docker run --name=coolq -d -p 8080:9000 -v /root/coolq-data:/home/yunyou/coolq -e VNC_PASSWD=yunyou -e COOLQ_ACCOUNT=xiaoai coolq/wine-coolq

后台服务 #

--rm 替换为 -d

docker run --name=coolq -d -p 8080:9000 -v /root/coolq-data:/home/user/coolq -e VNC_PASSWD=12345678 -e COOLQ_ACCOUNT=123456 coolq/wine-coolq
ArgumentExample
远程监听端口8080
数据存放位置/root/coolq-data
远程访问密码12345678
机器人帐号123456
docker logs coolq

启动/停止服务

docker start coolq
docker stop coolq

安装 CoolQ HTTP API 插件 #

docker pull richardchien/cqhttp:latest

或者 手动安装

Run Coolq #

docker run -ti --rm --name cqhttp-test \
            -v $(pwd)/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 CQHTTP_SERVE_DATA_FILES=yes \  # 允许通过 HTTP 接口访问 酷Q 数据文件
            richardchien/cqhttp:latest

进入容器内部,添加需改环境变量

docker exec -ti 容器ID/容器名  /bin/bash

安装 NoneBot #

因为自己 C++ 并不怎么熟悉,所以打算使用 api 插件,来使用 Node.js/Python 来开发。

随后发现了 NoneBot 这样封装好的框架,使用 Python 。

参见文档进行安装。

# pip 为 python 的包管理工具,请提前安装好 Python , pip 。
# More Info: https://yunyoujun.cn/posts/linux-learn-note/
pip install nonebot

使用参见 NoneBot 文档

GitHub Webhook #

WebHooks-自动部署

FAQ #

端口号未开启 #

T^T 这个问题找了我好久

iptables -I INPUT 4 -p tcp -m state --state NEW -m tcp --dport 8080 -j ACCEPT
service iptables save #保存iptables规则

Example #

GitHub: xiao-ai


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK