diff --git a/mirai-core/src/commonTest/kotlin/notice/Desensitizer.kt b/mirai-core/src/commonTest/kotlin/notice/Desensitizer.kt index 179ab9721..d60e9754b 100644 --- a/mirai-core/src/commonTest/kotlin/notice/Desensitizer.kt +++ b/mirai-core/src/commonTest/kotlin/notice/Desensitizer.kt @@ -195,9 +195,14 @@ private class DesensitizationVisitor( val result = instance.cast>() .deserialize(desc.origin as ProtocolStruct, value.origin as ByteArray) + ?: desc.origin val generate = ConstructorCallCodegenFacade.generateAndDesensitize(result) - PlainValueDesc(desc, "$generate.toByteArray()", value.origin) + PlainValueDesc( + desc, + "$generate.toByteArray(${result::class.qualifiedName}.serializer())", + value.origin + ) } else value } }