project-mirai / mirai-api-http

Mirai HTTP API (console) plugin
GNU Affero General Public License v3.0
1.65k stars 345 forks source link

是否能够提供 接口 让其他jar插件 拓展 route #570

Open cssxsh opened 2 years ago

cssxsh commented 2 years ago

例如我的JAR插件 mirai-hibernate-plugin 实现消息持久化到数据库, 希望在 mirai-api-http 的 route 里拓展一个 Restful Api 方便非JAR插件调用

ryoii commented 2 years ago

如果可以,在这里讨论下设计方案,看看需要提供怎么样的接口

cssxsh commented 2 years ago

如果可以,在这里讨论下设计方案,看看需要提供怎么样的接口

就我的构想来说,希望提供 spi 服务接口,接口定义 route 绑定方法,然后第三方插件实现 (提供 route 和 返回值), 返回值 是 Message或者 Event 等可序列化的值 还有就是自动处理返回值(Message/Event 转换为 mirai-api-http 的格式,不需要在第三方插件里手动转换),

cssxsh commented 2 years ago

@ryoii 比如类似 #579 , 我的 插件 https://github.com/cssxsh/mirai-hibernate-plugin 提供了一个消息记录器, 如果能有 接口 注册 route,就接入我的插件实现的消息持久化