From 8f8b524b0eb1ffec923973e59a4d30da5a60d777 Mon Sep 17 00:00:00 2001 From: Struchkov Mark Date: Sun, 19 Mar 2023 10:29:03 +0300 Subject: [PATCH] UniTrigger --- pom.xml | 3 +- telegram-core/telegram-core-quarkus/pom.xml | 3 +- .../quarkus/core/util/UnitTrigger.java | 55 +++++++++++++++++++ .../{TriggerChecks.java => UnitTrigger.java} | 4 +- 4 files changed, 61 insertions(+), 4 deletions(-) create mode 100644 telegram-core/telegram-core-quarkus/src/main/java/dev/struchkov/godfather/telegram/quarkus/core/util/UnitTrigger.java rename telegram-core/telegram-core-simple/src/main/java/dev/struchkov/godfather/telegram/simple/core/util/{TriggerChecks.java => UnitTrigger.java} (95%) diff --git a/pom.xml b/pom.xml index 79a273f..c4c354e 100644 --- a/pom.xml +++ b/pom.xml @@ -1,5 +1,6 @@ - + 4.0.0 dev.struchkov.godfather.telegram diff --git a/telegram-core/telegram-core-quarkus/pom.xml b/telegram-core/telegram-core-quarkus/pom.xml index 1a6dd22..a5b62fe 100644 --- a/telegram-core/telegram-core-quarkus/pom.xml +++ b/telegram-core/telegram-core-quarkus/pom.xml @@ -1,5 +1,6 @@ - + 4.0.0 telegram-core diff --git a/telegram-core/telegram-core-quarkus/src/main/java/dev/struchkov/godfather/telegram/quarkus/core/util/UnitTrigger.java b/telegram-core/telegram-core-quarkus/src/main/java/dev/struchkov/godfather/telegram/quarkus/core/util/UnitTrigger.java new file mode 100644 index 0000000..e6dd5ef --- /dev/null +++ b/telegram-core/telegram-core-quarkus/src/main/java/dev/struchkov/godfather/telegram/quarkus/core/util/UnitTrigger.java @@ -0,0 +1,55 @@ +package dev.struchkov.godfather.telegram.quarkus.core.util; + +import dev.struchkov.godfather.main.domain.content.Mail; +import dev.struchkov.godfather.telegram.domain.attachment.ButtonClickAttachment; +import dev.struchkov.godfather.telegram.domain.attachment.CommandAttachment; +import dev.struchkov.godfather.telegram.main.core.util.Attachments; + +import java.util.Optional; +import java.util.function.Predicate; + +import static dev.struchkov.haiti.utils.Exceptions.utilityClass; + +public class UnitTrigger { + + private UnitTrigger() { + utilityClass(); + } + + public static Predicate clickButtonRaw(String rawCallBackData) { + return mail -> { + final Optional optButtonClick = Attachments.findFirstButtonClick(mail.getAttachments()); + if (optButtonClick.isPresent()) { + final ButtonClickAttachment buttonClick = optButtonClick.get(); + final String rawData = buttonClick.getRawCallBackData(); + return rawData.equals(rawCallBackData); + } + return false; + }; + } + + public static Predicate isCommandByType(String commandType) { + return mail -> { + final Optional optCommand = Attachments.findFirstCommand(mail.getAttachments()); + if (optCommand.isPresent()) { + final CommandAttachment command = optCommand.get(); + final String type = command.getCommandType(); + return type.equals(commandType); + } + return false; + }; + } + + public static Predicate isCommand() { + return mail -> Attachments.findFirstCommand(mail.getAttachments()).isPresent(); + } + + public static Predicate isClickButton() { + return mail -> Attachments.findFirstButtonClick(mail.getAttachments()).isPresent(); + } + + public static Predicate isLinks() { + return mail -> Attachments.findFirstLink(mail.getAttachments()).isPresent(); + } + +} diff --git a/telegram-core/telegram-core-simple/src/main/java/dev/struchkov/godfather/telegram/simple/core/util/TriggerChecks.java b/telegram-core/telegram-core-simple/src/main/java/dev/struchkov/godfather/telegram/simple/core/util/UnitTrigger.java similarity index 95% rename from telegram-core/telegram-core-simple/src/main/java/dev/struchkov/godfather/telegram/simple/core/util/TriggerChecks.java rename to telegram-core/telegram-core-simple/src/main/java/dev/struchkov/godfather/telegram/simple/core/util/UnitTrigger.java index b02ce58..dacc165 100644 --- a/telegram-core/telegram-core-simple/src/main/java/dev/struchkov/godfather/telegram/simple/core/util/TriggerChecks.java +++ b/telegram-core/telegram-core-simple/src/main/java/dev/struchkov/godfather/telegram/simple/core/util/UnitTrigger.java @@ -9,9 +9,9 @@ import java.util.function.Predicate; import static dev.struchkov.haiti.utils.Exceptions.utilityClass; -public class TriggerChecks { +public class UnitTrigger { - private TriggerChecks() { + private UnitTrigger() { utilityClass(); }