EmptyMessageChain

Deprecated (with error)

Please use emptyMessageChain()

Replace with

import net.mamoe.mirai.message.data.emptyMessageChain
emptyMessageChain()

不含任何元素的 MessageChain. 已弃用, 请使用 emptyMessageChain.

Functions

Link copied to clipboard

this 中存在 M 的实例时返回 true.

Link copied to clipboard
Link copied to clipboard
open operator override fun contains(element: SingleMessage): Boolean

open operator fun <M : SingleMessage> contains(key: MessageKey<M>): Boolean

当存在 ConstrainSingle.keykeySingleMessage 实例时返回 true.

Link copied to clipboard
open override fun containsAll(elements: Collection<SingleMessage>): Boolean
Link copied to clipboard
open fun contentEquals(another: String, ignoreCase: Boolean = false): Boolean

判断内容是否与 another 相等.

open fun contentEquals(another: Message, ignoreCase: Boolean = false): Boolean

判断内容是否与 another 相等即 thisanothercontentToString 相等.

open fun contentEquals(another: Message, ignoreCase: Boolean = false, strict: Boolean = false): Boolean

判断内容是否与 another 相等即 thisanothercontentToString 相等.

Link copied to clipboard
Link copied to clipboard

获取 Sequence<MessageContent> 相当于 this.asSequence().filterIsInstance<MessageContent>()

Link copied to clipboard
open override fun contentToString(): String

转为接近官方格式的字符串, 即 "内容". 如 At(member) + "test" 将转为 "@QQ test".

Link copied to clipboard

解析形如 "mirai:" 的 mirai 码, 即 CodableMessage.serializeToMiraiCode 返回的内容.

Link copied to clipboard

获取第一个 M 实例. 在不存在时返回 null.

Link copied to clipboard

获取第一个 M 实例. 在不存在时抛出 NoSuchElementException.

Link copied to clipboard

获取第一个 M 实例. 在不存在时返回 null.

Link copied to clipboard

thistail 连接.

Link copied to clipboard
open operator override fun get(index: Int): SingleMessage

open operator fun <M : SingleMessage> get(key: MessageKey<M>): M?

获取第一个类型为 keyMessage 实例. 若不存在此实例, 返回 null.

Link copied to clipboard
inline fun <M : SingleMessage> MessageChain.getOrFail(key: MessageKey<M>, crossinline lazyMessage: (key: MessageKey<M>) -> String = { key.toString() }): M

获取第一个类型为 keyMessage 实例, 在找不到此类型的元素时抛出 NoSuchElementException

Link copied to clipboard
inline operator fun <T : SingleMessage> MessageChain.getValue(thisRef: Any?, property: KProperty<*>): T

提供一个类型的值的委托. 若不存在则会抛出异常 NoSuchElementException

Link copied to clipboard
open override fun indexOf(element: SingleMessage): Int
Link copied to clipboard

当消息内容为空白时返回 true.

Link copied to clipboard

当消息内容为空时返回 true.

Link copied to clipboard
open override fun isEmpty(): Boolean
Link copied to clipboard
open operator override fun iterator(): Iterator<SingleMessage>
Link copied to clipboard
open override fun lastIndexOf(element: SingleMessage): Int
Link copied to clipboard
open override fun listIterator(index: Int): ListIterator<SingleMessage>
Link copied to clipboard

获取 Sequence<MessageMetadata> 相当于 this.asSequence().filterIsInstance<MessageMetadata>()

Link copied to clipboard
inline fun <T : R, R : SingleMessage?> MessageChain.orElse(lazyDefault: () -> R): OrNullDelegate<R>

提供一个类型的 Message 的委托, 若不存在这个类型的 Message 则委托会提供 null

Link copied to clipboard

提供一个类型的 Message 的委托, 若不存在这个类型的 Message 则委托会提供 null

Link copied to clipboard
open operator fun plus(another: Array<out Message>): MessageChain

创建一个消息链, 将 another 连接到这个消息的尾部. 这不会改变本 Message, 而是会创建新的 MessageChain 实例. 返回的 MessageChain 实例的第一个元素为本 Message, 随后为按顺序的 another 中的元素.

open operator fun plus(another: CharSequence): MessageChain

创建一个消息链, 将 another 连接到这个消息的尾部. 这不会改变本 Message, 而是会创建新的 MessageChain 实例. 返回的 MessageChain 实例的第一个元素为本 Message, 随后为按顺序的 another 中的元素.

open operator fun plus(another: String): MessageChain

创建一个消息链, 将 another 连接到这个消息的尾部. 这不会改变本 Message, 而是会创建新的 MessageChain 实例. 返回的 MessageChain 实例的第一个元素为本 Message, 随后为按顺序的 another 中的元素.

@JvmName(name = "plusIterableString")
open operator fun plus(another: Iterable<String>): MessageChain

创建一个消息链, 将 another 连接到这个消息的尾部. 这不会改变本 Message, 而是会创建新的 MessageChain 实例. 返回的 MessageChain 实例的第一个元素为本 Message, 随后为按顺序的 another 中的元素.

open operator fun plus(another: Iterable<Message>): MessageChain

创建一个消息链, 将 another 连接到这个消息的尾部. 这不会改变本 Message, 而是会创建新的 MessageChain 实例. 返回的 MessageChain 实例的第一个元素为本 Message, 随后为按顺序的 another 中的元素.

open operator fun plus(another: Sequence<Message>): MessageChain

创建一个消息链, 将 another 连接到这个消息的尾部. 这不会改变本 Message, 而是会创建新的 MessageChain 实例. 返回的 MessageChain 实例的第一个元素为本 Message, 随后为按顺序的 another 中的元素.

open operator fun plus(another: Message): MessageChain

创建一个消息链, 将 another 连接到这个消息的尾部. 这不会改变本 Message, 而是会创建新的 MessageChain 实例. 返回的 MessageChain 实例的第一个元素为本 Message, 随后为按顺序的 another 中的元素.

open operator fun plus(another: MessageChain): MessageChain

创建一个消息链, 将 another 连接到这个消息的尾部. 这不会改变本 Message, 而是会创建新的 MessageChain 实例. 返回的 MessageChain 实例的第一个元素为本 Message, 随后为按顺序的 another 中的元素.

open operator fun plus(another: SingleMessage): MessageChain

创建一个消息链, 将 another 连接到这个消息的尾部. 这不会改变本 Message, 而是会创建新的 MessageChain 实例. 返回的 MessageChain 实例的第一个元素为本 Message, 随后为按顺序的 another 中的元素.

Link copied to clipboard
suspend operator fun Message.plus(another: Flow<Message>): MessageChain

another 按顺序连接到这个消息的尾部.

Link copied to clipboard

引用这条消息. 仅从服务器接收的消息 (即来自 MessageEvent) 才可以通过这个方式被引用.

Link copied to clipboard

Bot 身份撤回该消息. 可撤回自己 2 分钟内发出的消息, 和任意时间的群成员的消息.

Link copied to clipboard

在一段时间后撤回这条消息.

Link copied to clipboard

将此消息元素按顺序重复 count 次.

Link copied to clipboard
inline suspend fun <C : Contact> Message.sendTo(contact: C): MessageReceipt<C>

this 发送给指定联系人

Link copied to clipboard
fun serializer(): KSerializer<MessageChain>
Link copied to clipboard
fun MessageChain.serializeToJsonString(json: Json = getDefaultJson()): String

MessageChain 序列化为 JSON 字符串.

Link copied to clipboard
open override fun serializeToMiraiCode(): String

转换为 mirai 码.

Link copied to clipboard
@ExperimentalSerializationApi
fun MessageChain.serializeToString(format: StringFormat): String

MessageChain 序列化为指定格式的字符串.

Link copied to clipboard
open override fun subList(fromIndex: Int, toIndex: Int): List<SingleMessage>
Link copied to clipboard
operator fun Message.times(count: Int): MessageChain

将此消息元素按顺序重复 count 次.

Link copied to clipboard
fun Message.toForwardMessage(sender: User, time: Int = currentTimeSeconds().toInt(), displayStrategy: ForwardMessage.DisplayStrategy = DisplayStrategy): ForwardMessage
fun Message.toForwardMessage(senderId: Long, senderName: String, time: Int = currentTimeSeconds().toInt(), displayStrategy: ForwardMessage.DisplayStrategy = DisplayStrategy): ForwardMessage

转换为 ForwardMessage

Link copied to clipboard
@JvmName(name = "newChain")
inline fun Iterable<Message>.toMessageChain(): MessageChain

扁平化 this 并创建一个 MessageChain.

@JvmName(name = "newChain")
fun Message.toMessageChain(): MessageChain
Link copied to clipboard
open override fun toString(): String

得到包含 mirai 消息元素代码的, 易读的字符串. 如 At(member) + "test" 将转为 "[mirai:at:qqId]test".

Properties

Link copied to clipboard

消息内部 ids.

Link copied to clipboard
Link copied to clipboard

去重算法 v1 - 2.12: 在连接时若只有 0-1 方包含 ConstrainSingle, 则使用 CombinedMessage 优化性能. 否则使用旧版复杂去重算法构造 LinearMessageChainImpl.

Link copied to clipboard

消息 ids.

Link copied to clipboard

消息内部 ids.

Link copied to clipboard
open override val size: Int
Link copied to clipboard

获取这条消息的 消息源.

Link copied to clipboard

获取这条消息的 消息源.

Link copied to clipboard

消息时间.