From f17b4924c9438b4a0ba322a38e39e86840c2d356 Mon Sep 17 00:00:00 2001 From: WhiteChi Date: Wed, 1 Nov 2023 21:32:16 +0800 Subject: [PATCH] =?UTF-8?q?`Shamrock`:=20=E9=9B=91=E8=AB=87=E3=83=8B?= =?UTF-8?q?=E3=83=83=E3=82=AF=E3=83=8D=E3=83=BC=E3=83=A0=E3=81=AE=E7=B4=9B?= =?UTF-8?q?=E5=A4=B1=E3=82=92=E4=BF=AE=E6=AD=A3=E3=81=99=E3=82=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: WhiteChi --- .../remote/service/api/GlobalEventTransmitter.kt | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/xposed/src/main/java/moe/fuqiuluo/shamrock/remote/service/api/GlobalEventTransmitter.kt b/xposed/src/main/java/moe/fuqiuluo/shamrock/remote/service/api/GlobalEventTransmitter.kt index 34a3a31..6cb6bc4 100644 --- a/xposed/src/main/java/moe/fuqiuluo/shamrock/remote/service/api/GlobalEventTransmitter.kt +++ b/xposed/src/main/java/moe/fuqiuluo/shamrock/remote/service/api/GlobalEventTransmitter.kt @@ -5,6 +5,7 @@ import com.tencent.qqnt.kernel.nativeinterface.MsgRecord import kotlinx.coroutines.flow.FlowCollector import kotlinx.coroutines.flow.MutableSharedFlow import moe.fuqiuluo.qqinterface.servlet.BaseSvc +import moe.fuqiuluo.qqinterface.servlet.CardSvc import moe.fuqiuluo.qqinterface.servlet.GroupSvc import moe.fuqiuluo.qqinterface.servlet.msg.convert.toSegments import moe.fuqiuluo.shamrock.remote.service.config.ShamrockConfig @@ -96,17 +97,23 @@ internal object GlobalEventTransmitter: BaseSvc() { postType: PostType = PostType.Msg, tempSource: MessageTempSource = MessageTempSource.Unknown ): Boolean { - val uin = app.longAccountUin + val botUin = app.longAccountUin + var nickName = record.sendNickName + if (nickName.isNullOrBlank()) { + CardSvc.getProfileCard(record.senderUin.toString()).onSuccess { + nickName = it.strNick ?: "" + } + } transMessageEvent(record, MessageEvent( time = record.msgTime, - selfId = uin, + selfId = botUin, postType = postType, messageType = MsgType.Private, subType = MsgSubType.Friend, messageId = msgHash, targetId = record.peerUin, - peerId = uin, + peerId = botUin, userId = record.senderUin, message = if(ShamrockConfig.useCQ()) rawMsg.json else elements.toSegments(record.chatType, record.peerUin.toString()).map { @@ -116,7 +123,7 @@ internal object GlobalEventTransmitter: BaseSvc() { font = 0, sender = Sender( userId = record.senderUin, - nickname = record.sendNickName, + nickname = nickName, card = record.sendMemberName, role = MemberRole.Member, title = "",