本项目为 OneBot 协议实现下机器人实例与用户服务间第三方消息代理中间件。通过 WebSocket 代理与额外的 WebAPI 接口,提供单一QQ账号下多端接入,事件回调、消息互通等功能实现。并配备常规流量治理功能包括服务注册发现、熔断限流、负载均衡。
本项目内置了NTQQ实现(Lagrange.OneBot
)的分发与运行,您需自行解决签名服务器的配置问题。若您在使用时有任何疑问,随时欢迎进群咨询。Group: 863522624
- Linux
- MacOS
- Windows
perpetua
作为服务端时,其他客户端需要使用特定的 API 通过服务发现才能使用资源。为了兼容第三方服务,perpetua
也提供了作为客户端主动提供服务资源的实现。
注意: 由于
perpetua
的设计理念,http 代理调用将不会被支持。若您在使用 Http Post 这类依赖回调触发事件的通信协议时有主动调用 API 的需求,请考虑使用其他连接方式(如 Http Post + 正向 WebSocket)实现
- OneBot
- 正向 WebSocket(非标准形式)
- 反向 WebSocket
- Http Post
- Satori
- WebAPI
- 服务注册与发现
- 自动重启与断点续传 (client -> NTQQ)
- 负载均衡
- 熔断限流
拓展 API
API | 功能 |
---|---|
get_ws_port | 获取分配的ws端口 |
get_online_clients | 获取当前在线客户端列表 |
set_restart | 重启 OneBot 实现 |
set_client_name | 设置当前客户端名称 |
send_broadcast_data | 发送客户端广播数据 |
send_broadcast_data_callback | 发送客户端广播数据回调 |
语言 / 平台 | 名称 | 简介 | 通信协议支持 |
---|---|---|---|
Java | perpetua-sdk-for-java | 官方社区实现 | Java |
- 感谢原机器人社区的贡献者:†白可乐、Alan Zhao、@fred913
- 感谢 @Thexiaoyuqaq、小豆子、阿丽塔、polar、一口小雨、黑土、仔仔 等用户在测试、策划方面提供的帮助与支持