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())