From 17b34b9d10b38bd27b669d3a4fa7a8c9c1850370 Mon Sep 17 00:00:00 2001
From: Him188 <Him188@mamoe.net>
Date: Sun, 8 Mar 2020 13:27:23 +0800
Subject: [PATCH] Simplify group quote

---
 .../qqandroid/message/MessageSourceImpl.kt    | 31 +++----------------
 .../mamoe/mirai/qqandroid/message/messages.kt |  2 +-
 2 files changed, 6 insertions(+), 27 deletions(-)

diff --git a/mirai-core-qqandroid/src/commonMain/kotlin/net/mamoe/mirai/qqandroid/message/MessageSourceImpl.kt b/mirai-core-qqandroid/src/commonMain/kotlin/net/mamoe/mirai/qqandroid/message/MessageSourceImpl.kt
index fbcd66912..53dad7330 100644
--- a/mirai-core-qqandroid/src/commonMain/kotlin/net/mamoe/mirai/qqandroid/message/MessageSourceImpl.kt
+++ b/mirai-core-qqandroid/src/commonMain/kotlin/net/mamoe/mirai/qqandroid/message/MessageSourceImpl.kt
@@ -23,6 +23,7 @@ import net.mamoe.mirai.qqandroid.io.serialization.toByteArray
 import net.mamoe.mirai.qqandroid.network.protocol.data.proto.ImMsgBody
 import net.mamoe.mirai.qqandroid.network.protocol.data.proto.MsgComm
 import net.mamoe.mirai.qqandroid.network.protocol.data.proto.SourceMsg
+import net.mamoe.mirai.qqandroid.network.protocol.packet.EMPTY_BYTE_ARRAY
 import net.mamoe.mirai.qqandroid.network.protocol.packet.chat.receive.OnlinePush
 import net.mamoe.mirai.utils.MiraiExperimentalAPI
 
@@ -40,7 +41,7 @@ internal class MessageSourceFromServer(
             ?: error("cannot find sequenceId from ImMsgBody.SourceMsg")).toLong().shl(32) or
                 delegate.pbReserve.loadAs(SourceMsg.ResvAttr.serializer()).origUids!!.and(0xFFFFFFFF)
 
-    override val toUin: Long get() = delegate.toUin
+    override val toUin: Long get() = delegate.toUin // always 0
 
     override suspend fun ensureSequenceIdAvailable() {
         // nothing to do
@@ -118,38 +119,16 @@ internal class MessageSourceFromMsg(
     }
 
     private fun toJceDataImplForGroup(): ImMsgBody.SourceMsg {
-
-        val groupUin = Group.calculateGroupUinByGroupCode(groupId)
-
         return ImMsgBody.SourceMsg(
             origSeqs = listOf(delegate.msgHead.msgSeq),
             senderUin = delegate.msgHead.fromUin,
-            toUin = groupUin,
+            toUin = 0,
             flag = 1,
             elems = delegate.msgBody.richText.elems,
             type = 0,
             time = delegate.msgHead.msgTime,
-            pbReserve = SourceMsg.ResvAttr(
-                origUids = messageRandom.toLong() and 0xffFFffFF
-            ).toByteArray(SourceMsg.ResvAttr.serializer()),
-            srcMsg = MsgComm.Msg(
-                msgHead = MsgComm.MsgHead(
-                    fromUin = delegate.msgHead.fromUin, // qq
-                    toUin = groupUin, // group
-                    msgType = delegate.msgHead.msgType, // 82?
-                    c2cCmd = delegate.msgHead.c2cCmd,
-                    msgSeq = delegate.msgHead.msgSeq,
-                    msgTime = delegate.msgHead.msgTime,
-                    msgUid = messageRandom.toLong() and 0xffFFffFF, // ok
-                    groupInfo = MsgComm.GroupInfo(groupCode = groupId),
-                    isSrcMsg = true
-                ),
-                msgBody = ImMsgBody.MsgBody(
-                    richText = ImMsgBody.RichText(
-                        elems = elems
-                    )
-                )
-            ).toByteArray(MsgComm.Msg.serializer())
+            pbReserve = EMPTY_BYTE_ARRAY,
+            srcMsg = EMPTY_BYTE_ARRAY
         )
     }
 
diff --git a/mirai-core-qqandroid/src/commonMain/kotlin/net/mamoe/mirai/qqandroid/message/messages.kt b/mirai-core-qqandroid/src/commonMain/kotlin/net/mamoe/mirai/qqandroid/message/messages.kt
index bfa2ac150..6ef8345de 100644
--- a/mirai-core-qqandroid/src/commonMain/kotlin/net/mamoe/mirai/qqandroid/message/messages.kt
+++ b/mirai-core-qqandroid/src/commonMain/kotlin/net/mamoe/mirai/qqandroid/message/messages.kt
@@ -252,7 +252,7 @@ internal fun MessageChain.toRichTextElems(forGroup: Boolean): MutableList<ImMsgB
             is QuoteReplyToSend -> {
                 if (forGroup) {
                     check(it is QuoteReplyToSend.ToGroup) {
-                        "sending a quote to group suing QuoteReplyToSend.ToFriend"
+                        "sending a quote to group using QuoteReplyToSend.ToFriend"
                     }
                     if (it.sender is Member) {
                         transformOneMessage(it.createAt())