simple-robot / simbot-component-mirai

simple-robot下的mirai组件
https://component-mirai.simbot.forte.love/
GNU Affero General Public License v3.0
20 stars 0 forks source link

Mirai组件的图片消息无法序列化 #53

Closed ForteScarlet closed 2 years ago

ForteScarlet commented 2 years ago

see https://github.com/ForteScarlet/simpler-robot/issues/391

Exception in thread "main" java.lang.IllegalStateException: Primitives cannot be serialized polymorphically with 'type' parameter. You can use 'JsonBuilder.useArrayPolymorphism' instead
    at kotlinx.serialization.json.internal.PolymorphicKt.checkKind(Polymorphic.kt:53)
    at kotlinx.serialization.json.internal.StreamingJsonEncoder.encodeSerializableValue(StreamingJsonEncoder.kt:226)
    at kotlinx.serialization.encoding.AbstractEncoder.encodeSerializableElement(AbstractEncoder.kt:80)
    at love.forte.simbot.component.mirai.message.MiraiImageImpl.write$Self(MiraiImage.kt:231)
    at love.forte.simbot.component.mirai.message.MiraiImageImpl$$serializer.serialize(MiraiImage.kt:231)
    at love.forte.simbot.component.mirai.message.MiraiImageImpl$$serializer.serialize(MiraiImage.kt:231)
    at kotlinx.serialization.json.internal.StreamingJsonEncoder.encodeSerializableValue(StreamingJsonEncoder.kt:228)
    at kotlinx.serialization.encoding.AbstractEncoder.encodeSerializableElement(AbstractEncoder.kt:80)
    at kotlinx.serialization.internal.CollectionLikeSerializer.serialize(CollectionSerializers.kt:69)
    at love.forte.simbot.message.Messages$Companion$MessagesSerializer.serialize(Messages.kt:168)
    at love.forte.simbot.message.Messages$Companion$MessagesSerializer.serialize(Messages.kt:163)
    at kotlinx.serialization.json.internal.StreamingJsonEncoder.encodeSerializableValue(StreamingJsonEncoder.kt:219)
    at kotlinx.serialization.json.Json.encodeToString(Json.kt:85)
    at love.forte.simbot.message.MessageSerializationUtil.toJsonString(MessageSerializationUtil.kt:130)
    at love.forte.simbot.message.MessageSerializationUtil.toJsonString$default(MessageSerializationUtil.kt:129)
    at love.forte.simbot.message.MessageSerializationUtil.toJsonString(MessageSerializationUtil.kt)
ForteScarlet commented 2 years ago

可以通过 v3.0.0.0-beta-M2-SNAPSHOT 快照版本尝试修复结果

enchantedyou commented 2 years ago

验证完成,已达逾期效果。 (O9S}MPTHHL9H_0{8IWYF@Y