QuoteReply

data class QuoteReply(val source: MessageSource) : Message, MessageMetadata, ConstrainSingle

引用回复. QuoteReply 被作为 MessageMetadata, 因为它不包含实际的消息内容.

支持引用任何一条消息发送给任何人.

引用回复的原消息内容完全由 sourceMessageSource.originalMessage 控制, 客户端不会自行寻找原消息. 可通过 MessageSource.copyAmend 修改引用的消息内容.

客户端通过 MessageSource.ids 等数据定位源消息, 在修改时使用 MessageSourceBuilder.metadata 可以修改定位结果.

创建引用回复

See also

获取有关消息源的更多信息

Constructors

Link copied to clipboard
fun QuoteReply(sourceMessage: MessageChain)

从消息链中获取 MessageSource 并构造.

Link copied to clipboard
fun QuoteReply(source: MessageSource)

Types

Link copied to clipboard
object Key : AbstractMessageKey<QuoteReply>

Functions

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
abstract fun contentToString(): String

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

Link copied to clipboard
open operator override fun equals(other: Any?): Boolean
Link copied to clipboard
open fun followedBy(tail: Message): MessageChain

thistail 连接.

Link copied to clipboard
open override fun hashCode(): Int
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
open override fun toString(): String

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

Properties

Link copied to clipboard
open override val key: MessageKey<QuoteReply>

用于判断是否为同一种元素的 MessageKey. 使用多态类型 MessageKey 最上层的 MessageKey.

Link copied to clipboard
val source: MessageSource

指代被引用的消息. 其中 MessageSource.originalMessage 可以控制客户端显示的消息内容.

Extensions

Link copied to clipboard
inline suspend fun QuoteReply.recallSource()

撤回引用的源消息