From 838b094487a1f6e2d74cff23dae9384c7e20db50 Mon Sep 17 00:00:00 2001 From: Him188 Date: Wed, 16 Sep 2020 09:07:53 +0800 Subject: [PATCH] Remove confusing At and space before QuoteReply, fix #522 --- .../mamoe/mirai/qqandroid/message/conversions.kt | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/mirai-core-qqandroid/src/commonMain/kotlin/net/mamoe/mirai/qqandroid/message/conversions.kt b/mirai-core-qqandroid/src/commonMain/kotlin/net/mamoe/mirai/qqandroid/message/conversions.kt index 662f52db3..9343a3a06 100644 --- a/mirai-core-qqandroid/src/commonMain/kotlin/net/mamoe/mirai/qqandroid/message/conversions.kt +++ b/mirai-core-qqandroid/src/commonMain/kotlin/net/mamoe/mirai/qqandroid/message/conversions.kt @@ -301,6 +301,17 @@ private fun MessageChain.cleanupRubbishMessageElements(): MessageChain { return@forEach } } + + + if (element is QuoteReply) { + // 客户端为兼容早期不支持 QuoteReply 的客户端而添加的 At + removeLastOrNull()?.let { rm -> + if ((rm as? PlainText)?.content != " ") add(rm) + else removeLastOrNull()?.let { rm2 -> + if (rm2 !is At) add(rm2) + } + } + } add(element) last = element } @@ -320,7 +331,7 @@ internal val MIRAI_CUSTOM_ELEM_TYPE = "mirai".hashCode() // 103904510 @Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") internal fun List.joinToMessageChain(groupIdOrZero: Long, bot: Bot, list: MessageChainBuilder) { - // (this._miraiContentToString()) + (this._miraiContentToString().soutv()) this.forEach { element -> when { element.srcMsg != null -> {