Closed monsterxcn closed 1 year ago
但是我不太懂用一个 QQ 只运行一个 NoneBot2 是否可以(如何)同时支持 V11 和 V12。
我现在其实是一个 QQ 用 go-cqhttp 走 v11,然后 kook 用 walle-k,telegram 用 teydacore 走 v12。其实我也不太懂,该怎么同时支持两个协议但是不同 QQ 号(就算是同一个协议,同时发两个一样的事件也不太好搞)。
除了正确同时使用 V11 和 V12 适配器的问题,我还在想一个问题,两个适配器都显示接收到了同一条消息,那样同一条消息应该会被处理两次?💦💦
是的,同时支持 ob11/12 其实只是指 matcher 收到任意事件都能处理,但是每个事件来了都会处理一次。
这样配置之后,依次启动 go-cqhttp、walle-q、NoneBot2,查看 NoneBot2 日志发现 OneBot V11 连接后会报错一次 RuntimeError: Duplicate bot connection with id [BOTQQ],之后又正常建立了 OneBot V12 连接。再之后似乎就开始正常工作了,但我不知道这样是否正确。
寄,我发现 ob12 adapter 代码似乎写错了,按理来说,如果 nb 已经有一个 bot 的 id 是 123 的话,另外一个 123 的 bot 是不应该连接成功,并且处理事件的。
😢那看来我还是需要把 v11 和 v12 的分开到两个 Bot QQ 上咯?
我其实主要就是想在一个 Bot QQ 上处理,那个 同一条消息被处理两次 想了想其实倒不是大问题,只要我单独导 nonebot.adapters.onebot.v11
或者 nonebot.adapters.onebot.v12
去写对应的插件就好了。
😢那看来我还是需要把 v11 和 v12 的分开到两个 Bot QQ 上咯?
我其实主要就是想在一个 Bot QQ 上处理,那个 同一条消息被处理两次 想了想其实倒不是大问题,只要我单独导
nonebot.adapters.onebot.v11
或者nonebot.adapters.onebot.v12
去写对应的插件就好了。
但是处理两次是 bug(
确实是这样,所以有没有什么魔法🤣
在一个 QQ Bot 搞定 v11 和 v12,不觉得这很酷吗(
确实是这样,所以有没有什么魔法🤣
在一个 QQ Bot 搞定 v11 和 v12,不觉得这很酷吗(
继续用现在这个版本不升级,不就能用了🤣
很好的建议,谢谢。我觉得可以 close 了哈哈
看到您在 #261 中已经将 Bot 同时支持 V11 和 V12 的 OneBot 适配器了,是一个 NoneBot2 + 一个 QQ 就可以了?
我想将自己的 Bot 也升级一下,部分简单的插件升级到 V12,剩余的仍然维持在 V11。但是我不太懂用一个 QQ 只运行一个 NoneBot2 是否可以(如何)同时支持 V11 和 V12。
我进行了以下尝试(
[BOTQQ]
为我的 Bot QQ 号码,[MYQQ]
为我的 QQ 号码):在 NoneBot2(v2.0.0rc2) .env 中配置了
HOST
PORT
,同时在 bot.py 注册 V11 和 V12 两个适配器使用 go-cqhttp(v1.0.0-rc4) 以 MacOS 协议登录用来对接 V11 适配器
使用 walle-q(v0.2.5-fix2) 以 iPad 协议登录用来对接 V12 适配器
这样配置之后,依次启动 go-cqhttp、walle-q、NoneBot2,查看 NoneBot2 日志发现 OneBot V11 连接后会报错一次 RuntimeError: Duplicate bot connection with id [BOTQQ],之后又正常建立了 OneBot V12 连接。再之后似乎就开始正常工作了,但我不知道这样是否正确。
go-cqhttp
walle-q
NoneBot2
除了正确同时使用 V11 和 V12 适配器的问题,我还在想一个问题,两个适配器都显示接收到了同一条消息,那样同一条消息应该会被处理两次?💦💦