Skip to content

feat: 新增 OneBot 应用端 WebSocket 模式#48

Open
Admilkk wants to merge 3 commits into
XasYer:masterfrom
admilkjs:feat/onebot-app-client
Open

feat: 新增 OneBot 应用端 WebSocket 模式#48
Admilkk wants to merge 3 commits into
XasYer:masterfrom
admilkjs:feat/onebot-app-client

Conversation

@Admilkk

@Admilkk Admilkk commented Jun 24, 2026

Copy link
Copy Markdown

变更说明

  • 新增 type: 7 连接类型:OneBot应用端ws
  • 该模式下 ws-plugin 作为 OneBot 应用端/处理器,主动连接 OneBot 实现端。
  • 收到 OneBot v11 的 message / notice / request / meta_event 上报后,转换为 Yunzai 的 Bot.em(...) 事件。
  • Yunzai 插件发送消息、撤回、取列表等操作时,通过 OneBot action 请求回到实现端。
  • 不改变现有 type: 1 / type: 2 的行为,避免影响已有用法。
  • 新模式启动时只拉取登录信息、版本、好友列表和群列表;默认不全量预热群成员,避免连接后产生大量 get_group_member_list 请求。
  • 补充原项目运行时已使用但 package.json 未声明的依赖:lodashyamlchokidar

使用方式

连接 OneBot 实现端时使用 type: 7,例如:

连接名字,7
wss://example.com/OneBotv11/123456,5,0,access-token

其中参数含义为:

连接地址,重连间隔,最大重连次数,access-token

和原有类型的区别

  • type: 1:ws-plugin 作为 OneBot 实现端,主动连接 OneBot 应用端。
  • type: 2:ws-plugin 作为 OneBot 实现端,本地监听 OneBot 应用端连接。
  • type: 7:ws-plugin 作为 OneBot 应用端,主动连接 OneBot 实现端。

验证

  • 已对修改后的 JS 入口执行 node --check
  • 已做本地 adapter smoke,确认 OneBot post_type: message 能转换为 Yunzai 的 message.group.normal 事件。

@Admilkk Admilkk changed the title feat: add OneBot app-client WebSocket mode feat: 新增 OneBot 应用端 WebSocket 模式 Jun 24, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant