diff --git a/gradle.properties b/gradle.properties
index 2e5218c..5a63cde 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -1,6 +1,6 @@
## Core
-VERSION = 0.4.2.1
+VERSION = 0.4.2.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 cff1c8f..53e4adc 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.4.2.1";
- public static final long COMPILE_TIMESTAMP = 1639494688933L;
+ public static final String VERSION = "0.4.2.2";
+ public static final long COMPILE_TIMESTAMP = 1639541150226L;
}
diff --git a/src/main/java/cc/sukazyo/cono/morny/bot/event/OnCallMe.java b/src/main/java/cc/sukazyo/cono/morny/bot/event/OnCallMe.java
index db1f20f..608c73b 100644
--- a/src/main/java/cc/sukazyo/cono/morny/bot/event/OnCallMe.java
+++ b/src/main/java/cc/sukazyo/cono/morny/bot/event/OnCallMe.java
@@ -7,20 +7,32 @@ import cc.sukazyo.cono.morny.data.TelegramStickers;
import com.pengrad.telegrambot.model.Chat;
import com.pengrad.telegrambot.model.Update;
import com.pengrad.telegrambot.model.request.ParseMode;
+import com.pengrad.telegrambot.request.ForwardMessage;
import com.pengrad.telegrambot.request.SendMessage;
import com.pengrad.telegrambot.request.SendSticker;
import org.jetbrains.annotations.NotNull;
/**
+ * 通过 bot 呼叫主人的事件监听管理类
* @since 0.4.2.1
*/
public class OnCallMe extends EventListener {
/**
+ * 主人的 telegram user id,同时被用于 chat id
+ * 跟随 {@link MornyTrusted#MASTER} 的值
* @since 0.4.2.1
*/
private static final long ME = MornyTrusted.MASTER;
+ /**
+ * 监听私聊 bot 的消息进行呼叫关键字匹配。
+ * 如果成功,将会执行呼叫函数,并向呼叫者回显{@link TelegramStickers#ID_WAITING "已呼叫"贴纸}
+ *
+ * @param update 事件基础参数,消息事件所属的 tgapi:update 对象
+ * @return 事件基础返回值,是否已完成处理事件:
+ * 如果匹配到呼叫,则返回{@code true},反之返回{@code false}
+ */
@Override
public boolean onMessage (@NotNull Update update) {
if (update.message().text() == null)
@@ -28,18 +40,17 @@ public class OnCallMe extends EventListener {
if (update.message().chat().type() != Chat.Type.Private)
return false;
switch (update.message().text().toLowerCase()) {
- case "steam":
- case "sbeam":
- case "sdeam":
- requestSteamJoin(update);
- break;
- case "hana paresu":
- case "花宫":
- case "内群":
- requestHanaParesuJoin(update);
- break;
- default:
+ case "steam", "sbeam", "sdeam" ->
+ requestSteamJoin(update);
+ case "hana paresu", "花宫", "内群" ->
+ requestHanaParesuJoin(update);
+ default -> {
+ if (update.message().text().startsWith("cc::")) {
+ requestCustomCall(update);
+ break;
+ }
return false;
+ }
}
MornyCoeur.getAccount().execute(new SendSticker(
update.message().chat().id(),
@@ -49,6 +60,12 @@ public class OnCallMe extends EventListener {
return true;
}
+ /**
+ * 执行 steam library 呼叫
+ * 将会向 {@link #ME} 发送
+ *
+ * @param event 执行呼叫的tg事件
+ */
private static void requestSteamJoin (Update event) {
MornyCoeur.getAccount().execute(new SendMessage(
ME, String.format("""
@@ -60,6 +77,12 @@ public class OnCallMe extends EventListener {
).parseMode(ParseMode.HTML));
}
+ /**
+ * 执行花宫呼叫
+ * 将会向 {@link #ME} 发送
+ *
+ * @param event 执行呼叫的tg事件
+ */
private static void requestHanaParesuJoin (Update event) {
MornyCoeur.getAccount().execute(new SendMessage(
ME, String.format("""
@@ -71,4 +94,31 @@ public class OnCallMe extends EventListener {
).parseMode(ParseMode.HTML));
}
+ /**
+ * 执行自定义呼叫
+ * 将会向 {@link #ME} 发送一个 request 数据消息和转发的原始请求消息
+ *
+ * known issue