猫猫码?
猫猫码 ( CatCode
) 是一个具有特殊格式的字符串,是CQ码的精神延续。
CatCode2 重构为基于 kotlinx.serialization 的多平台序列化库。
其实不难发现,猫猫码的最终数据形式,十分类似于一个存在额外参数 code_type
的 properties
。
我们将 CatCode2 实现为多平台序列化库,并保留核心库及其中的高性能字符串解析器。
simbot3中的消息实体将会基于 kotlinx.serialization 实现序列化,
届时你想要将消息序列化为 CatCode
、JSON
、properties
或者 ProtoBuf
, 那就可以完全看你自己的心情了。
序列化途径
猫猫码不再是simbot3中序列化消息的途径,它仅仅作为一个普通的序列化库发布。
想要在simbot3中实现消息序列化,只需要在注意消息实体是否支持序列化的前提下直接通过 kotlinx.serialization 完成。
事实上,simbot3中,所有的消息均以实体形式出现,猫猫码不再必要。有关消息相关的内容,你可以参考 消息概述 。
兼容
不过,对于 mirai组件, 其提供了一个用于简单兼容猫猫码的额外模块:simbot-component-mirai-extra-catcode。
只有mirai?
只有mirai组件提供与猫猫码的兼容模块是因为在 simbot2 时,只存在mirai组件这一个组件,因此所有猫猫码的遗留都是通过mirai组件而产生的。
我们更建议在针对新版本的猫猫码序列化库出现之前,直接使用常规的序列化方案。