Awesome
<p align="center"> <a href="https://ishkong.github.io/go-cqhttp-docs/"> <img src="winres/icon.png" width="200" height="200" alt="go-cqhttp"> </a> </p> <div align="center">go-cqhttp
✨ 基于 Mirai 以及 MiraiGo 的 OneBot Golang 原生实现 ✨
</div> <p align="center"> <a href="https://raw.githubusercontent.com/Mrs4s/go-cqhttp/master/LICENSE"> <img src="https://img.shields.io/github/license/Mrs4s/go-cqhttp" alt="license"> </a> <a href="https://github.com/Mrs4s/go-cqhttp/releases"> <img src="https://img.shields.io/github/v/release/Mrs4s/go-cqhttp?color=blueviolet&include_prereleases" alt="release"> </a> <a href="https://app.fossa.com/projects/git%2Bgithub.com%2FMrs4s%2Fgo-cqhttp?ref=badge_shield" alt="FOSSA Status"><img src="https://app.fossa.com/api/projects/git%2Bgithub.com%2FMrs4s%2Fgo-cqhttp.svg?type=shield"/></a> <a href="https://github.com/howmanybots/onebot/blob/master/README.md"> <img src="https://img.shields.io/badge/OneBot-v11-blue?style=flat&logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABABAMAAABYR2ztAAAAIVBMVEUAAAAAAAADAwMHBwceHh4UFBQNDQ0ZGRkoKCgvLy8iIiLWSdWYAAAAAXRSTlMAQObYZgAAAQVJREFUSMftlM0RgjAQhV+0ATYK6i1Xb+iMd0qgBEqgBEuwBOxU2QDKsjvojQPvkJ/ZL5sXkgWrFirK4MibYUdE3OR2nEpuKz1/q8CdNxNQgthZCXYVLjyoDQftaKuniHHWRnPh2GCUetR2/9HsMAXyUT4/3UHwtQT2AggSCGKeSAsFnxBIOuAggdh3AKTL7pDuCyABcMb0aQP7aM4AnAbc/wHwA5D2wDHTTe56gIIOUA/4YYV2e1sg713PXdZJAuncdZMAGkAukU9OAn40O849+0ornPwT93rphWF0mgAbauUrEOthlX8Zu7P5A6kZyKCJy75hhw1Mgr9RAUvX7A3csGqZegEdniCx30c3agAAAABJRU5ErkJggg==" alt="cqhttp"> </a> <a href="https://github.com/Mrs4s/go-cqhttp/actions"> <img src="https://github.com/Mrs4s/go-cqhttp/workflows/CI/badge.svg" alt="action"> </a> <a href="https://goreportcard.com/report/github.com/Mrs4s/go-cqhttp"> <img src="https://goreportcard.com/badge/github.com/Mrs4s/go-cqhttp" alt="GoReportCard"> </a> </p> <p align="center"> <a href="https://docs.go-cqhttp.org/">文档</a> · <a href="https://github.com/Mrs4s/go-cqhttp/releases">下载</a> · <a href="https://docs.go-cqhttp.org/guide/quick_start.html">开始使用</a> · <a href="https://github.com/Mrs4s/go-cqhttp/blob/master/CONTRIBUTING.md">参与贡献</a> </p>重要信息
由于QQ官方针对协议库的围追堵截, 不断更新加密方案, 我们已无力继续维护此项目. 建议Bot开发者尽快迁移至无头NTQQ项目 -> https://github.com/Mrs4s/go-cqhttp/issues/2471
兼容性
go-cqhttp 兼容 OneBot-v11 绝大多数内容,并在其基础上做了一些扩展,详情请看 go-cqhttp 的文档。
接口
- HTTP API
- 反向 HTTP POST
- 正向 WebSocket
- 反向 WebSocket
拓展支持
拓展 API 可前往 文档 查看
- HTTP POST 多点上报
- 反向 WS 多点连接
- 修改群名
- 消息撤回事件
- 解析/发送 回复消息
- 解析/发送 合并转发
- 使用代理请求网络图片
实现
<details> <summary>已实现 CQ 码</summary>符合 OneBot 标准的 CQ 码
CQ 码 | 功能 |
---|---|
[CQ:face] | QQ 表情 |
[CQ:record] | 语音 |
[CQ:video] | 短视频 |
[CQ:at] | @某人 |
[CQ:share] | 链接分享 |
[CQ:music] | 音乐分享 音乐自定义分享 |
[CQ:reply] | 回复 |
[CQ:forward] | 合并转发 |
[CQ:node] | 合并转发节点 |
[CQ:xml] | XML 消息 |
[CQ:json] | JSON 消息 |
拓展 CQ 码及与 OneBot 标准有略微差异的 CQ 码
拓展 CQ 码 | 功能 |
---|---|
[CQ:image] | 图片 |
[CQ:redbag] | 红包 |
[CQ:poke] | 戳一戳 |
[CQ:node] | 合并转发消息节点 |
[CQ:cardimage] | 一种 xml 的图片消息(装逼大图) |
[CQ:tts] | 文本转语音 |
符合 OneBot 标准的 API
API | 功能 |
---|---|
/send_private_msg | 发送私聊消息 |
/send_group_msg | 发送群消息 |
/send_msg | 发送消息 |
/delete_msg | 撤回信息 |
/set_group_kick | 群组踢人 |
/set_group_ban | 群组单人禁言 |
/set_group_whole_ban | 群组全员禁言 |
/set_group_admin | 群组设置管理员 |
/set_group_card | 设置群名片(群备注) |
/set_group_name | 设置群名 |
/set_group_leave | 退出群组 |
/set_group_special_title | 设置群组专属头衔 |
/set_friend_add_request | 处理加好友请求 |
/set_group_add_request | 处理加群请求/邀请 |
/get_login_info | 获取登录号信息 |
/get_stranger_info | 获取陌生人信息 |
/get_friend_list | 获取好友列表 |
/get_group_info | 获取群信息 |
/get_group_list | 获取群列表 |
/get_group_member_info | 获取群成员信息 |
/get_group_member_list | 获取群成员列表 |
/get_group_honor_info | 获取群荣誉信息 |
/can_send_image | 检查是否可以发送图片 |
/can_send_record | 检查是否可以发送语音 |
/get_version_info | 获取版本信息 |
/set_restart | 重启 go-cqhttp |
/.handle_quick_operation | 对事件执行快速操作 |
拓展 API 及与 OneBot 标准有略微差异的 API
拓展 API | 功能 |
---|---|
/set_group_portrait | 设置群头像 |
/get_image | 获取图片信息 |
/get_msg | 获取消息 |
/get_forward_msg | 获取合并转发内容 |
/send_group_forward_msg | 发送合并转发(群) |
/.get_word_slices | 获取中文分词 |
/.ocr_image | 图片 OCR |
/get_group_system_msg | 获取群系统消息 |
/get_group_file_system_info | 获取群文件系统信息 |
/get_group_root_files | 获取群根目录文件列表 |
/get_group_files_by_folder | 获取群子目录文件列表 |
/get_group_file_url | 获取群文件资源链接 |
/get_status | 获取状态 |
符合 OneBot 标准的 Event(部分 Event 比 OneBot 标准多上报几个字段,不影响使用)
事件类型 | Event |
---|---|
消息事件 | 私聊信息 |
消息事件 | 群消息 |
通知事件 | 群文件上传 |
通知事件 | 群管理员变动 |
通知事件 | 群成员减少 |
通知事件 | 群成员增加 |
通知事件 | 群禁言 |
通知事件 | 好友添加 |
通知事件 | 群消息撤回 |
通知事件 | 好友消息撤回 |
通知事件 | 群内戳一戳 |
通知事件 | 群红包运气王 |
通知事件 | 群成员荣誉变更 |
请求事件 | 加好友请求 |
请求事件 | 加群请求/邀请 |
拓展 Event
事件类型 | 拓展 Event |
---|---|
通知事件 | 好友戳一戳 |
通知事件 | 群内戳一戳 |
通知事件 | 群成员名片更新 |
通知事件 | 接收到离线文件 |
关于 ISSUE
以下 ISSUE 会被直接关闭
- 提交 BUG 不使用 Template
- 询问已知问题
- 提问找不到重点
- 重复提问
请注意, 开发者并没有义务回复您的问题. 您应该具备基本的提问技巧。
有关如何提问,请阅读《提问的智慧》
性能
在关闭数据库的情况下, 加载 25 个好友 128 个群运行 24 小时后内存使用为 15MB 左右. 开启数据库后内存使用将根据消息量增加 10-20MB, 如果系统内存小于 128M 建议关闭数据库使用.