关于插件复用的问题
#364
Replies: 1 comment
-
|
很遗憾,你想要将多个平台事件统一的可能性≈0.000000001%,all4one也只能通过ob12的扩展协议尽可能的将事件主要内容统一 |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
目前的nonebot可以支持很多种协议的连接进来,但是插件的编写有些是跟协议绑住了的,比如说我很久之前写的插件用的是v11协议的Bot和Event作为入参以及插件的相关业务处理,这时候我想接进来v12协议,这个插件就用不了了。有没有什么办法可以在不改插件代码的情况下让多种协议都可以用得到我这个以前写的插件?
我看了下all4one和anything-anywhere的插件,all4one应该是把不同协议全都转换成为v12的协议再去执行插件,anything-anywhere用的办法是写一个所有协议通用的类,但是这个需要改动插件代码,这些都并不能满足我的需求。
我想有没有一种可行的方法,就是在接收到消息进入插件前根据插件的要求改变事件Event的类型(Bot的类型等),在执行完插件后将消息发回前再把事件类型等转回去。这个想法我试了一下,似乎是除了改源码以外没有更好的办法。不知道大家有没有什么好的办法可以实现?
Beta Was this translation helpful? Give feedback.
All reactions