/go-cqhttp

cqhttp的golang实现,轻量、原生跨平台.

Primary LanguageGoGNU Affero General Public License v3.0AGPL-3.0

go-cqhttp

go-cqhttp

✨ 基于 Mirai 以及 MiraiGoOneBot Golang 原生实现 ✨

license release cqhttp action GoReportCard

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

兼容性

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

接口

  • HTTP API
  • 反向 HTTP POST
  • 正向 Websocket
  • 反向 Websocket

拓展支持

拓展 API 可前往 文档 查看

  • HTTP POST 多点上报
  • 反向 WS 多点连接
  • 修改群名
  • 消息撤回事件
  • 解析/发送 回复消息
  • 解析/发送 合并转发
  • 使用代理请求网络图片

实现

已实现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:gift] 礼物
[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 会被直接关闭

  • 提交 BUG 不使用 Template
  • 询问已知问题
  • 提问找不到重点
  • 重复提问

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

性能

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