go-cqhttp README

The project's README from github.com/Mrs4s/go-cqhttp. As one markdown file: README.md.

go-cqhttp

go-cqhttp

✨ 基于 Mirai 以及 MiraiGo 的 OneBot Golang 原生实现 ✨

license release cqhttp action GoReportCard

文档 · 下载 · 开始使用 · 参与贡献

重要信息

由于QQ官方针对协议库的围追堵截, 不断更新加密方案, 我们已无力继续维护此项目. 建议Bot开发者尽快迁移至无头NTQQ项目 -> https://github.com/Mrs4s/go-cqhttp/issues/2471

兼容性

go-cqhttp 兼容 OneBot-v11 绝大多数内容,并在其基础上做了一些扩展,详情请看 go-cqhttp 的文档。

接口

拓展支持

拓展 API 可前往 文档 查看

实现

已实现 CQ 码

符合 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] 文本转语音
已实现 API

符合 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 获取状态
已实现 Event

符合 OneBot 标准的 Event(部分 Event 比 OneBot 标准多上报几个字段,不影响使用)

事件类型 Event
消息事件 私聊信息
消息事件 群消息
通知事件 群文件上传
通知事件 群管理员变动
通知事件 群成员减少
通知事件 群成员增加
通知事件 群禁言
通知事件 好友添加
通知事件 群消息撤回
通知事件 好友消息撤回
通知事件 群内戳一戳
通知事件 群红包运气王
通知事件 群成员荣誉变更
请求事件 加好友请求
请求事件 加群请求/邀请

拓展 Event

事件类型 拓展 Event
通知事件 好友戳一戳
通知事件 群内戳一戳
通知事件 群成员名片更新
通知事件 接收到离线文件

关于 ISSUE

以下 ISSUE 会被直接关闭

请注意, 开发者并没有义务回复您的问题. 您应该具备基本的提问技巧。
有关如何提问,请阅读《提问的智慧》

性能

在关闭数据库的情况下, 加载 25 个好友 128 个群运行 24 小时后内存使用为 15MB 左右. 开启数据库后内存使用将根据消息量增加 10-20MB, 如果系统内存小于 128M 建议关闭数据库使用.

go-cqhttp (Mrs4s/go-cqhttp)

Searching Database…

10.6K ·GitHub
这是什么?一个用 Go 实现的 QQ CQHTTP(OneBot)机器人协议,基于 Mirai 和 MiraiGo 构建——一个轻量级、原生跨平台的桥接程序,让你能够搭建 QQ 机器人。
它是一个需要我导入的库,还是一个可以独立运行的程序?它是一个独立运行的程序,不是库:它自己连接 QQ,并通过 HTTP API、反向 HTTP POST、正向 WebSocket 和反向 WebSocket 等接口为你的机器人提供服务。
我怎么把它跑起来?下载适合你平台的预编译二进制文件或使用项目提供的 Docker 镜像,运行后用你的 QQ 账号登录。之后它就会开放 OneBot 接口,供你的机器人连接。
需要有一个 QQ 账号它才能工作吗?需要——它要用一个机器人 QQ 账号登录 QQ,消息就是通过这个账号收发的。你自己的代码只需要一个 HTTP 或 WebSocket 客户端来调用它的 API。
它还在积极维护吗?没有了。作者表示 QQ 不断通过新的加密手段打击协议库,他们已经无法继续维护 go-cqhttp,并建议机器人开发者尽快迁移到无头 NTQQ 类项目。
我已有的 OneBot v11 机器人代码能用它吗?可以——它兼容 OneBot v11 的大部分内容,并在此基础上增加了一些扩展:多点 HTTP POST 上报、多个反向 WebSocket 连接、群名片修改、消息撤回事件,以及回复和合并转发的解析与发送。
它在 QQ 里实际能收发哪些内容?CQ 码支持 QQ 表情、语音、短视频、@提及、回复、合并转发、XML 和 JSON 消息,另外还有针对图片、红包、戳一戳、卡片图片和文字转语音的扩展。事件包括私聊和群聊消息、成员进退群、禁言、撤回、戳一戳,以及好友申请和加群请求。
除了收发消息它还能做什么?OneBot 及扩展 API 支持群管理功能——踢人、禁言、设置管理员、群名片、群名称和专属头衔,此外还有好友列表和群列表查询、群文件系统访问、图片 OCR 和中文分词。
它需要多少内存?非常少:关闭数据库的情况下,在 25 个好友、128 个群的规模上运行 24 小时后,内存占用约 15MB。开启数据库会增加 10-20MB,因此作者建议在内存不足 128MB 的系统上不开数据库运行。
Creator
Mrs4s
Size
2.9 MB
Stars
10.6K
Age
6y
Commits · 90 Days