contentToString
转为最接近官方格式的字符串, 即 "内容". 如 At(member) + "test"
将转为 "@群名片 test"
.
在使用消息相关 DSL 和扩展时, 一些内容比较的实现均使用 contentToString 而不是 toString.
由于消息元素都是不可变的, contentToString 的返回也是不变的. MessageChain 的 contentToString 会被缓存, 只会在第一次调用时计算.
各个消息类型的转换示例:
PlainText :
"Hello"
Image :
"[图片]"
PokeMessage :
"[戳一戳]"
MessageChain : 无间隔地连接所有元素 (
joinToString("", transformer=Message::contentToString)
)...
**注意: ** 即使 toString 输出的格式看起来像 MiraiCode 的表示, 但它们实际上是不同的. toString 会返回更随意的和更适合开发者阅读的信息, 通常不能被 MiraiCode 解析.