From 3859236f4317493afc165b9cdc5059a013b74dc7 Mon Sep 17 00:00:00 2001 From: jie65535 Date: Mon, 3 Oct 2022 23:16:31 +0800 Subject: [PATCH] Fix Sync message issue (#9) --- src/main/kotlin/JGrasscutterCommand.kt | 2 +- src/main/kotlin/opencommand/OpenCommandApi.kt | 13 +++++++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/src/main/kotlin/JGrasscutterCommand.kt b/src/main/kotlin/JGrasscutterCommand.kt index 66313ad..2621799 100644 --- a/src/main/kotlin/JGrasscutterCommand.kt +++ b/src/main/kotlin/JGrasscutterCommand.kt @@ -189,7 +189,7 @@ object JGrasscutterCommand : KotlinPlugin( // 否则如果启用了同步消息,且控制台令牌不为空,且为群消息时 else if (server.consoleToken.isNotEmpty() && server.syncMessage && this is GroupMessageEvent) { try { - OpenCommandApi.runCommands( + OpenCommandApi.runCommand( server.address, server.consoleToken, "say ${sender.nameCardOrNick}:\n${this.message.contentToString()}") diff --git a/src/main/kotlin/opencommand/OpenCommandApi.kt b/src/main/kotlin/opencommand/OpenCommandApi.kt index 4650753..627e3b1 100644 --- a/src/main/kotlin/opencommand/OpenCommandApi.kt +++ b/src/main/kotlin/opencommand/OpenCommandApi.kt @@ -138,6 +138,19 @@ object OpenCommandApi { doRequest(host, json.encodeToString(VerifyRequest(token, code))) } + /** + * 运行命令,成功时返回命令执行结果,失败时抛出异常,异常详情参考doRequest描述 + * @param host 服务器地址 + * @param token 持久令牌 + * @param command 命令行 + * @return 命令执行结果 + * @see doRequest + */ + suspend fun runCommand(host: String, token: String, command: String): String { + val ret = doRequest(host, json.encodeToString(CommandRequest(token, command))) + return if (ret.isNullOrEmpty()) "OK" else ret + } + /** * 运行命令,成功时返回命令执行结果,失败时抛出异常,异常详情参考doRequest描述 * 允许单次执行多条命令,用换行(\n)分隔