From 5200a4d8d4e07a2b75ff3ab44165daa938fae31a Mon Sep 17 00:00:00 2001 From: WhiteChi Date: Fri, 10 Nov 2023 18:33:04 +0800 Subject: [PATCH] `Shamrock`: fix #26 --- .../qqinterface/servlet/msg/MessageMaker.kt | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/xposed/src/main/java/moe/fuqiuluo/qqinterface/servlet/msg/MessageMaker.kt b/xposed/src/main/java/moe/fuqiuluo/qqinterface/servlet/msg/MessageMaker.kt index 09a710b..4dd7110 100644 --- a/xposed/src/main/java/moe/fuqiuluo/qqinterface/servlet/msg/MessageMaker.kt +++ b/xposed/src/main/java/moe/fuqiuluo/qqinterface/servlet/msg/MessageMaker.kt @@ -95,9 +95,27 @@ internal object MessageMaker { "reply" to MessageMaker::createReplyElem, "touch" to MessageMaker::createTouchElem, "weather" to MessageMaker::createWeatherElem, + "json" to MessageMaker::createJsonElem, //"multi_msg" to MessageMaker::createLongMsgStruct, ) + private suspend fun createJsonElem( + chatType: Int, + msgId: Long, + peerId: String, + data: JsonObject + ): Result { + data.checkAndThrow("data") + val jsonStr = data["data"].let { + if (it is JsonObject) it.asJsonObject.toString() else it.asString + } + val element = MsgElement() + element.elementType = MsgConstant.KELEMTYPEARKSTRUCT + val ark = ArkElement(jsonStr, null, null) + element.arkElement = ark + return Result.success(element) + } + private suspend fun createTouchElem( chatType: Int, msgId: Long,