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

EmptyMessageChain

object EmptyMessageChain : MessageChain, Iterator<SingleMessage>

不含任何元素的 MessageChain.

Properties

size

元素数量. EmptyMessageChain 不参加计数.

val size: Int

Functions

contentToString

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

fun contentToString(): String

equals

fun equals(other: Any?): Boolean

hasNext

fun hasNext(): Boolean

iterator

fun iterator(): Iterator<SingleMessage>

next

fun next(): SingleMessage

toString

fun toString(): String

Extension Properties

bot

消息内部 id. 仅从服务器接收的消息才可以获取

val MessageChain.bot: Bot

id

消息 id. 仅从服务器接收的消息才可以获取

val MessageChain.id: Int

internalId

消息内部 id. 仅从服务器接收的消息才可以获取

val MessageChain.internalId: Int

source

获取这条消息源 仅从服务器接收的消息才可以获取消息源

val MessageChain.source: MessageSource

time

消息时间. 仅从服务器接收的消息才可以获取

val MessageChain.time: Int

Extension Functions

allContent

如果每一个 消息内容 都满足 block, 返回 true

fun MessageChain.allContent(block: (MessageContent) -> Boolean): Boolean

any

获取第一个 M 类型的 Message 实例

fun <M : Message> MessageChain.any(key: Key<M>): Boolean

anyIsInstance

获取第一个 M 类型的 Message 实例

fun <M : Message> MessageChain.anyIsInstance(): Boolean

first

获取第一个 M 类型的 Message 实例

fun <M : Message> MessageChain.first(key: Key<M>): M

firstIsInstance

获取第一个 M 类型的 Message 实例

fun <M : Message> MessageChain.firstIsInstance(): M

firstIsInstanceOrNull

获取第一个 M 类型的 Message 实例

fun <M : Message?> MessageChain.firstIsInstanceOrNull(): M?

firstOrNull

获取第一个 M 类型的 Message 实例

fun <M : Message> MessageChain.firstOrNull(key: Key<M>): M?

forEachContent

遍历每一个 消息内容

fun MessageChain.forEachContent(block: (MessageContent) -> Unit): Unit

foreachContent

fun MessageChain.foreachContent(block: (MessageContent) -> Unit): Unit

getValue

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

operator fun <T : Message> MessageChain.getValue(thisRef: Any?, property: KProperty<*>): T

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

noneContent

如果每一个 消息内容 都不满足 block, 返回 true

fun MessageChain.noneContent(block: (MessageContent) -> Boolean): Boolean

orElse

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

fun <T : Message?> MessageChain.orElse(lazyDefault: () -> T): OrNullDelegate<T>

orNull

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

fun <T : Message> MessageChain.orNull(): OrNullDelegate<T?>

quote

引用这条消息

fun MessageChain.quote(): QuoteReply

recall

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

suspend fun MessageChain.recall(): Unit

recallIn

在一段时间后撤回这条消息. 可撤回自己 2 分钟内发出的消息, 和任意时间的群成员的消息.

fun MessageChain.recallIn(millis: Long, coroutineContext: CoroutineContext = EmptyCoroutineContext): Job

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>

this 发送给指定联系人

suspend fun <C : Contact> MessageChain.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