ForwardMessage

@Serializable
data class ForwardMessage(    val preview: List<String>,     val title: String,     val brief: String,     val source: String,     val summary: String,     val nodeList: List<ForwardMessage.Node>) : MessageContent, ConstrainSingle

合并转发消息

显示方案

移动端

在移动客户端将会显示为卡片

|-------------------------|
| <title>                 |
| <preview>               |
|-------------------------|
| <summary>               |
|-------------------------|

默认显示方案:

|-------------------------|
| 群聊的聊天记录             |
| <消息 1>                 |
| <消息 2>                 |
| <消息 3>                 |
|-------------------------|
| 查看3条转发消息          |
|-------------------------|

PC 端

在部分 PC 端显示为类似移动端的卡片, 在其他 PC 端显示为以下格式

鸽子 A 2020/04/23 11:27:54
咕
鸽子 B 2020/04/23 11:27:55
咕
鸽子 C 1970/01/01 08:00:00
咕咕咕

构造

See also

Constructors

Link copied to clipboard
constructor(preview: List<String>, title: String, brief: String, source: String, summary: String, nodeList: List<ForwardMessage.Node>)

Types

Link copied to clipboard
interface DisplayStrategy

合并转发卡片展示策略. 用于 RawForwardMessage渲染.

Link copied to clipboard

请构造 Node

Link copied to clipboard
Link copied to clipboard
@Serializable
data class Node(val senderId: Long, val time: Int, val senderName: String, val messageChain: MessageChain) : ForwardMessage.INode

消息节点

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

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

Link copied to clipboard

thistail 连接.

Link copied to clipboard

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

Link copied to clipboard

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

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
inline suspend operator fun Message.plus(another: Flow<Message>): MessageChain

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

Link copied to clipboard
inline fun Message.repeat(count: Int): MessageChain

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

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

this 发送给指定联系人

Link copied to clipboard
inline 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")
fun Message.toMessageChain(): MessageChain

Properties

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

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

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard