Perseus037 / nonebot_plugin_batarot

碧蓝档案塔罗牌-nonebot2插件(支持多适配器)
GNU General Public License v3.0
42 stars 5 forks source link

使用nonebot_plugin_saa提供对其他Adapter的支持 #3

Closed Nicr0n closed 10 months ago

Nicr0n commented 10 months ago

使用nonebot_plugin_saa提供对其他Adapter的支持

对于ba占卜 tarot_spread()函数:

Adapter为OneBot11时任采用之前的方案

Adapter不为OneBot11时,由于nonebot_plugin_saa不支持卡片式合并回复,采用每个消息单独发送的方式(文艺复兴)

Perseus037 commented 10 months ago

我以前没用过saa,本地测试了一下修改后的代码发现无法正常发送图片,问题主要在这部分代码: reply = MessageFactory([reply_text]) if card_url:

图片加载成功则追加图片到消息工厂

    reply.append(Image(card_url))

这个append的方法似乎只接受字符串,不能处理Image类型的对象。 我尝试了CQ码,或者BytesIO 将图片转换为字节数据发送,都只会显示图片的url而不能直接显示图片,我还尝试创建了一个自定义的消息段工厂类,仍然无法发送图片。

Nicr0n commented 10 months ago

稍等我回去把之前修改的代码补回来,把onebot11单独分开来处理。因为我自己的gocq挂了,最近一直在尝试其他选择没办法测试。

Perseus037 commented 10 months ago

这样改的话使用saa还是发不出来图片呀,这个messagefactory的append方法只能发字符串没法发图片,我下午的时候试了好几种方法发出去的都是字符串( 其实我本来的打算是过一段时间闲下来用nonebot_plugin_alconna做一下插件跨平台适配的,但是最近实在太忙就摆了, 如果方便的话可以加一下我qq:1209228678或者插件测试的小群:945138623