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

OfflineMessageSource

@SinceMirai("0.33.0") abstract class OfflineMessageSource : MessageSource

由一条消息中的 QuoteReply 得到的 MessageSource. 此消息源可能来自一条与机器人无关的消息. 因此无法提供对象化的 sendertarget 获取.

See Also

buildMessageSource

Types

Key

companion object Key : Key<OfflineMessageSource>

Kind

enum class Kind

Constructors

<init>

由一条消息中的 QuoteReply 得到的 MessageSource. 此消息源可能来自一条与机器人无关的消息. 因此无法提供对象化的 sendertarget 获取.

OfflineMessageSource()

Properties

kind

消息种类

abstract val kind: Kind

Companion Object Properties

typeName

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

val typeName: String

Extension Functions

copyAmend

复制这个消息源, 并以 block 修改

fun MessageSource.copyAmend(block: MessageSourceAmender.() -> Unit): OfflineMessageSource

flatten

扁平化 Message

fun Message.flatten(): Sequence<SingleMessage>

isAboutFriend

判断是否是发送给好友, 或从好友接收的消息的消息源

fun MessageSource.isAboutFriend(): Boolean

isAboutGroup

判断是否是发送给群, 或从群接收的消息的消息源

fun MessageSource.isAboutGroup(): Boolean

isAboutTemp

判断是否是发送给临时会话, 或从临时会话接收的消息的消息源

fun MessageSource.isAboutTemp(): Boolean

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

quote

引用这条消息

fun MessageSource.quote(): QuoteReply

recall

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

suspend fun MessageSource.recall(): Unit

recallIn

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

fun MessageSource.recallIn(timeMillis: 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>

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