Add SingleMessage.asMessageChain

This commit is contained in:
Him188 2020-04-13 18:56:20 +08:00
parent 075ed6680f
commit 0a2152dc73
3 changed files with 9 additions and 2 deletions

View File

@ -7,7 +7,8 @@
* https://github.com/mamoe/mirai/blob/master/LICENSE
*/
@file:Suppress("EXPERIMENTAL_API_USAGE", "unused", "FunctionName", "NOTHING_TO_INLINE", "UnusedImport")
@file:Suppress("EXPERIMENTAL_API_USAGE", "unused", "FunctionName", "NOTHING_TO_INLINE", "UnusedImport",
"EXPERIMENTAL_OVERRIDE")
package net.mamoe.mirai

View File

@ -224,7 +224,7 @@ suspend inline fun <C : Contact> Message.sendTo(contact: C): MessageReceipt<C> {
inline fun Message.repeat(count: Int): MessageChain {
if (this is ConstrainSingle<*>) {
// fast-path
return SingleMessageChainImpl(this)
return this.asMessageChain()
}
return buildMessageChain(count) {
add(this@repeat)

View File

@ -234,6 +234,12 @@ fun Message.asMessageChain(): MessageChain = when (this) {
else -> SingleMessageChainImpl(this as SingleMessage)
}
/**
* 直接将 [this] 委托为一个 [MessageChain]
*/
@JvmSynthetic
fun SingleMessage.asMessageChain(): MessageChain = SingleMessageChainImpl(this)
/**
* 直接将 [this] 委托为一个 [MessageChain]
*/