CoolQ HTTP API 插件
通过 HTTP 对酷 Q 的事件进行上报以及接收 HTTP 请求来调用酷 Q 的 DLL 接口,从而可以使用其它语言编写酷 Q 插件。现已支持 WebSocket。
使用方法
使用方法见 https://cqhttp.cc/docs/。v1.x、v2.x 的旧版本文档在 https://cqhttp.cc/docs/legacy/。
如果访问这个文档非常慢,请尝试国内的地址 http://richardchien.gitee.io/coolq-http-api/docs/。
SDK
对于下面这些语言的开发者,如果不想自己处理繁杂的请求和解析操作,可以尝试社区中开发者们已经封装好的的 SDK:
语言 | 地址 | 作者 | 备注 |
---|---|---|---|
PHP | https://github.com/slight-sky/coolq-sdk-php | slight-sky | - |
Python (HTTP) | https://github.com/richardchien/cqhttp-python-sdk | richardchien | 已兼容 v3.x |
Node.js (HTTP) | https://github.com/richardchien/cqhttp-node-sdk | richardchien | 已兼容 v3.x |
Node.js (WebSocket) | https://github.com/momocow/node-cq-websocket | momocow | 已兼容 v3.x |
Java (HTTP, WebSocket) | https://github.com/yangjinhe/maintain-robot | yangjinhe | 已兼容 v3.x |
应用案例
QQ 机器人可以用来做很多有意思的事情,下面列出一些基于本插件的应用案例:
项目地址 | 简介 |
---|---|
CCZU-DEV/xiaokai-bot | 用 Python 编写的即时聊天平台机器人,通过适配器模式支持使用多种 bot 框架/平台作为消息源(目前支持 Mojo-Webqq、Mojo-Weixin、CoolQ HTTP API),支持自定义插件 |
jqqqqqqqqqq/coolq-telegram-bot | QQ <-> Telegram Bot Framework & Forwarder |
Arsenolite/cabbageWeb | 基于 Java Web 的 osu! 游戏数据查询机器人 |
Ray-Eldath/Avalon | 多功能、可扩展的 QQ 群机器人 |
bdbai/Kobirt | Ingress 游戏辅助机器人 |
修改、编译
整个项目目录是一个 VS 2017 工程,使用了 VS 2017 (v141) 工具集,直接打开 coolq-http-api.sln
即可修改。
除了 README.md
为 UTF-8 编码,其它代码文件和 io.github.richardchien.coolqhttpapi.json
文件均为 GBK 编码(VS 创建新文件默认使用 ANSI 编码,中文环境下即 GBK)。
项目的依赖项通过 vcpkg 管理,使用 triplet 如下:
set(VCPKG_TARGET_ARCHITECTURE x86)
set(VCPKG_CRT_LINKAGE static)
set(VCPKG_LIBRARY_LINKAGE static)
set(VCPKG_PLATFORM_TOOLSET v141)
由于 triplet 的名字是在 VS 工程文件里写死的,所以建议将 triplet 命名为 x86-windows-static.cmake
。要编译项目的话,需要先安装这些依赖:boost
、cpprestsdk
、curl
、nlohmann-json
、openssl
、libiconv
。
注意,依赖中的 cpprestsdk
,需要安装 2.9.0 版本,因为更新版本在一些版本的 Windows Server 上不能正常工作,要安装 2.9.0 版,需要先进 vcpkg 根目录,运行:
git checkout 2e39b6195fbc14a655474b019234890df94a2ed0 -- ports/cpprestsdk
然后再安装 cpprestsdk
。
开源许可证、重新分发
本程序使用 GPLv3 许可证,并按其第 7 节添加如下附加条款:
- 本程序的修改版本应以合理的方式标志为和原版本不同的版本(附加条款 c)
总体来说,在当前许可证下,你可以:
- 修改源代码并自己使用,在不重新分发(编译之后的程序)的情况下,没有任何限制
- 不修改源代码并重新分发,对程序收费或免费提供下载,或提供其它服务,此时你需要保证在明显的地方提供本程序的源码地址并保持协议不变(包括附加条款)
- 修改源代码并重新分发,对程序收费或免费提供下载,或提供其它服务,此时你需要注明源码修改的地方、提供源码地址、保持协议不变(可删除全部或部分附加条款)、修改程序的名称
问题、Bug 反馈、意见和建议
如果使用过程中遇到任何问题、Bug,或有其它意见或建议,欢迎提 issue。
也欢迎加入 QQ 交流群 201865589 来和大家讨论~
相似项目
捐助
如果你觉得本插件挺好用的,不妨进行捐助~你的捐助会让我更加有动力完善插件,感谢你的支持!
这里 列出了捐助者名单,由于一些收款渠道无法知道对方是谁,如有遗漏请联系我修改。