CombinedMessage
树状消息链的一个节点. element 为当前元素, tail 为下一个元素.
注意: 这是内部 API. 不要在任何情况下使用它. Message.plus 等连接消息链的 API 已经有性能优化, 会在合适的时机创建 CombinedMessage, 不需要自行考虑创建 CombinedMessage.
Since
2.12
Functions
当存在 ConstrainSingle.key 为 key 的 SingleMessage 实例时返回 true
.
判断内容是否与 another 相等.
判断内容是否与 another 相等即 this
与 another 的 contentToString 相等.
判断内容是否与 another 相等即 this
与 another 的 contentToString 相等.
获取 Sequence<MessageContent>
相当于 this.asSequence().filterIsInstance<MessageContent>()
转为接近官方格式的字符串, 即 "内容". 如 At(member) + "test"
将转为 "@QQ test"
.
解析形如 "mirai:" 的 mirai 码, 即 CodableMessage.serializeToMiraiCode 返回的内容.
获取第一个 M 实例. 在不存在时返回 null
.
获取第一个 M 实例. 在不存在时抛出 NoSuchElementException.
获取第一个 M 实例. 在不存在时返回 null
.
将 this
和 tail 连接.
获取第一个类型为 key 的 Message 实例, 在找不到此类型的元素时抛出 NoSuchElementException
提供一个类型的值的委托. 若不存在则会抛出异常 NoSuchElementException
当消息内容为空白时返回 true
.
当消息内容为空时返回 true
.
获取 Sequence<MessageMetadata>
相当于 this.asSequence().filterIsInstance<MessageMetadata>()
创建一个消息链, 将 another 连接到这个消息的尾部. 这不会改变本 Message, 而是会创建新的 MessageChain 实例. 返回的 MessageChain 实例的第一个元素为本 Message, 随后为按顺序的 another 中的元素.
创建一个消息链, 将 another 连接到这个消息的尾部. 这不会改变本 Message, 而是会创建新的 MessageChain 实例. 返回的 MessageChain 实例的第一个元素为本 Message, 随后为按顺序的 another 中的元素.
创建一个消息链, 将 another 连接到这个消息的尾部. 这不会改变本 Message, 而是会创建新的 MessageChain 实例. 返回的 MessageChain 实例的第一个元素为本 Message, 随后为按顺序的 another 中的元素.
创建一个消息链, 将 another 连接到这个消息的尾部. 这不会改变本 Message, 而是会创建新的 MessageChain 实例. 返回的 MessageChain 实例的第一个元素为本 Message, 随后为按顺序的 another 中的元素.
创建一个消息链, 将 another 连接到这个消息的尾部. 这不会改变本 Message, 而是会创建新的 MessageChain 实例. 返回的 MessageChain 实例的第一个元素为本 Message, 随后为按顺序的 another 中的元素.
创建一个消息链, 将 another 连接到这个消息的尾部. 这不会改变本 Message, 而是会创建新的 MessageChain 实例. 返回的 MessageChain 实例的第一个元素为本 Message, 随后为按顺序的 another 中的元素.
创建一个消息链, 将 another 连接到这个消息的尾部. 这不会改变本 Message, 而是会创建新的 MessageChain 实例. 返回的 MessageChain 实例的第一个元素为本 Message, 随后为按顺序的 another 中的元素.
创建一个消息链, 将 another 连接到这个消息的尾部. 这不会改变本 Message, 而是会创建新的 MessageChain 实例. 返回的 MessageChain 实例的第一个元素为本 Message, 随后为按顺序的 another 中的元素.
创建一个消息链, 将 another 连接到这个消息的尾部. 这不会改变本 Message, 而是会创建新的 MessageChain 实例. 返回的 MessageChain 实例的第一个元素为本 Message, 随后为按顺序的 another 中的元素.
引用这条消息. 仅从服务器接收的消息 (即来自 MessageEvent) 才可以通过这个方式被引用.
在一段时间后撤回这条消息.
将 MessageChain 序列化为 JSON 字符串.
转换为 mirai 码.
转换得到 mirai 码.
将 MessageChain 序列化为指定格式的字符串.
转换为 ForwardMessage
扁平化 this 并创建一个 MessageChain.
Properties
消息内部 ids.
去重算法 v1 - 2.12: 在连接时若只有 0-1 方包含 ConstrainSingle, 则使用 CombinedMessage 优化性能. 否则使用旧版复杂去重算法构造 LinearMessageChainImpl.
消息 ids.
消息内部 ids.
获取这条消息的 消息源.
获取这条消息的 消息源.
消息时间.