/coolq-http-api

为 酷Q 提供通过 HTTP 或 WebSocket 接收事件和调用 API 的能力

Primary LanguageC++GNU General Public License v3.0GPL-3.0

CQHTTP

License Release Download Count Docker Build Status Docker Pulls QQ 群 Telegram 群

由于本人精力有限,且 酷Q 即将停止服务,本项目已停止维护,也不再会开发其它平台的同类插件,感谢大家一直以来的支持和鼓励!

通过 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/开发框架

对于下面这些语言的开发者,如果不想自己处理繁杂的请求和解析操作,可以尝试社区中开发者们已经封装好的的 SDK 或开发框架:

语言 Web 框架 通信方式 地址 核心作者
Python Quart HTTP,
反向 WebSocket
nonebot/nonebot richardchien
yanyongyu
Python Quart HTTP,
反向 WebSocket
nonebot/aiocqhttp richardchien
Node.js WebSocket-Node WebSocket momocow/node-cq-websocket momocow
Node.js Express HTTP,
WebSocket
koishijs/koishi Shigma
Node.js WebSocket-Node WebSocket CaoMeiYouRen/node-coolq-robot CaoMeiYouRen
Node.js Express HTTP XHMM/lemon-bot XHMM
JavaScript - WebSocket pandolia/js-bot pandolia
Deno 标准库 反向 WebSocket nenojs/deno-cqhttp rikakomoe
PHP Swoole 反向 WebSocket zhamao-robot/zhamao-framework crazywhalecc
PHP - HTTP LovelyA72/YeziiBot-v2 LovelyA72
Java 标准库 HTTP HyDevelop/PicqBotX Hykilpikonna
Java
Kotlin
Groovy
Spring 反向 WebSocket lz1998/Spring-CQ教程 lz1998
Java 标准库 HTTP ForteScarlet/simple-robot-core ForteScarlet
Java JFinal HTTP thevsk/cqhttp-java-jfinal-sdk thevsk
Kotlin 标准库 HTTP JuerGenie/juerobot JuerGenie
Go 标准库 API:
HTTP,
WebSocket
Event:
HTTP,
长轮询,
WebSocket,
反向 WebSocket
catsworld/qq-bot-api catsworld
rikakomoe
C# 标准库 HTTP,
WebSocket
int-and-his-friends/Sisters.WudiLib bleatingsheep
C# 标准库 HTTP,
WebSocket,
反向 WebSocket
frank-bots/cqhttp.Cyan frankli0324
C# Fleck 反向 WebSocket cqbef/cqhttp.WebSocketReverse.NETCore cqbef
PowerShell .NET HTTP cqmoe/cqhttp-powershell-sdk richardchien
Lua lua-http HTTP,
WebSocket
cleoold/cqhttp-lua53-sdk cleoold

应用案例

QQ 机器人可以用来做很多有意思的事情,下面列出一些基于本插件的应用案例:

项目地址 简介
milkice233/efb-qq-slave 基于 ehForwarderBot 框架的 QQ 从端
projectriri/bot-gateway 提供跨聊天平台的通用机器人 API 的机器人消息网关
jqqqqqqqqqq/UnifiedMessageRelay QQ <-> Telegram Bot Framework & Forwarder
Mother-Ship/cabbageWeb 基于 Java Web 的 osu! 游戏数据查询机器人
bdbai/Kobirt Ingress 游戏辅助机器人
JRT-FOREVER/hub2coolq GitHub webhook 消息转发至 QQ 群
Kurarion/Bangumi-for-QQ 用于在 QQ 平台便捷地使用 Bangumi 部分功能(查寻条目、更新条目进度等)
rikakomoe/cqhttp-twitter-bot 自动订阅 Twitter 发送到 QQ
XiaoLin0815/QQ2TG 帮助 QQ 与 Telegram 互联的小程序
spacemeowx2/splatoon2-qqbot 宇宙第一的 Splatoon2 的地图机器人
OYMiss/forward-bot 用 Telegram 和 QQ 好友聊天的转发机器人
mrthanlon/SICNUBOT 专为四川师范大学设计用于审核发布消息用的 QQ 机器人
billjyc/pocket48 监控成员口袋 48 聚聚房间、微博和摩点项目
chinshin/CQBot_hzx 摩点 & 微博 & 口袋 48 机器人(BEJ48-黄子璇)
Ice-Hazymoon/grnd_bot 订阅 RSSHub 更新并推送到 QQ 群
Ray-Eldath/Avalon 多功能、可扩展的群机器人,支持 QQ 和 Discord
Bluefissure/FFXIVBOT 基于 Django Channels 的最终幻想 14 游戏数据查询机器人
Milkitic/Daylily 基于 ASP.NET Core 的跨平台机器人(含快速开发插件框架)
cczu-osa/aki 基于 NoneBot 的多功能 QQ 机器人
cleoold/sendo-erika 基于 cqhttp 和 NoneBot 的,主要通过私聊摇控的 QQ 机器人
duan602728596/qqtools 基于 Nwjs 的 QQ 群工具(摩点、口袋 48、微博提醒、入群欢迎、定时喊话、自定义命令和回复信息等)
Tsuk1ko/CQ-picfinder-robot 基于 Saucenao 的搜图机器人
kasora/dice COC7 骰子 QQ 机器人
shidenggui/tuishujun-for-qq 基于推书君的小说查询推荐 QQ 机器人
JuerGenie/cn.juerwhang.jgbot 基于 JuerGenie/juerobot 的娱乐用 QQ 机器人
drsanwujiang/DiceRobot 一个基于 coolq-http-api 插件的 TRPG 骰子机器人
UltraSoundX/SDFMU-Library 山东第一医科大图书馆预约机器人
Quan666/ELF_RSS 基于 NoneBot 的,交互式 RSS 订阅、转发机器人
lz1998/Spring-CQ-web 基于 SpringCQ 的机器人 web 控制台
suisei-cn/stargazer-qq 一个灵活的 vtuber 发推/直播动态监控机器人
Ninzore/Wecab 网络内容聚合机器人,支持微博、B站、Twitter 等

以上列出的只是实际应用中的一小部分,如果你使用本插件编写了任何好的应用案例或开发框架,也可以通过 issue 或 pull request 添加到这里的列表,共同充实社区。

修改、编译

本项目基于 CoolQ C++ SDK,构建方式和它一致,但由于一些历史原因,需要先手动下载预编译的依赖库,并且使用 Visual Studio 2019MSVC v141 构建(可以只安装 Build Tools,不必安装完整的 IDE)。

首先,克隆或下载本仓库代码:

git clone https://github.com/richardchien/coolq-http-api.git
cd coolq-http-api
git submodule init
git submodule update

然后,从 这里 下载 vcpkg-export-20191012.zip(也就是预编译的依赖),并解压到当前工程目录,确保工程目录结构如下:

coolq-http-api
├── ...
├── src
├── vcpkg-export-20191012
|   ├── installed
|   ├── scripts
│   └── .vcpkg-root
├── CMakeLists.txt
└── ...

最后生成并构建 CMake 项目:

powershell .\scripts\generate.ps1 Debug
powershell .\scripts\build.ps1 Debug

开源许可证、重新分发

本程序使用 GPLv3 许可证,并按其第 7 节添加如下附加条款:

  • 本程序的修改版本应以合理的方式标志为和原版本不同的版本(附加条款 c)

总体来说,在当前许可证下,你可以:

  • 修改源代码并自己使用,在不重新分发(编译之后的程序)的情况下,没有任何限制
  • 不修改源代码并重新分发,对程序收费或免费提供下载,或提供其它服务,此时你需要保证在明显的地方提供本程序的源码地址并保持协议不变(包括附加条款)
  • 修改源代码并重新分发,对程序收费或免费提供下载,或提供其它服务,此时你需要注明源码修改的地方、提供源码地址、保持协议不变(可删除全部或部分附加条款)、修改程序的名称

问题、Bug 反馈、意见和建议

如果使用过程中遇到任何问题、Bug,或有其它意见或建议,欢迎提 issue

也欢迎加入 QQ 交流群 201865589 来和大家讨论~

感谢

  • 感谢 酷Q 项目,为本插件的存在提供了可能
  • 感谢所有 SDK 作者,扩展了本插件的生态,使用户更容易上手
  • 感谢所有捐助者对我的鼓励,这里 列出了捐助者名单(由于一些收款渠道无法知道对方是谁,如有遗漏请联系我修改)
  • 感谢 sjdy521/Mojo-Webqq 项目给本插件的接口设计提供了参考
  • 感谢所有用户反馈的 bug 和建议,使本插件不断完善

相似项目

除了 CQHTTP,还有一些其它相似功能的插件:

除了上述基于 酷Q 平台的插件,还有一些基于其它机器人平台、旨在兼容 CQHTTP 接口的项目,为 QQ 机器人开发社区注入了新的活力: