nonebot / adapter-satori

NoneBot2 Satori 适配器 / Satori Protocol adapter for nonebot2
MIT License
84 stars 5 forks source link

[Bug]: 使用Satori适配器连接QQ的时候,发送消息会连续发送两条 #27

Closed fataldemon closed 3 months ago

fataldemon commented 3 months ago

确认项

操作系统

Windows

Python 版本

3.10

NoneBot 版本

2.3.2

适配器

0.12.3

协议端

chronocat

描述问题

之前我是按照red的适配器来使用的,但是pydantic升级到最新版以后red就会报错。我看到Satori适配器可以接收到QQ的消息,于是进行了迁移,但是遇到两个问题: 1、在用on_command()发送回复的时候,我对MessageEvent进行响应,消息可以发出来,但是每次总是会发出两条消息; 2、MessageSegment的使用方式,我用MessageSegment.image()好像没法发送图片出来。不知道是不是我路径的格式不对?

复现步骤

image image image

期望的结果

No response

截图或日志

No response

Nonebot 配置项

No response

fataldemon commented 3 months ago

第一个问题是我傻逼了=。= 请大佬无视

RF-Tar-Railt commented 3 months ago
    @staticmethod
    def image(
        url: Optional[str] = None,
        path: Optional[Union[str, Path]] = None,
        raw: Optional[Union[bytes, BytesIO]] = None,
        mime: Optional[str] = None,
        name: Optional[str] = None,
        extra: Optional[dict] = None,
        cache: Optional[bool] = None,
        timeout: Optional[int] = None,
    ) -> "Image":

你想用本地文件发图的话应该用image(path=...)

fataldemon commented 3 months ago
    @staticmethod
    def image(
        url: Optional[str] = None,
        path: Optional[Union[str, Path]] = None,
        raw: Optional[Union[bytes, BytesIO]] = None,
        mime: Optional[str] = None,
        name: Optional[str] = None,
        extra: Optional[dict] = None,
        cache: Optional[bool] = None,
        timeout: Optional[int] = None,
    ) -> "Image":

你想用本地文件发图的话应该用image(path=...)

image 我试了下,但是好像还是发不出来的样子。。明明这样打印出来的路径是对的 image image

RF-Tar-Railt commented 3 months ago

chronocat那边的日志呢

fataldemon commented 3 months ago

chronocat的日志在哪里找,是在.chronocat文件夹下吗

RF-Tar-Railt commented 3 months ago

chronocat的日志在哪里找,是在.chronocat文件夹下吗

cc不是启动后有控制台的吗

fataldemon commented 3 months ago

我懂了 可能是我的chronocat版本太旧了

fataldemon commented 3 months ago

谢谢大佬,问题已解决!