Home

Awesome

go-cqhttp-adapter-plugin

炸毛框架用于接入 go-cqhttp(OneBot 11)的适配器插件。

功能

该插件将 gocq 的反向 WebSocket 接入信息全部转换为 OneBot 12 标准,安装该插件后几乎无需修改任何代码即可接入。

如果你想在其他项目上使用,也可以单独使用内部的 Converter 相关类进行转换。

安装

# Composer 安装稳定版
composer require zhamao/go-cqhttp-adapter-plugin

# GitHub 安装 Nightly 版
./zhamao plugin:install https://github.com/zhamao-robot/go-cqhttp-adapter-plugin.git

转换注意事项

由于 OneBot 11 和 OneBot 12 有较多差异,而这些差异也导致两者不能无损相互转换。 例如 OneBot 11 中未规定要求文件分片上传和下载的动作,那么在使用本插件时也无法使用这些动作。

由于 OneBot 11 的实现较多,而且和 OneBot 11 本身相差较大,该插件也时重点针对 go-cqhttp 进行适配转换,这也是插件不叫 onebot-11-adapter 的原因。

本插件下方列举的事件转换规则仅为自身的一些转换细节处理方案,不代表 OneBot 11 和 OneBot 12 的事件定义。 但是本插件的转换规则也是 OneBot 11 和 OneBot 12 事件定义的一个参考,如果你想了解 OneBot 11 和 12 的差异,也可以阅读下方的转换规则。

事件转换规则(11 转 12)

下面是 post_type 转换规则:

下面是 XXX_type 转换规则:

下面是 self_id 转换规则:

下面是 user_idgroup_idguild_idchannel_idmessage_id 转换规则:

下面是其他字段的一些转换规则:

下面是消息事件(message)的一些转换规则:

下面是通知事件(notice)的一些转换规则:

go-cqhttp 的 notice_typeOneBot 12 的 detail_type描述
friend_recallprivate_message_delete撤回一条私聊消息
friend_addfriend_increase添加好友的通知事件
group_increasegroup_member_increase群成员增加
group_decreasegroup_member_decrease群成员减少
group_recallgroup_message_delete群消息撤回
除上述外的其他通知事件qq. 前缀加上原名称

下面是请求事件(request)的一些转换规则:

下面是元事件(meta)的一些转换规则:

动作转换规则(12 转 11)

动作响应转换规则(11 转 12)

动作响应的转换在插件内部对动作请求做了缓存,通过 echo 字段进行匹配,从而确定响应对应的动作请求。

其他不兼容项

转换器不支持转换以下 OneBot 12 动作到 OneBot 11 API: