From f7092976f1036daa2f1b49df0530299111a07f18 Mon Sep 17 00:00:00 2001 From: Him188 Date: Fri, 7 Feb 2020 12:31:20 +0800 Subject: [PATCH] Ignore offline messages --- .../protocol/packet/chat/receive/MessageSvc.kt | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/mirai-core-qqandroid/src/commonMain/kotlin/net/mamoe/mirai/qqandroid/network/protocol/packet/chat/receive/MessageSvc.kt b/mirai-core-qqandroid/src/commonMain/kotlin/net/mamoe/mirai/qqandroid/network/protocol/packet/chat/receive/MessageSvc.kt index e395cd16a..a47583e6b 100644 --- a/mirai-core-qqandroid/src/commonMain/kotlin/net/mamoe/mirai/qqandroid/network/protocol/packet/chat/receive/MessageSvc.kt +++ b/mirai-core-qqandroid/src/commonMain/kotlin/net/mamoe/mirai/qqandroid/network/protocol/packet/chat/receive/MessageSvc.kt @@ -121,12 +121,15 @@ internal class MessageSvc { val messages = resp.uinPairMsgs.asSequence().filterNot { it.msg == null }.flatMap { it.msg!!.asSequence() }.mapNotNull { when (it.msgHead.msgType) { 166 -> { - if (it.msgHead.fromUin == bot.uin) null - else FriendMessage( - bot, - bot.getFriend(it.msgHead.fromUin), - it.msgBody.richText.toMessageChain() - ) + when { + it.msgHead.fromUin == bot.uin -> null + !bot.firstLoginSucceed -> null + else -> FriendMessage( + bot, + bot.getFriend(it.msgHead.fromUin), + it.msgBody.richText.toMessageChain() + ) + } } else -> null } @@ -173,7 +176,7 @@ internal class MessageSvc { } data class Failed(val errorCode: Int, val errorMessage: String) : Response() { - override fun toString(): String = "MessageSvc.PbSendMsg.Response.Failed(errorCode=$errorCode, errorMessage=$errorMessage" + override fun toString(): String = "MessageSvc.PbSendMsg.Response.Failed(errorCode=$errorCode, errorMessage=$errorMessage)" } }