diff --git a/xposed/src/main/java/moe/fuqiuluo/qqinterface/servlet/MsgSvc.kt b/xposed/src/main/java/moe/fuqiuluo/qqinterface/servlet/MsgSvc.kt index 7c0e335..0fb84c0 100644 --- a/xposed/src/main/java/moe/fuqiuluo/qqinterface/servlet/MsgSvc.kt +++ b/xposed/src/main/java/moe/fuqiuluo/qqinterface/servlet/MsgSvc.kt @@ -171,6 +171,7 @@ internal object MsgSvc: BaseSvc() { peedId: String, message: JsonArray, fromId: String = peedId, + retryCnt: Int ): Result { // 主动临时消息 when (chatType) { diff --git a/xposed/src/main/java/moe/fuqiuluo/shamrock/remote/action/handlers/QuickOperation.kt b/xposed/src/main/java/moe/fuqiuluo/shamrock/remote/action/handlers/QuickOperation.kt index 7b300ed..34f0efc 100644 --- a/xposed/src/main/java/moe/fuqiuluo/shamrock/remote/action/handlers/QuickOperation.kt +++ b/xposed/src/main/java/moe/fuqiuluo/shamrock/remote/action/handlers/QuickOperation.kt @@ -122,7 +122,7 @@ internal object QuickOperation: IActionHandler() { }.let { if (it.isNotEmpty()) { it.map { listOf(it) }.forEach { - MsgSvc.sendToAio(record.chatType, record.peerUin.toString(), it.jsonArray) + MsgSvc.sendToAio(record.chatType, record.peerUin.toString(), it.jsonArray, retryCnt = 3) } return } @@ -143,6 +143,6 @@ internal object QuickOperation: IActionHandler() { ).json) // 添加@发送者 } messageList.addAll(message) - MsgSvc.sendToAio(record.chatType, record.peerUin.toString(), JsonArray(messageList)) + MsgSvc.sendToAio(record.chatType, record.peerUin.toString(), JsonArray(messageList), retryCnt = 3) } } \ No newline at end of file diff --git a/xposed/src/main/java/moe/fuqiuluo/shamrock/remote/action/handlers/SendMessage.kt b/xposed/src/main/java/moe/fuqiuluo/shamrock/remote/action/handlers/SendMessage.kt index 5114ce6..e0fc937 100644 --- a/xposed/src/main/java/moe/fuqiuluo/shamrock/remote/action/handlers/SendMessage.kt +++ b/xposed/src/main/java/moe/fuqiuluo/shamrock/remote/action/handlers/SendMessage.kt @@ -12,7 +12,6 @@ import moe.fuqiuluo.shamrock.helper.ParamsException import moe.fuqiuluo.qqinterface.servlet.MsgSvc import kotlinx.serialization.json.JsonArray import kotlinx.serialization.json.JsonElement -import moe.fuqiuluo.shamrock.helper.ContactHelper import moe.fuqiuluo.shamrock.remote.service.data.MessageResult import moe.fuqiuluo.shamrock.tools.json import moe.fuqiuluo.shamrock.helper.Level @@ -93,7 +92,7 @@ internal object SendMessage: IActionHandler() { "text" to message ) ) - ).json, fromId = fromId) + ).json, fromId = fromId, retryCnt) } else { val msg = MessageHelper.decodeCQCode(message) if (msg.isEmpty()) { @@ -106,14 +105,14 @@ internal object SendMessage: IActionHandler() { if (result.isFailure) { return logic(result.exceptionOrNull()?.message ?: "", echo) } - val pair = result.getOrNull() ?: Pair(0L, 0) - if (pair.first <= 0) { + val sendMsgResult = result.getOrThrow() + if (sendMsgResult.msgHashId <= 0) { return logic("send message failed", echo = echo) } - recallDuration?.let { autoRecall(pair.second, it) } + recallDuration?.let { autoRecall(sendMsgResult.msgHashId, it) } return ok(MessageResult( - msgId = pair.second, - time = (pair.first * 0.001).toLong() + msgId = sendMsgResult.msgHashId, + time = (sendMsgResult.msgTime * 0.001).toLong() ), echo = echo) } @@ -128,14 +127,14 @@ internal object SendMessage: IActionHandler() { if (result.isFailure) { return logic(result.exceptionOrNull()?.message ?: "", echo) } - val pair = result.getOrNull() ?: Pair(0L, 0) - if (pair.first <= 0) { + val sendMsgResult = result.getOrThrow() + if (sendMsgResult.msgHashId <= 0) { return logic("send message failed", echo = echo) } - recallDuration?.let { autoRecall(pair.second, it) } + recallDuration?.let { autoRecall(sendMsgResult.msgHashId, it) } return ok(MessageResult( - msgId = pair.second, - time = (pair.first * 0.001).toLong() + msgId = sendMsgResult.msgHashId, + time = (sendMsgResult.msgTime * 0.001).toLong() ), echo) }