From d8228c523efaa90e523bdf8c26ff9bb1da878deb Mon Sep 17 00:00:00 2001 From: Him188 Date: Mon, 28 Dec 2020 15:54:48 +0800 Subject: [PATCH] Fix voice transform --- .../commonMain/kotlin/contact/GroupImpl.kt | 2 +- .../commonMain/kotlin/message/conversions.kt | 27 ++++--------------- .../chat/receive/MessageSvc.PbSendMsg.kt | 2 +- .../protocol/packet/chat/voice/PttStore.kt | 2 +- 4 files changed, 8 insertions(+), 25 deletions(-) diff --git a/mirai-core/src/commonMain/kotlin/contact/GroupImpl.kt b/mirai-core/src/commonMain/kotlin/contact/GroupImpl.kt index 32f2f1bcc..b279d6786 100644 --- a/mirai-core/src/commonMain/kotlin/contact/GroupImpl.kt +++ b/mirai-core/src/commonMain/kotlin/contact/GroupImpl.kt @@ -283,7 +283,7 @@ internal class GroupImpl( response.fileKey, ) Voice( - "${resource.md5.toUHexString("")}.${resource.formatName}", + "${resource.md5.toUHexString("")}.amr", resource.md5, resource.size, resource.voiceCodec, diff --git a/mirai-core/src/commonMain/kotlin/message/conversions.kt b/mirai-core/src/commonMain/kotlin/message/conversions.kt index 5108942b6..cbf6dff22 100644 --- a/mirai-core/src/commonMain/kotlin/message/conversions.kt +++ b/mirai-core/src/commonMain/kotlin/message/conversions.kt @@ -244,31 +244,14 @@ internal fun MsgComm.Msg.toMessageChain( groupIdOrZero: Long, onlineSource: Boolean, isTemp: Boolean = false -): MessageChain = toMessageChain(bot, bot.id, groupIdOrZero, onlineSource, isTemp) +): MessageChain = listOf(this).toMessageChain(bot, bot.id, groupIdOrZero, onlineSource, isTemp) internal fun List.toMessageChain( bot: Bot, groupIdOrZero: Long, onlineSource: Boolean, isTemp: Boolean = false -): MessageChain = toMessageChain(bot, bot.id, groupIdOrZero, onlineSource, isTemp) - -@JvmName("toMessageChain1") -internal fun List.toMessageChain( - bot: Bot?, - botId: Long, - groupIdOrZero: Long, - onlineSource: Boolean, - isTemp: Boolean = false -): MessageChain = map { it.msg }.toMessageChain(bot, botId, groupIdOrZero, onlineSource, isTemp) - -internal fun MsgComm.Msg.toMessageChain( - bot: Bot?, - botId: Long, - groupIdOrZero: Long, - onlineSource: Boolean, - isTemp: Boolean = false -): MessageChain = listOf(this).toMessageChain(bot, botId, groupIdOrZero, onlineSource, isTemp) +): MessageChain = map { it.msg }.toMessageChain(bot, bot.id, groupIdOrZero, onlineSource, isTemp) internal fun List.toMessageChain( bot: Bot?, @@ -280,7 +263,7 @@ internal fun List.toMessageChain( val elements = this.flatMap { it.msgBody.richText.elems } @OptIn(ExperimentalStdlibApi::class) - val ppts = buildList { + val ptts = buildList { this@toMessageChain.forEach { msg -> msg.msgBody.richText.ptt?.run { // when (fileType) { @@ -291,7 +274,7 @@ internal fun List.toMessageChain( } } } - return buildMessageChain(elements.size + 1 + ppts.size) { + return buildMessageChain(elements.size + 1 + ptts.size) { if (onlineSource) { checkNotNull(bot) { "bot is null" } when { @@ -303,7 +286,7 @@ internal fun List.toMessageChain( +OfflineMessageSourceImplByMsg(this@toMessageChain, botId) } elements.joinToMessageChain(groupIdOrZero, botId, this) - addAll(ppts) + addAll(ptts) }.cleanupRubbishMessageElements() } diff --git a/mirai-core/src/commonMain/kotlin/network/protocol/packet/chat/receive/MessageSvc.PbSendMsg.kt b/mirai-core/src/commonMain/kotlin/network/protocol/packet/chat/receive/MessageSvc.PbSendMsg.kt index 5917f3e08..72c83f1cc 100644 --- a/mirai-core/src/commonMain/kotlin/network/protocol/packet/chat/receive/MessageSvc.PbSendMsg.kt +++ b/mirai-core/src/commonMain/kotlin/network/protocol/packet/chat/receive/MessageSvc.PbSendMsg.kt @@ -277,7 +277,7 @@ internal object MessageSvcPbSendMsg : OutgoingPacketFactory