通过 HTTP 或 WebSocket 对酷 Q 的事件进行上报以及接收请求来调用酷 Q 的 DLL 接口,从而可以使用其它语言编写酷 Q 插件。支持 Windows 7 和 Windows Server 2008 及更新版本,也可以运行在 Wine、Docker。
使用方法见 https://cqhttp.cc/docs/。v1.x、v2.x 的旧版本文档在 https://cqhttp.cc/docs/legacy/。
如果访问这个文档非常慢,请尝试国内的地址 http://richardchien.gitee.io/coolq-http-api/docs/。
对于下面这些语言的开发者,如果不想自己处理繁杂的请求和解析操作,可以尝试社区中开发者们已经封装好的的 SDK:
语言 | Web 框架 | 通信方式 | 插件版本 | 地址 | 作者 |
---|---|---|---|---|---|
Python | Quart | HTTP 反向 WebSocket |
4 | richardchien/python-aiocqhttp | richardchien |
Python | Flask | HTTP | 3、4 | richardchien/python-cqhttp | richardchien |
Node.js | WebSocket-Node | WebSocket | 3、4 | momocow/node-cq-websocket | momocow |
Node.js | Koa | HTTP | 3 | richardchien/cqhttp-node-sdk | richardchien |
PHP | 内置 | HTTP | 3、4 | kilingzhang/coolq-php-sdk | kilingzhang |
PHP | Swoole | API: WebSocket Event: 反向 WebSocket |
3、4 | crazywhalecc/CQBot-swoole | crazywhalecc |
Java | 内置 | HTTP | 4 | HyDevelop/PicqBotX | Hykilpikonna |
Java | JFinal | HTTP | 3 | thevsk/cqhttp-java-jfinal-sdk | thevsk |
Java | 内置 | HTTP | 3 | yangjinhe/maintain-robot | yangjinhe |
Go | 内置 | HTTP | 3、4 | catsworld/qq-bot-api | catsworld rikakomoe |
Go | 内置 | HTTP | 3 | juzi5201314/cqhttp-go-sdk | juzi5201314 |
Go | Gorilla WebSocket | WebSocket | 3 | ma6254/go-cqhttp | ma6254 |
QQ 机器人可以用来做很多有意思的事情,下面列出一些基于本插件的应用案例:
项目地址 | 简介 |
---|---|
richardchien/none-bot | 基于酷 Q 的 Python 异步 QQ 机器人框架 |
jqqqqqqqqqq/coolq-telegram-bot | QQ <-> Telegram Bot Framework & Forwarder |
Mother-Ship/cabbageWeb | 基于 Java Web 的 osu! 游戏数据查询机器人 |
Ray-Eldath/Avalon | 多功能、可扩展的 QQ 群机器人 |
bdbai/Kobirt | Ingress 游戏辅助机器人 |
JRT-FOREVER/hub2coolq | GitHub webhook 消息转发至 QQ 群 |
LovelyA72/YeziiBot-v1 | 内置一定实例的 PHP QQ 机器人快速开发框架 |
Kurarion/Bangumi-for-QQ | 用于在 QQ 平台便捷地使用 Bangumi 部分功能(查寻条目、更新条目进度等) |
kj415j45/kjBot | 使用 PHP 编写的轻量级多功能酷 Q 机器人框架 |
rikakomoe/cqhttp-twitter-bot | 自动订阅 Twitter 发送到 QQ |
trustgit/nodebot | 模块化、轻量化的,基于命令的 Node.js QQ 机器人框架 |
XiaoLin0815/QQ2TG | 帮助 QQ 与 Telegram 互联的小程序 |
项目使用 CMake 构建,scripts/generate.ps1
、scripts/build.ps1
、scripts/post_build.ps1
分别给出了生成、构建、构建后的脚本,你可能需要对它们中的一些变量做适当修改以在你的系统中运行。
所有代码文件均为 UTF-8 编码,其中,io.github.richardchien.coolqhttpapi.json
文件将在 scripts/post_build.ps1
脚本中被转换为酷 Q 要求的 GB18030 编码。
项目的依赖项通过 vcpkg 管理,使用 triplet 如下:
set(VCPKG_TARGET_ARCHITECTURE x86)
set(VCPKG_CRT_LINKAGE dynamic)
set(VCPKG_LIBRARY_LINKAGE static)
set(VCPKG_PLATFORM_TOOLSET v141)
你需要在 vcpkg 的 triplets
文件夹中创建一个名为 ***.cmake
的文件(文件名随意,这里假设为 my-triplet.cmake
),内容如上。创建了这个 triplet 之后,你需要将 scripts/generate.ps1
中的 $vcpkg_root
(vcpkg 根目录)和 $vcpkg_triplet
(triplet 名称,例如 my-triplet
)设置成你系统中的相应值(或设置环境变量)。
除此之外,还需要安装如下依赖:
模块 | 依赖项 |
---|---|
cqsdk |
boost-algorithm boost-filesystem libiconv |
cqhttp |
cqsdk 的依赖项nlohmann-json boost-process curl libssh2 boost-property-tree boost-asio openssl spdlog |
安装命令如下:
cd vcpkg
git checkout 44631c9f6ff7eaf8fbe0ebc010918c5bf6407ac2 -- ports # 固定包版本
.\vcpkg --vcpkg-root . --triplet my-triplet install boost-algorithm boost-filesystem libiconv nlohmann-json boost-process curl libssh2 boost-property-tree boost-asio openssl spdlog
本程序使用 GPLv3 许可证,并按其第 7 节添加如下附加条款:
- 本程序的修改版本应以合理的方式标志为和原版本不同的版本(附加条款 c)
总体来说,在当前许可证下,你可以:
- 修改源代码并自己使用,在不重新分发(编译之后的程序)的情况下,没有任何限制
- 不修改源代码并重新分发,对程序收费或免费提供下载,或提供其它服务,此时你需要保证在明显的地方提供本程序的源码地址并保持协议不变(包括附加条款)
- 修改源代码并重新分发,对程序收费或免费提供下载,或提供其它服务,此时你需要注明源码修改的地方、提供源码地址、保持协议不变(可删除全部或部分附加条款)、修改程序的名称
如果使用过程中遇到任何问题、Bug,或有其它意见或建议,欢迎提 issue。
也欢迎加入 QQ 交流群 201865589 来和大家讨论~
如果你觉得本插件挺好用的,不妨进行捐助~你的捐助会让我更加有动力完善插件,感谢你的支持!
这里 列出了捐助者名单,由于一些收款渠道无法知道对方是谁,如有遗漏请联系我修改。