mamoe / mirai

高效率 QQ 机器人支持库
https://mirai.mamoe.net
GNU Affero General Public License v3.0
14.5k stars 2.55k forks source link

混合内容Image类型判断异常 #1794

Open ryoii opened 2 years ago

ryoii commented 2 years ago

问题描述

通过安卓手机手动 群到群 转发 带文本图片导致图片判断为 OnlineFriendImage

产生影响:获取图片 url 出现错误

相关问题:project-mirai/mirai-api-http#527

复现

通过安卓QQ发送带文本图片详细,之后通过安卓QQ转发消息到同一个群

复现测试

bot.eventChannel.subscribeGroupMessages {
    always {
        println(message.source.javaClass)
        println(message[Image]?.javaClass)
        println("================================================================")
    }
}

首次接收带文本图片消息

class net.mamoe.mirai.internal.message.OnlineMessageSourceFromGroupImpl
class net.mamoe.mirai.internal.message.OnlineGroupImageImpl

接收转发的带文本消息

class net.mamoe.mirai.internal.message.OnlineMessageSourceFromGroupImpl
class net.mamoe.mirai.internal.message.OnlineFriendImageImpl

仅在安卓QQ转发带文本图片时复现。无文本时符合期望,TIM PC 转发符合期望

mirai-core 版本

2.9.0

bot-protocol

ANDROID_PHONE

其他组件版本

No response

系统日志

无关

网络日志

无关

补充信息

No response

Him188 commented 2 years ago

这些类型是根据服务器发来类型对应解析的,所以说服务器就发了错误的类型