Messages

消息列表,代表为可能多条的 MsgElement 信息。

不可变

Messages 是不可变的。每次进行 plus 都应视为得到了一个新的 Messages 实例。

序列化

当你需要对 Messages 进行序列化的时候,你所使用的 KSerializer 必须为 Messages.serializer.

构建器

除了直接使用拼接的方式,你也可以参考 MessagesBuilder 通过构建器来构建 Messages 实例。

See also

Types

Link copied to clipboard
object Companion

Functions

Link copied to clipboard
abstract operator fun contains(element: Message.Element<*>): Boolean

判断当前视图中是否包含指定元素。

Link copied to clipboard
open fun forEach(p0: Consumer<in Message.Element<*>>)
Link copied to clipboard
abstract operator fun get(index: Int): Message.Element<*>

通过索引访问目标位置的元素。

abstract operator fun <E : Message.Element<E>> get(key: Message.Key<E>): List<E>

根据 MsgElement 来获取当前消息链中的所有匹配消息。

Link copied to clipboard
abstract fun <E : Message.Element<E>> getFirst(key: Message.Key<E>): E

根据 MsgElement 来获取当前消息链中的第一个匹配类型的消息。 当未寻得指定类型的消息时抛出 NoSuchElementException.

Link copied to clipboard
abstract fun <E : Message.Element<E>> getFirstOrNull(key: Message.Key<E>): E?

根据 MsgElement 来获取当前消息链中的第一个匹配类型的消息。 当未寻得指定类型的消息时得到null。

Link copied to clipboard
abstract fun isEmpty(): Boolean

判断当前视图是否为空。

Link copied to clipboard
abstract operator override fun iterator(): Iterator<Message.Element<*>>

得到当前视图的迭代器。

Link copied to clipboard
abstract operator fun plus(messages: Iterable<Message.Element<*>>): Messages

拼接 MsgElement 列表,得到一个新的 Messages

abstract operator fun plus(element: Message.Element<*>): Messages

拼接一个 MsgElement,得到一个新的 Messages

Link copied to clipboard
Link copied to clipboard
abstract fun toList(): List<Message.Element<*>>

将当前 Messages 转化为不可变的消息元素列表。

Properties

Link copied to clipboard
abstract val size: Int

获取当前视图中的元素数量。

Inheritors

Link copied to clipboard
Link copied to clipboard

Extensions

Link copied to clipboard
Link copied to clipboard
fun <T> Iterable<T>.asView(): View<T>

构建一个当前 Iterable 对应的 View。 如果当前类型为 Collection, 则相当于 Collection.asView

Link copied to clipboard

判断两个 Messages 是否在元素内容上相同。contentEquals 会依次比较各个元素, 当元素数量、内容、顺序都完全相同时得到 true

Link copied to clipboard
Link copied to clipboard
inline fun <T> View<T>.isNotEmpty(): Boolean

判断当前视图是否不为空。

Link copied to clipboard
Link copied to clipboard
infix inline suspend fun Message.sendTo(support: SendSupport): MessageReceipt

SendSupport.send 的反转形式,可以使用中缀函数写法。

Link copied to clipboard
fun <T> View<T>.toList(): List<T>

View 转化为 List.

Link copied to clipboard

将 元素为 MsgElementIterable 转化为 Messages 实例。