Skip to content

基于qq官方api开发的符合onebot标准的golang实现,轻量、原生跨平台.

License

Notifications You must be signed in to change notification settings

Hoshinonyaruko/Gensokyo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

6a41b3c · May 26, 2024
Mar 17, 2024
May 24, 2024
Apr 27, 2024
May 26, 2024
Apr 17, 2024
Mar 23, 2024
May 26, 2024
May 3, 2024
Nov 8, 2023
Nov 18, 2023
May 26, 2024
May 24, 2024
May 26, 2024
May 7, 2024
May 26, 2024
Feb 22, 2024
May 7, 2024
Nov 19, 2023
May 26, 2024
Nov 21, 2023
May 26, 2024
Apr 7, 2024
Apr 7, 2024
Apr 25, 2024
Nov 6, 2023
Nov 19, 2023
Oct 24, 2023
May 26, 2024
May 26, 2024
May 19, 2024
Mar 17, 2024

Repository files navigation

gensokyo

gensokyo

✨ 基于 OneBot QQ官方机器人Api Golang 原生实现 ✨

license release gensokyo action GoReportCard

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

项目主页:gensokyo.bot

引用

介绍

gensokyo兼容 OneBot-v11 ,并在其基础上做了一些扩展,详情请看 OneBot 的文档。

可将官方的websocket和api转换至onebotv11标准,

支持连接koishi,nonebot2,trss,zerobot,MiraiCQ,hoshino..

支持连接tata,派蒙,炸毛,早苗,yobot...

支持连接Mirai(Overflow)...

可以与支持onebotV11适配器的项目相连接使用.

实现插件开发和用户开发者无需重新开发,复用过往生态的插件和使用体验.

持续完善中.....交流群:196173384

欢迎测试,询问任何有关使用的问题,有问必答,有难必帮~

Gensokyo临时文档展开左侧折叠栏,临时文档包含markdown定义、额外api文档等内容

后续会将文档独立,因为语雀文档公开查看无需登录需要vip,故暂时放在我的机器人文档中。临时文档也包含了Gensokyo的完整编译教程。

特别鸣谢

  • mnixry/nonebot-plugin-gocqhttp: 本项目采用了mnixry编写的前端,并实现了与它对应的,基于qq官方api的后端api.
  • 感谢 Parker Liang 提供的技术指导和支持.

接口

  • HTTP API
  • 反向 HTTP POST
  • 正向 WebSocket
  • 反向 WebSocket

拓展支持

拓展 API 可前往 文档 查看

  • 连接多个ws地址
  • 将频道虚拟成群事件
  • 将私信虚拟成频道或群事件
  • webui,可以在webui修改配置,查看频道列表,发送信息
  • 方便过审的指令黑白名单
  • 自动url转换(自备域名)
  • 可自定义图片压缩\图床服务
  • 可编辑的数据库
  • 支持array和信息段
  • 文字,图片,语音,视频,MD,支持多种类型发送
  • 支持全域,频道,频道私聊,群,群私聊
  • 主动信息失败自动转被动,提高信息传达可靠性
  • 提前于官方支持群列表 群成员 api
  • 完善的重连,健壮的连接能力.
  • 支持[CQ:markdown,data=] Markdown发送
  • markdown文档
  • 持续更新~

实现

已实现 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 消息]

todo,正在施工中

拓展 CQ 码及与 OneBot 标准有略微差异的 CQ 码

拓展 CQ 码 功能
[CQ:image] [图片]
[CQ:poke] [戳一戳]
[CQ:node] [合并转发消息节点]
[CQ:markdown] [markdown卡片收发]
[CQ:tts] [文本转语音]
已实现 API

符合 OneBot 标准的 API

API 功能
/send_private_msg√ [发送私聊消息]
/send_group_msg√ [发送群消息]
/send_guild_channel_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√ [重启 gensokyo]
/.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
  • 询问已知问题
  • 提问找不到重点
  • 重复提问

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

性能

10mb内存占用 端口错开可多开 稳定运行无报错