mirror of
https://github.com/mamoe/mirai.git
synced 2025-02-13 11:30:13 +08:00
Fix length estimate for the case Quote + Image
This commit is contained in:
parent
997261fa3b
commit
993faee554
@ -12,10 +12,7 @@
|
|||||||
|
|
||||||
package net.mamoe.mirai.qqandroid.utils
|
package net.mamoe.mirai.qqandroid.utils
|
||||||
|
|
||||||
import net.mamoe.mirai.message.data.Image
|
import net.mamoe.mirai.message.data.*
|
||||||
import net.mamoe.mirai.message.data.MessageChain
|
|
||||||
import net.mamoe.mirai.message.data.PlainText
|
|
||||||
import net.mamoe.mirai.message.data.QuoteReply
|
|
||||||
import kotlin.jvm.JvmMultifileClass
|
import kotlin.jvm.JvmMultifileClass
|
||||||
import kotlin.jvm.JvmName
|
import kotlin.jvm.JvmName
|
||||||
|
|
||||||
@ -40,11 +37,18 @@ internal fun String.chineseLength(upTo: Int): Int {
|
|||||||
|
|
||||||
internal fun MessageChain.estimateLength(upTo: Int = Int.MAX_VALUE): Int =
|
internal fun MessageChain.estimateLength(upTo: Int = Int.MAX_VALUE): Int =
|
||||||
sumUpTo(upTo) { it, up ->
|
sumUpTo(upTo) { it, up ->
|
||||||
when (it) {
|
it.estimateLength(up)
|
||||||
is QuoteReply -> 700
|
}
|
||||||
|
|
||||||
|
@OptIn(ExperimentalMessageSource::class)
|
||||||
|
internal fun SingleMessage.estimateLength(upTo: Int = Int.MAX_VALUE): Int {
|
||||||
|
return when (this) {
|
||||||
|
is QuoteReply -> {
|
||||||
|
700 + source.originalMessage.estimateLength(upTo)
|
||||||
|
}
|
||||||
is Image -> 300
|
is Image -> 300
|
||||||
is PlainText -> it.stringValue.chineseLength(up)
|
is PlainText -> stringValue.chineseLength(upTo)
|
||||||
else -> it.toString().chineseLength(up)
|
else -> this.toString().chineseLength(upTo)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user