From 4a6109fbe622bc7ab2ceaf51d31ec45338ebc24a Mon Sep 17 00:00:00 2001 From: huan_kong <2564076459@qq.com> Date: Thu, 29 Feb 2024 23:35:23 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E4=BF=AE=E6=AD=A3=20websocket=20=E4=B8=AD?= =?UTF-8?q?=20alias=20=E7=9A=84=E5=90=8D=E7=A7=B0=20=E4=BF=AE=E6=AD=A3=20Q?= =?UTF-8?q?uickOperation=20=E4=B8=AD=20=E9=94=99=E8=AF=AF=E7=9A=84?= =?UTF-8?q?=E8=BF=94=E5=9B=9E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../fuqiuluo/shamrock/remote/action/handlers/FavAddTextMsg.kt | 2 +- .../fuqiuluo/shamrock/remote/action/handlers/QuickOperation.kt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/xposed/src/main/java/moe/fuqiuluo/shamrock/remote/action/handlers/FavAddTextMsg.kt b/xposed/src/main/java/moe/fuqiuluo/shamrock/remote/action/handlers/FavAddTextMsg.kt index 25626be..ae15c39 100644 --- a/xposed/src/main/java/moe/fuqiuluo/shamrock/remote/action/handlers/FavAddTextMsg.kt +++ b/xposed/src/main/java/moe/fuqiuluo/shamrock/remote/action/handlers/FavAddTextMsg.kt @@ -16,7 +16,7 @@ import moe.fuqiuluo.symbols.OneBotHandler import moe.fuqiuluo.symbols.decodeProtobuf import protobuf.fav.WeiyunComm -@OneBotHandler("fav.add_text_msg", ["fav.add_text_msg"]) +@OneBotHandler("fav.add_text_msg", ["fav.add_text_message"]) internal object FavAddTextMsg: IActionHandler() { override suspend fun internalHandle(session: ActionSession): String { val uin = session.getLong("user_id") 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 d1e1697..bbda48f 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 @@ -106,7 +106,7 @@ internal object QuickOperation : IActionHandler() { } - return logic("操作成功", session.echo) + return ok("操作成功", session.echo) } override val requiredParams: Array = arrayOf("context", "operation", "self_id") From 26b4d95ad855f83b435e79a90530398a2af1eeae Mon Sep 17 00:00:00 2001 From: huan_kong <2564076459@qq.com> Date: Thu, 29 Feb 2024 23:56:00 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E4=BF=AE=E6=AD=A3=E9=94=99=E8=AF=AF?= =?UTF-8?q?=E7=9A=84=E6=8B=BC=E5=86=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../moe/fuqiuluo/shamrock/remote/action/handlers/ScanQRCode.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/xposed/src/main/java/moe/fuqiuluo/shamrock/remote/action/handlers/ScanQRCode.kt b/xposed/src/main/java/moe/fuqiuluo/shamrock/remote/action/handlers/ScanQRCode.kt index ce0cf85..54936c9 100644 --- a/xposed/src/main/java/moe/fuqiuluo/shamrock/remote/action/handlers/ScanQRCode.kt +++ b/xposed/src/main/java/moe/fuqiuluo/shamrock/remote/action/handlers/ScanQRCode.kt @@ -7,7 +7,7 @@ import moe.fuqiuluo.shamrock.remote.action.ActionSession import moe.fuqiuluo.shamrock.remote.action.IActionHandler import moe.fuqiuluo.symbols.OneBotHandler -@OneBotHandler("sanc_qrcode") +@OneBotHandler("scan_qrcode") internal object ScanQRCode: IActionHandler() { override suspend fun internalHandle(session: ActionSession): String { val qrcode = QRoute.api(IQRCodeApi::class.java) From 9546e90bec62dfb0d4e0d143150863110ac01a9b Mon Sep 17 00:00:00 2001 From: huan_kong <2564076459@qq.com> Date: Fri, 1 Mar 2024 00:23:46 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E4=BF=AE=E6=AD=A3=E6=8A=A5=E9=94=99?= =?UTF-8?q?=E6=97=A0=E6=B3=95=E9=80=9A=E8=BF=87=20Websocket=20=E8=BF=94?= =?UTF-8?q?=E5=9B=9E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../action/handlers/SendGroupMessage.kt | 33 +++++++++++-------- .../remote/action/handlers/SendGroupSign.kt | 10 +++++- 2 files changed, 29 insertions(+), 14 deletions(-) diff --git a/xposed/src/main/java/moe/fuqiuluo/shamrock/remote/action/handlers/SendGroupMessage.kt b/xposed/src/main/java/moe/fuqiuluo/shamrock/remote/action/handlers/SendGroupMessage.kt index 05ba3eb..eaae6e9 100644 --- a/xposed/src/main/java/moe/fuqiuluo/shamrock/remote/action/handlers/SendGroupMessage.kt +++ b/xposed/src/main/java/moe/fuqiuluo/shamrock/remote/action/handlers/SendGroupMessage.kt @@ -1,6 +1,7 @@ package moe.fuqiuluo.shamrock.remote.action.handlers import com.tencent.qqnt.kernel.nativeinterface.MsgConstant +import moe.fuqiuluo.shamrock.helper.ParamsException import moe.fuqiuluo.shamrock.remote.action.ActionSession import moe.fuqiuluo.shamrock.remote.action.IActionHandler import moe.fuqiuluo.shamrock.tools.jsonArray @@ -9,19 +10,25 @@ import moe.fuqiuluo.symbols.OneBotHandler @OneBotHandler("send_group_message", ["send_group_msg"]) internal object SendGroupMessage: IActionHandler() { override suspend fun internalHandle(session: ActionSession): String { - val groupId = session.getLong("group_id") - val retryCnt = session.getIntOrNull("retry_cnt") - val recallDuration = session.getLongOrNull("recall_duration") - return if (session.isString("message")) { - val autoEscape = session.getBooleanOrDefault("auto_escape", false) - val message = session.getString("message") - SendMessage(MsgConstant.KCHATTYPEGROUP, groupId.toString(), message, autoEscape, echo = session.echo, retryCnt = retryCnt ?: 5, recallDuration = recallDuration) - } else if (session.isObject("message")) { - val message = session.getObject("message") - SendMessage(MsgConstant.KCHATTYPEGROUP, groupId.toString(), listOf( message ).jsonArray, session.echo, retryCnt = retryCnt ?: 5, recallDuration = recallDuration) - } else { - val message = session.getArray("message") - SendMessage(MsgConstant.KCHATTYPEGROUP, groupId.toString(), message, session.echo, retryCnt = retryCnt ?: 5, recallDuration = recallDuration) + try{ + val groupId = session.getLong("group_id") + val retryCnt = session.getIntOrNull("retry_cnt") + val recallDuration = session.getLongOrNull("recall_duration") + return if (session.isString("message")) { + val autoEscape = session.getBooleanOrDefault("auto_escape", false) + val message = session.getString("message") + SendMessage(MsgConstant.KCHATTYPEGROUP, groupId.toString(), message, autoEscape, echo = session.echo, retryCnt = retryCnt ?: 5, recallDuration = recallDuration) + } else if (session.isObject("message")) { + val message = session.getObject("message") + SendMessage(MsgConstant.KCHATTYPEGROUP, groupId.toString(), listOf( message ).jsonArray, session.echo, retryCnt = retryCnt ?: 5, recallDuration = recallDuration) + } else { + val message = session.getArray("message") + SendMessage(MsgConstant.KCHATTYPEGROUP, groupId.toString(), message, session.echo, retryCnt = retryCnt ?: 5, recallDuration = recallDuration) + } + } catch (e: ParamsException) { + return noParam(e.message!!, session.echo) + } catch (e: Throwable) { + return logic(e.message ?: e.toString(), session.echo) } } diff --git a/xposed/src/main/java/moe/fuqiuluo/shamrock/remote/action/handlers/SendGroupSign.kt b/xposed/src/main/java/moe/fuqiuluo/shamrock/remote/action/handlers/SendGroupSign.kt index d784c8c..70d28dc 100644 --- a/xposed/src/main/java/moe/fuqiuluo/shamrock/remote/action/handlers/SendGroupSign.kt +++ b/xposed/src/main/java/moe/fuqiuluo/shamrock/remote/action/handlers/SendGroupSign.kt @@ -1,7 +1,10 @@ package moe.fuqiuluo.shamrock.remote.action.handlers +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable import kotlinx.serialization.json.JsonElement import moe.fuqiuluo.qqinterface.servlet.GroupSvc +import moe.fuqiuluo.qqinterface.servlet.structures.GuildInfo import moe.fuqiuluo.shamrock.remote.action.ActionSession import moe.fuqiuluo.shamrock.remote.action.IActionHandler import moe.fuqiuluo.shamrock.tools.EmptyJsonString @@ -17,11 +20,16 @@ internal object SendGroupSign: IActionHandler() { suspend operator fun invoke(groupId: Long, echo: JsonElement = EmptyJsonString): String { val ret = GroupSvc.groupSign(groupId) return if (ret.isSuccess) { - ok(ret.getOrNull() ?: "", echo) + ok(Message(message = ret.getOrNull() ?: ""), echo, "成功") } else { logic(ret.exceptionOrNull()?.message ?: "", echo) } } override val requiredParams: Array = arrayOf("group_id") + + @Serializable + data class Message( + @SerialName("message") var message: String = "" + ) } \ No newline at end of file