From 79e61e28a26049ab941af7ea52eb05f8f9ed85fa Mon Sep 17 00:00:00 2001 From: Eyre_S Date: Mon, 14 Mar 2022 14:10:56 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=9C=E7=BA=BF=E5=93=8D=E5=BA=94=E4=BD=BF?= =?UTF-8?q?=E5=85=B6=E5=9F=BA=E6=9C=AC=E7=AC=A6=E5=90=88=20t.me/hasutestbo?= =?UTF-8?q?t=20=E6=A0=87=E5=87=86=20(#26)=20=E4=BF=AE=E5=A4=8D=E7=89=88?= =?UTF-8?q?=E6=9C=AC=E5=8F=B7=E6=94=B9=E9=94=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- gradle.properties | 2 +- .../cono/morny/GradleProjectConfigures.java | 4 +- .../morny/bot/event/OnUserSlashAction.java | 41 +++++++++---------- 3 files changed, 22 insertions(+), 25 deletions(-) diff --git a/gradle.properties b/gradle.properties index 5667829..f0b6faa 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,6 +1,6 @@ ## Core -VERSION = 0.5.2.1 +VERSION = 0.6.0.2 # dependencies diff --git a/src/main/java/cc/sukazyo/cono/morny/GradleProjectConfigures.java b/src/main/java/cc/sukazyo/cono/morny/GradleProjectConfigures.java index 8d7906c..1316cb7 100644 --- a/src/main/java/cc/sukazyo/cono/morny/GradleProjectConfigures.java +++ b/src/main/java/cc/sukazyo/cono/morny/GradleProjectConfigures.java @@ -4,6 +4,6 @@ package cc.sukazyo.cono.morny; * the final field that will be updated by gradle automatically. */ public class GradleProjectConfigures { - public static final String VERSION = "0.5.2.1"; - public static final long COMPILE_TIMESTAMP = 1647170439025L; + public static final String VERSION = "0.6.0.2"; + public static final long COMPILE_TIMESTAMP = 1647237887029L; } diff --git a/src/main/java/cc/sukazyo/cono/morny/bot/event/OnUserSlashAction.java b/src/main/java/cc/sukazyo/cono/morny/bot/event/OnUserSlashAction.java index 5c4cf79..bfb5da3 100644 --- a/src/main/java/cc/sukazyo/cono/morny/bot/event/OnUserSlashAction.java +++ b/src/main/java/cc/sukazyo/cono/morny/bot/event/OnUserSlashAction.java @@ -38,25 +38,23 @@ public class OnUserSlashAction extends EventListener { return false; } - int prefixLength = 1; - boolean useVerbSuffix = true; - boolean useObjectPrefix = true; - if (text.startsWith("//#") || text.startsWith("///")) { - useVerbSuffix = false; - useObjectPrefix = false; - prefixLength = 3; - } else if (text.startsWith("/#")) { - useObjectPrefix = false; - prefixLength = 2; - } else if (text.startsWith("//")) { - useVerbSuffix = false; - prefixLength = 2; + final String[] action = CommonCommand.format(text); + action[0] = action[0].substring(1); + + if (action[0].matches("^[a-zA-Z_]+$")) { + return false; // 忽略掉 Telegram 命令格式的输入 + } else if (action[0].contains("/")) { + return false; // 忽略掉疑似目录格式的输入 } - final String[] action = CommonCommand.format(text.substring(prefixLength)); - final String verb = action[0]; - final boolean hasObject = action.length != 1; - final String object = StringArrays.connectStringArray(action, " ", 1, action.length-1); + final boolean isHardParse = "".equals(action[0]); + /* 忽略空数据 */ if (isHardParse && action.length < 2) { return false; } + final String verb = isHardParse ? action[1] : action[0]; + final boolean hasObject = action.length != (isHardParse?2:1); + final String object = + hasObject ? + StringArrays.connectStringArray(action, " ", isHardParse?2:1, action.length-1) : + ""; final User origin = event.message().from(); final User target = (event.message().replyToMessage() == null ? ( origin @@ -67,16 +65,15 @@ public class OnUserSlashAction extends EventListener { MornyCoeur.extra().exec(new SendMessage( event.message().chat().id(), String.format( - "%s %s%s %s%s%s", + "%s %s%s %s %s!", TGToString.as(origin).firstnameRefHtml(), - verb, escapeHtml((useVerbSuffix?"了":"")), + escapeHtml(verb), escapeHtml((hasObject?"":"了")), origin==target ? "自己" : TGToString.as(target).firstnameRefHtml(), - escapeHtml((hasObject ? (useObjectPrefix ?" 的": " ") : "")), - escapeHtml((hasObject ? object : "")) + escapeHtml(hasObject ? object+" " : "") ) - ).parseMode(ParseMode.HTML)); + ).parseMode(ParseMode.HTML).replyToMessageId(event.message().messageId())); return true;