mirai-core / net.mamoe.mirai.message.data / ForwardMessage

ForwardMessage

@SinceMirai("0.39.0") class ForwardMessage : MessageContent

合并转发消息

Parameters

displayStrategy -

卡片显示方案

显示方案

移动端

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

<title>: DisplayStrategy.generateTitle

<preview>: DisplayStrategy.generatePreview

<summary>: DisplayStrategy.generateSummary

|-------------------------|
| <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

buildForwardMessage

Types

DisplayStrategy

abstract class DisplayStrategy

INode

interface INode

Key

companion object Key : Key<ForwardMessage>

Node

data class Node : INode

Constructors

<init>

合并转发消息

ForwardMessage(nodeList: Collection<INode>, displayStrategy: DisplayStrategy = DisplayStrategy)

Properties

displayStrategy

卡片显示方案

val displayStrategy: DisplayStrategy

nodeList

消息列表

val nodeList: Collection<INode>

Functions

contentToString

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

fun contentToString(): String

toString

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

fun toString(): String

Companion Object Properties

typeName

Key 指代的 Message 类型名. 一般为 class.simpleName, 如 "QuoteReply", "PlainText"

val typeName: String

Extension Functions

flatten

扁平化 Message

fun Message.flatten(): Sequence<SingleMessage>

isContentEmpty

判断消息内容是否为空.

fun Message.isContentEmpty(): Boolean

isContentNotEmpty

fun Message.isContentNotEmpty(): Boolean

isNotPlain

fun Message.isNotPlain(): Boolean

isNotPlain2

fun Message.isNotPlain2(): Boolean

isPlain

fun Message.isPlain(): Boolean

isPlain2

fun Message.isPlain2(): Boolean

repeat

fun Message.repeat(count: Int): MessageChain

repeat2

fun Message.repeat2(count: Int): MessageChain

sendTo

suspend fun <C : Contact> Message.sendTo(contact: C): MessageReceipt<C>

times

operator fun Message.times(count: Int): MessageChain

toForwardMessage

转换为 ForwardMessage

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