diff --git a/pom.xml b/pom.xml
index 1a896b2..b5eaab1 100644
--- a/pom.xml
+++ b/pom.xml
@@ -38,7 +38,7 @@
UTF-8
UTF-8
- 0.0.54
+ 0.0.55-SNAPSHOT
6.3.0
@@ -46,7 +46,7 @@
2.30.1
- 2.6.0
+ 2.7.2
3.10.1
@@ -267,6 +267,14 @@
smallrye-mutiny-vertx-core
${smallrye.mutiny.vertx.core.version}
+
+
+
+ com.fasterxml.jackson.core
+ jackson-databind
+ 2.14.2
+
+
diff --git a/telegram-consumer/telegram-consumer-main/src/main/java/dev/struchkov/godfather/telegram/main/consumer/MessageChatMailConvert.java b/telegram-consumer/telegram-consumer-main/src/main/java/dev/struchkov/godfather/telegram/main/consumer/MessageChatMailConvert.java
index fba2b82..7b227aa 100644
--- a/telegram-consumer/telegram-consumer-main/src/main/java/dev/struchkov/godfather/telegram/main/consumer/MessageChatMailConvert.java
+++ b/telegram-consumer/telegram-consumer-main/src/main/java/dev/struchkov/godfather/telegram/main/consumer/MessageChatMailConvert.java
@@ -84,7 +84,7 @@ public final class MessageChatMailConvert {
return picture;
}).toList();
- attachment.setPictureSizes(pictures);
+ attachment.setPictures(pictures);
return Optional.of(attachment);
}
diff --git a/telegram-consumer/telegram-consumer-main/src/main/java/dev/struchkov/godfather/telegram/main/consumer/MessageMailConvert.java b/telegram-consumer/telegram-consumer-main/src/main/java/dev/struchkov/godfather/telegram/main/consumer/MessageMailConvert.java
index 26157b1..e0e0c1e 100644
--- a/telegram-consumer/telegram-consumer-main/src/main/java/dev/struchkov/godfather/telegram/main/consumer/MessageMailConvert.java
+++ b/telegram-consumer/telegram-consumer-main/src/main/java/dev/struchkov/godfather/telegram/main/consumer/MessageMailConvert.java
@@ -83,7 +83,7 @@ public final class MessageMailConvert {
return picture;
}).toList();
- attachment.setPictureSizes(pictures);
+ attachment.setPictures(pictures);
return Optional.of(attachment);
}
diff --git a/telegram-consumer/telegram-consumer-quarkus/src/main/java/dev/struchkov/godfather/telegram/quarkus/consumer/EventDistributorService.java b/telegram-consumer/telegram-consumer-quarkus/src/main/java/dev/struchkov/godfather/telegram/quarkus/consumer/EventDistributorService.java
index 4170354..7abe83c 100644
--- a/telegram-consumer/telegram-consumer-quarkus/src/main/java/dev/struchkov/godfather/telegram/quarkus/consumer/EventDistributorService.java
+++ b/telegram-consumer/telegram-consumer-quarkus/src/main/java/dev/struchkov/godfather/telegram/quarkus/consumer/EventDistributorService.java
@@ -1,7 +1,8 @@
package dev.struchkov.godfather.telegram.quarkus.consumer;
+import dev.struchkov.godfather.main.domain.EventContainer;
import dev.struchkov.godfather.main.domain.content.Mail;
-import dev.struchkov.godfather.quarkus.context.service.EventHandler;
+import dev.struchkov.godfather.quarkus.context.service.EventDispatching;
import dev.struchkov.godfather.telegram.domain.event.Subscribe;
import dev.struchkov.godfather.telegram.domain.event.Unsubscribe;
import dev.struchkov.godfather.telegram.main.consumer.CallbackQueryConvert;
@@ -10,7 +11,6 @@ import dev.struchkov.godfather.telegram.main.consumer.SubscribeConvert;
import dev.struchkov.godfather.telegram.main.consumer.UnsubscribeConvert;
import dev.struchkov.godfather.telegram.quarkus.context.service.EventDistributor;
import dev.struchkov.godfather.telegram.quarkus.context.service.TelegramConnect;
-import io.smallrye.mutiny.Multi;
import io.smallrye.mutiny.Uni;
import org.jetbrains.annotations.NotNull;
import org.telegram.telegrambots.meta.api.objects.CallbackQuery;
@@ -22,11 +22,6 @@ import org.telegram.telegrambots.meta.api.objects.inlinequery.InlineQuery;
import org.telegram.telegrambots.meta.api.objects.payments.PreCheckoutQuery;
import java.util.List;
-import java.util.Map;
-import java.util.Optional;
-import java.util.stream.Collectors;
-
-import static dev.struchkov.haiti.utils.Checker.checkNotNull;
/**
* TODO: Добавить описание класса.
@@ -35,10 +30,10 @@ import static dev.struchkov.haiti.utils.Checker.checkNotNull;
*/
public class EventDistributorService implements EventDistributor {
- private final Map> eventHandlerMap;
+ private final EventDispatching eventDispatching;
- public EventDistributorService(TelegramConnect telegramConnect, List eventProviders) {
- this.eventHandlerMap = eventProviders.stream().collect(Collectors.groupingBy(EventHandler::getEventType));
+ public EventDistributorService(TelegramConnect telegramConnect, EventDispatching eventDispatching) {
+ this.eventDispatching = eventDispatching;
telegramConnect.initEventDistributor(this);
}
@@ -54,77 +49,33 @@ public class EventDistributorService implements EventDistributor {
// запросы к боту из чатов: https://core.telegram.org/bots/inline
if (update.hasInlineQuery()) {
- final Optional> optHandlers = getHandler(inlineQuery.getClass().getSimpleName());
- if (optHandlers.isPresent()) {
- return Multi.createFrom().iterable(optHandlers.get())
- .onItem().transformToUni(
- eventHandler -> eventHandler.handle(inlineQuery)
- ).concatenate().collect().asList().replaceWithVoid();
- }
- return Uni.createFrom().voidItem();
+ return Uni.createFrom().item(new EventContainer<>(InlineQuery.class, inlineQuery));
}
if (update.hasPreCheckoutQuery()) {
- final Optional> optHandlers = getHandler(preCheckoutQuery.getClass().getName());
- if (optHandlers.isPresent()) {
- return Multi.createFrom().iterable(optHandlers.get())
- .onItem().transformToUni(
- eventHandler -> eventHandler.handle(preCheckoutQuery)
- ).concatenate().collect().asList().replaceWithVoid();
- }
- return Uni.createFrom().voidItem();
+ return Uni.createFrom().item(new EventContainer<>(PreCheckoutQuery.class, preCheckoutQuery));
}
if (update.hasMessage()) {
- final Optional> optHandlers = getHandler(Mail.class.getName());
- if (optHandlers.isPresent()) {
- return Multi.createFrom().iterable(optHandlers.get())
- .onItem().transformToUni(
- eventHandler -> eventHandler.handle(MessageMailConvert.apply(message))
- ).concatenate().collect().asList().replaceWithVoid();
- }
- return Uni.createFrom().voidItem();
+ return Uni.createFrom().item(new EventContainer<>(Mail.class, MessageMailConvert.apply(message)));
}
if (update.hasCallbackQuery()) {
- final Optional> optHandlers = getHandler(Mail.class.getName());
- if (optHandlers.isPresent()) {
- return Multi.createFrom().iterable(optHandlers.get())
- .onItem().transformToUni(
- eventHandler -> eventHandler.handle(CallbackQueryConvert.apply(callbackQuery))
- ).concatenate().collect().asList().replaceWithVoid();
- }
- return Uni.createFrom().voidItem();
+ return Uni.createFrom().item(new EventContainer<>(Mail.class, CallbackQueryConvert.apply(callbackQuery)));
}
if (update.hasMyChatMember()) {
final ChatMemberUpdated chatMember = update.getMyChatMember();
if ("kicked".equals(chatMember.getNewChatMember().getStatus())) {
-
- final Optional> optHandlers = getHandler(Unsubscribe.class.getName());
- if (optHandlers.isPresent()) {
- return Multi.createFrom().iterable(optHandlers.get())
- .onItem().transformToUni(
- eventHandler -> eventHandler.handle(UnsubscribeConvert.apply(chatMember))
- ).concatenate().collect().asList().replaceWithVoid();
- }
- return Uni.createFrom().voidItem();
+ return Uni.createFrom().item(new EventContainer<>(Unsubscribe.class, UnsubscribeConvert.apply(chatMember)));
}
if ("member".equals(chatMember.getNewChatMember().getStatus())) {
- final Optional> optHandlers = getHandler(Subscribe.class.getName());
- if (optHandlers.isPresent()) {
- return Multi.createFrom().iterable(optHandlers.get())
- .onItem().transformToUni(
- eventHandler -> eventHandler.handle(SubscribeConvert.apply(chatMember))
- ).concatenate().collect().asList().replaceWithVoid();
- }
- return Uni.createFrom().voidItem();
+ return Uni.createFrom().item(new EventContainer<>(Subscribe.class, SubscribeConvert.apply(chatMember)));
}
}
-
- return Uni.createFrom().voidItem();
+ return Uni.createFrom().nullItem();
}
- );
+ ).onItem().ifNotNull().transformToUni(eventDispatching::dispatch);
}
private boolean isEvent(Message message) {
@@ -148,8 +99,4 @@ public class EventDistributorService implements EventDistributor {
}
}
- private Optional> getHandler(String type) {
- return Optional.ofNullable(eventHandlerMap.get(type));
- }
-
}
diff --git a/telegram-consumer/telegram-consumer-simple/src/main/java/dev/struchkov/godfather/telegram/simple/consumer/EventDistributorService.java b/telegram-consumer/telegram-consumer-simple/src/main/java/dev/struchkov/godfather/telegram/simple/consumer/EventDistributorService.java
index 487aba9..eb26e3f 100644
--- a/telegram-consumer/telegram-consumer-simple/src/main/java/dev/struchkov/godfather/telegram/simple/consumer/EventDistributorService.java
+++ b/telegram-consumer/telegram-consumer-simple/src/main/java/dev/struchkov/godfather/telegram/simple/consumer/EventDistributorService.java
@@ -1,8 +1,9 @@
package dev.struchkov.godfather.telegram.simple.consumer;
+import dev.struchkov.godfather.main.domain.EventContainer;
import dev.struchkov.godfather.main.domain.content.ChatMail;
import dev.struchkov.godfather.main.domain.content.Mail;
-import dev.struchkov.godfather.simple.context.service.EventHandler;
+import dev.struchkov.godfather.simple.context.service.EventDispatching;
import dev.struchkov.godfather.telegram.domain.event.Subscribe;
import dev.struchkov.godfather.telegram.domain.event.Unsubscribe;
import dev.struchkov.godfather.telegram.main.consumer.CallbackQueryConvert;
@@ -18,13 +19,11 @@ import org.telegram.telegrambots.meta.api.objects.ChatMemberUpdated;
import org.telegram.telegrambots.meta.api.objects.Message;
import org.telegram.telegrambots.meta.api.objects.Update;
import org.telegram.telegrambots.meta.api.objects.User;
+import org.telegram.telegrambots.meta.api.objects.inlinequery.ChosenInlineQuery;
import org.telegram.telegrambots.meta.api.objects.inlinequery.InlineQuery;
import org.telegram.telegrambots.meta.api.objects.payments.PreCheckoutQuery;
import java.util.List;
-import java.util.Map;
-import java.util.Optional;
-import java.util.stream.Collectors;
import static dev.struchkov.haiti.utils.Checker.checkNotBlank;
import static dev.struchkov.haiti.utils.Checker.checkNotNull;
@@ -36,10 +35,10 @@ import static dev.struchkov.haiti.utils.Checker.checkNotNull;
*/
public class EventDistributorService implements EventDistributor {
- private final Map> eventProviderMap;
+ private final EventDispatching eventDispatching;
- public EventDistributorService(TelegramConnect telegramConnect, List eventProviders) {
- this.eventProviderMap = eventProviders.stream().collect(Collectors.groupingBy(EventHandler::getEventType));
+ public EventDistributorService(TelegramConnect telegramConnect, EventDispatching eventDispatching) {
+ this.eventDispatching = eventDispatching;
telegramConnect.initEventDistributor(this);
}
@@ -51,12 +50,16 @@ public class EventDistributorService implements EventDistributor {
final InlineQuery inlineQuery = update.getInlineQuery();
if (update.hasInlineQuery()) {
- getHandler(inlineQuery.getClass().getSimpleName()).ifPresent(handlers -> handlers.forEach(handler -> handler.handle(inlineQuery)));
+ eventDispatching.dispatch(new EventContainer<>(InlineQuery.class, inlineQuery));
return;
}
+ if (update.hasChosenInlineQuery()) {
+ eventDispatching.dispatch(new EventContainer<>(ChosenInlineQuery.class, update.getChosenInlineQuery()));
+ }
+
if (update.hasPreCheckoutQuery()) {
- getHandler(preCheckoutQuery.getClass().getSimpleName()).ifPresent(handlers -> handlers.forEach(handler -> handler.handle(preCheckoutQuery)));
+ eventDispatching.dispatch(new EventContainer<>(PreCheckoutQuery.class, preCheckoutQuery));
return;
}
@@ -71,11 +74,13 @@ public class EventDistributorService implements EventDistributor {
if (update.hasMyChatMember()) {
final ChatMemberUpdated chatMember = update.getMyChatMember();
if ("kicked".equals(chatMember.getNewChatMember().getStatus())) {
- getHandler(Unsubscribe.class.getSimpleName()).ifPresent(handlers -> handlers.forEach(handler -> handler.handle(UnsubscribeConvert.apply(chatMember))));
+ final Unsubscribe unsubscribe = UnsubscribeConvert.apply(chatMember);
+ eventDispatching.dispatch(new EventContainer<>(Unsubscribe.class, unsubscribe));
return;
}
if ("member".equals(chatMember.getNewChatMember().getStatus())) {
- getHandler(Subscribe.class.getSimpleName()).ifPresent(handlers -> handlers.forEach(handler -> handler.handle(SubscribeConvert.apply(chatMember))));
+ final Subscribe subscribe = SubscribeConvert.apply(chatMember);
+ eventDispatching.dispatch(new EventContainer<>(Subscribe.class, subscribe));
return;
}
}
@@ -84,7 +89,6 @@ public class EventDistributorService implements EventDistributor {
private void processionCallback(CallbackQuery callbackQuery) {
final Message message = callbackQuery.getMessage();
if (checkNotBlank(callbackQuery.getInlineMessageId())) {
-
return;
}
if (checkNotNull(message)) {
@@ -93,7 +97,7 @@ public class EventDistributorService implements EventDistributor {
} else {
final Mail mail = CallbackQueryConvert.apply(callbackQuery);
- getHandler(Mail.class.getSimpleName()).ifPresent(handlers -> handlers.forEach(handler -> handler.handle(mail)));
+ eventDispatching.dispatch(new EventContainer<>(Mail.class, mail));
}
}
}
@@ -102,10 +106,10 @@ public class EventDistributorService implements EventDistributor {
final Long fromId = message.getChat().getId();
if (fromId < 0) {
final ChatMail chatMail = MessageChatMailConvert.apply(message);
- getHandler(ChatMail.class.getSimpleName()).ifPresent(handlers -> handlers.forEach(handler -> handler.handle(chatMail)));
+ eventDispatching.dispatch(new EventContainer<>(ChatMail.class, chatMail));
} else {
final Mail mail = MessageMailConvert.apply(message);
- getHandler(Mail.class.getSimpleName()).ifPresent(handlers -> handlers.forEach(handler -> handler.handle(mail)));
+ eventDispatching.dispatch(new EventContainer<>(Mail.class, mail));
}
}
@@ -130,8 +134,4 @@ public class EventDistributorService implements EventDistributor {
}
}
- private Optional> getHandler(String type) {
- return Optional.ofNullable(eventProviderMap.get(type));
- }
-
}
diff --git a/telegram-context/telegram-context-main/pom.xml b/telegram-context/telegram-context-main/pom.xml
index 16e53f0..a0d705d 100644
--- a/telegram-context/telegram-context-main/pom.xml
+++ b/telegram-context/telegram-context-main/pom.xml
@@ -22,7 +22,7 @@
dev.struchkov.godfather
- bot-context-simple
+ bot-context-main
diff --git a/telegram-context/telegram-context-quarkus/src/main/java/dev/struchkov/godfather/telegram/quarkus/context/service/TelegramSending.java b/telegram-context/telegram-context-quarkus/src/main/java/dev/struchkov/godfather/telegram/quarkus/context/service/TelegramSending.java
index 12149c9..70bba98 100644
--- a/telegram-context/telegram-context-quarkus/src/main/java/dev/struchkov/godfather/telegram/quarkus/context/service/TelegramSending.java
+++ b/telegram-context/telegram-context-quarkus/src/main/java/dev/struchkov/godfather/telegram/quarkus/context/service/TelegramSending.java
@@ -10,4 +10,6 @@ public interface TelegramSending extends SendingService {
Uni sendNotSave(@NotNull BoxAnswer boxAnswer);
+ Uni replaceInlineMessage(String inlineMessageId, BoxAnswer boxAnswer);
+
}
diff --git a/telegram-context/telegram-context-simple/pom.xml b/telegram-context/telegram-context-simple/pom.xml
index 55b99da..9d47754 100644
--- a/telegram-context/telegram-context-simple/pom.xml
+++ b/telegram-context/telegram-context-simple/pom.xml
@@ -1,5 +1,6 @@
-
+
4.0.0
telegram-context
@@ -17,12 +18,12 @@
- dev.struchkov.godfather.telegram
- telegram-context-main
+ dev.struchkov.godfather
+ bot-context-simple
dev.struchkov.godfather.telegram
- telegram-domain-simple
+ telegram-context-main
diff --git a/telegram-context/telegram-context-simple/src/main/java/dev/struchkov/godfather/telegram/simple/context/service/EventDistributor.java b/telegram-context/telegram-context-simple/src/main/java/dev/struchkov/godfather/telegram/simple/context/service/EventDistributor.java
index 38f42a8..9a272f0 100644
--- a/telegram-context/telegram-context-simple/src/main/java/dev/struchkov/godfather/telegram/simple/context/service/EventDistributor.java
+++ b/telegram-context/telegram-context-simple/src/main/java/dev/struchkov/godfather/telegram/simple/context/service/EventDistributor.java
@@ -1,9 +1,8 @@
package dev.struchkov.godfather.telegram.simple.context.service;
+import org.jetbrains.annotations.NotNull;
import org.telegram.telegrambots.meta.api.objects.Update;
-import javax.validation.constraints.NotNull;
-
public interface EventDistributor {
void processing(@NotNull Update update);
diff --git a/telegram-context/telegram-context-simple/src/main/java/dev/struchkov/godfather/telegram/simple/context/service/TelegramBot.java b/telegram-context/telegram-context-simple/src/main/java/dev/struchkov/godfather/telegram/simple/context/service/TelegramBot.java
index 1c2f77c..64b1b35 100644
--- a/telegram-context/telegram-context-simple/src/main/java/dev/struchkov/godfather/telegram/simple/context/service/TelegramBot.java
+++ b/telegram-context/telegram-context-simple/src/main/java/dev/struchkov/godfather/telegram/simple/context/service/TelegramBot.java
@@ -1,9 +1,8 @@
package dev.struchkov.godfather.telegram.simple.context.service;
+import org.jetbrains.annotations.NotNull;
import org.telegram.telegrambots.meta.bots.AbsSender;
-import javax.validation.constraints.NotNull;
-
/**
* TODO: Добавить описание интерфейса.
*
diff --git a/telegram-context/telegram-context-simple/src/main/java/dev/struchkov/godfather/telegram/simple/context/service/TelegramSending.java b/telegram-context/telegram-context-simple/src/main/java/dev/struchkov/godfather/telegram/simple/context/service/TelegramSending.java
index 145f2b2..65c46f8 100644
--- a/telegram-context/telegram-context-simple/src/main/java/dev/struchkov/godfather/telegram/simple/context/service/TelegramSending.java
+++ b/telegram-context/telegram-context-simple/src/main/java/dev/struchkov/godfather/telegram/simple/context/service/TelegramSending.java
@@ -3,12 +3,13 @@ package dev.struchkov.godfather.telegram.simple.context.service;
import dev.struchkov.godfather.simple.context.service.SendingService;
import dev.struchkov.godfather.simple.domain.BoxAnswer;
import dev.struchkov.godfather.simple.domain.SentBox;
-import org.jetbrains.annotations.NotNull;
import java.util.Optional;
public interface TelegramSending extends SendingService {
- Optional sendNotSave(@NotNull BoxAnswer boxAnswer);
+ Optional sendNotSave(BoxAnswer boxAnswer);
+
+ void replaceInlineMessage(String inlineMessageId, BoxAnswer boxAnswer);
}
diff --git a/telegram-core/telegram-core-quarkus/pom.xml b/telegram-core/telegram-core-quarkus/pom.xml
index 62c6ff0..55adfb3 100644
--- a/telegram-core/telegram-core-quarkus/pom.xml
+++ b/telegram-core/telegram-core-quarkus/pom.xml
@@ -16,6 +16,10 @@
+
+ dev.struchkov.godfather
+ bot-core-quarkus
+
dev.struchkov.godfather.telegram
telegram-context-quarkus
@@ -25,10 +29,6 @@
dev.struchkov.godfather.telegram
telegram-core-main
-
- dev.struchkov.godfather
- bot-core-quarkus
-
\ No newline at end of file
diff --git a/telegram-core/telegram-core-quarkus/src/main/java/dev/struchkov/godfather/telegram/quarkus/core/handler/PreCheckoutQueryHandler.java b/telegram-core/telegram-core-quarkus/src/main/java/dev/struchkov/godfather/telegram/quarkus/core/handler/PreCheckoutQueryHandler.java
index d689e0a..17b4266 100644
--- a/telegram-core/telegram-core-quarkus/src/main/java/dev/struchkov/godfather/telegram/quarkus/core/handler/PreCheckoutQueryHandler.java
+++ b/telegram-core/telegram-core-quarkus/src/main/java/dev/struchkov/godfather/telegram/quarkus/core/handler/PreCheckoutQueryHandler.java
@@ -1,12 +1,12 @@
package dev.struchkov.godfather.telegram.quarkus.core.handler;
+import dev.struchkov.godfather.main.domain.EventContainer;
import dev.struchkov.godfather.quarkus.context.service.EventHandler;
import dev.struchkov.godfather.telegram.quarkus.context.service.TelegramConnect;
import io.smallrye.mutiny.Uni;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.telegram.telegrambots.meta.api.methods.AnswerPreCheckoutQuery;
-import org.telegram.telegrambots.meta.api.methods.AnswerShippingQuery;
import org.telegram.telegrambots.meta.api.objects.payments.PreCheckoutQuery;
import org.telegram.telegrambots.meta.exceptions.TelegramApiException;
import org.telegram.telegrambots.meta.exceptions.TelegramApiValidationException;
@@ -21,9 +21,10 @@ public class PreCheckoutQueryHandler implements EventHandler {
private final TelegramConnect telegramConnect;
@Override
- public Uni handle(PreCheckoutQuery event) {
+ public Uni handle(EventContainer event) {
+ final PreCheckoutQuery preCheckoutQuery = event.getObject();
final AnswerPreCheckoutQuery answerPreCheckoutQuery = new AnswerPreCheckoutQuery();
- answerPreCheckoutQuery.setPreCheckoutQueryId(event.getId());
+ answerPreCheckoutQuery.setPreCheckoutQueryId(preCheckoutQuery.getId());
answerPreCheckoutQuery.setOk(true);
try {
answerPreCheckoutQuery.validate();
@@ -45,8 +46,8 @@ public class PreCheckoutQueryHandler implements EventHandler {
}
@Override
- public String getEventType() {
- return PreCheckoutQuery.class.getName();
+ public Class getEventClass() {
+ return PreCheckoutQuery.class;
}
}
diff --git a/telegram-core/telegram-core-simple/src/main/java/dev/struchkov/godfather/telegram/simple/core/handler/PreCheckoutQueryHandler.java b/telegram-core/telegram-core-simple/src/main/java/dev/struchkov/godfather/telegram/simple/core/handler/PreCheckoutQueryHandler.java
index f607183..63b9d7d 100644
--- a/telegram-core/telegram-core-simple/src/main/java/dev/struchkov/godfather/telegram/simple/core/handler/PreCheckoutQueryHandler.java
+++ b/telegram-core/telegram-core-simple/src/main/java/dev/struchkov/godfather/telegram/simple/core/handler/PreCheckoutQueryHandler.java
@@ -1,5 +1,6 @@
package dev.struchkov.godfather.telegram.simple.core.handler;
+import dev.struchkov.godfather.main.domain.EventContainer;
import dev.struchkov.godfather.simple.context.service.EventHandler;
import dev.struchkov.godfather.telegram.simple.context.service.TelegramConnect;
import lombok.RequiredArgsConstructor;
@@ -15,9 +16,10 @@ public class PreCheckoutQueryHandler implements EventHandler {
private final TelegramConnect telegramConnect;
@Override
- public void handle(PreCheckoutQuery event) {
+ public void handle(EventContainer event) {
+ final PreCheckoutQuery preCheckoutQuery = event.getObject();
final AnswerPreCheckoutQuery answerPreCheckoutQuery = new AnswerPreCheckoutQuery();
- answerPreCheckoutQuery.setPreCheckoutQueryId(event.getId());
+ answerPreCheckoutQuery.setPreCheckoutQueryId(preCheckoutQuery.getId());
answerPreCheckoutQuery.setOk(true);
try {
answerPreCheckoutQuery.validate();
@@ -29,8 +31,8 @@ public class PreCheckoutQueryHandler implements EventHandler {
}
@Override
- public String getEventType() {
- return PreCheckoutQuery.class.getSimpleName();
+ public Class getEventClass() {
+ return PreCheckoutQuery.class;
}
}
diff --git a/telegram-domain/telegram-domain-main/pom.xml b/telegram-domain/telegram-domain-main/pom.xml
index 48c4571..a8ba8f0 100644
--- a/telegram-domain/telegram-domain-main/pom.xml
+++ b/telegram-domain/telegram-domain-main/pom.xml
@@ -20,6 +20,10 @@
dev.struchkov.godfather
bot-domain-main
+
+ com.fasterxml.jackson.core
+ jackson-databind
+
\ No newline at end of file
diff --git a/telegram-domain/telegram-domain-main/src/main/java/dev/struchkov/godfather/telegram/domain/attachment/ButtonClickAttachment.java b/telegram-domain/telegram-domain-main/src/main/java/dev/struchkov/godfather/telegram/domain/attachment/ButtonClickAttachment.java
index ed840a3..ebff785 100644
--- a/telegram-domain/telegram-domain-main/src/main/java/dev/struchkov/godfather/telegram/domain/attachment/ButtonClickAttachment.java
+++ b/telegram-domain/telegram-domain-main/src/main/java/dev/struchkov/godfather/telegram/domain/attachment/ButtonClickAttachment.java
@@ -1,6 +1,10 @@
package dev.struchkov.godfather.telegram.domain.attachment;
import dev.struchkov.godfather.main.domain.content.Attachment;
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+import lombok.NoArgsConstructor;
+import lombok.Setter;
import java.util.Collection;
import java.util.HashMap;
@@ -10,6 +14,8 @@ import java.util.Optional;
import static dev.struchkov.haiti.context.exception.NotFoundException.notFoundException;
import static dev.struchkov.haiti.utils.Inspector.isNotNull;
+@Getter
+@Setter
public class ButtonClickAttachment extends Attachment {
/**
@@ -17,14 +23,10 @@ public class ButtonClickAttachment extends Attachment {
*/
private String messageId;
private String rawCallBackData;
- private final Map args = new HashMap<>();
+ private Map args = new HashMap<>();
- public String getRawCallBackData() {
- return rawCallBackData;
- }
-
- public void setRawCallBackData(String rawCallBackData) {
- this.rawCallBackData = rawCallBackData;
+ public ButtonClickAttachment() {
+ super(TelegramAttachmentType.BUTTON_CLICK.name());
}
public void addClickArg(String type, String value) {
@@ -46,40 +48,14 @@ public class ButtonClickAttachment extends Attachment {
return args.values();
}
- public String getMessageId() {
- return messageId;
- }
-
- public void setMessageId(String messageId) {
- this.messageId = messageId;
- }
-
- public Map getArgs() {
- return args;
- }
-
- @Override
- public String getType() {
- return TelegramAttachmentType.BUTTON_CLICK.name();
- }
-
+ @Getter
+ @Setter
+ @NoArgsConstructor
+ @AllArgsConstructor
public static class Arg {
- private final String type;
- private final String value;
-
- private Arg(String type, String value) {
- this.type = type;
- this.value = value;
- }
-
- public String getType() {
- return type;
- }
-
- public String getValue() {
- return value;
- }
+ private String type;
+ private String value;
}
diff --git a/telegram-domain/telegram-domain-main/src/main/java/dev/struchkov/godfather/telegram/domain/attachment/CommandAttachment.java b/telegram-domain/telegram-domain-main/src/main/java/dev/struchkov/godfather/telegram/domain/attachment/CommandAttachment.java
index e7a9d95..d85a990 100644
--- a/telegram-domain/telegram-domain-main/src/main/java/dev/struchkov/godfather/telegram/domain/attachment/CommandAttachment.java
+++ b/telegram-domain/telegram-domain-main/src/main/java/dev/struchkov/godfather/telegram/domain/attachment/CommandAttachment.java
@@ -1,11 +1,15 @@
package dev.struchkov.godfather.telegram.domain.attachment;
import dev.struchkov.godfather.main.domain.content.Attachment;
+import lombok.Getter;
+import lombok.Setter;
import java.util.Optional;
import static dev.struchkov.haiti.utils.Checker.checkNotNull;
+@Getter
+@Setter
public class CommandAttachment extends Attachment {
private String value;
@@ -13,34 +17,14 @@ public class CommandAttachment extends Attachment {
private String arg;
private String rawValue;
- public void setValue(String value) {
- this.value = value;
- }
-
- public void setCommandType(String commandType) {
- this.commandType = commandType;
- }
-
- public void setArg(String arg) {
- this.arg = arg;
- }
-
- public void setRawValue(String rawValue) {
- this.rawValue = rawValue;
- }
-
- public String getValue() {
- return value;
+ public CommandAttachment() {
+ super(TelegramAttachmentType.COMMAND.name());
}
public Optional getArg() {
return Optional.ofNullable(arg);
}
- public String getCommandType() {
- return commandType;
- }
-
public boolean isCommandType(String type) {
if (checkNotNull(type)) {
return type.equals(commandType);
@@ -48,12 +32,4 @@ public class CommandAttachment extends Attachment {
return false;
}
- public String getRawValue() {
- return rawValue;
- }
-
- @Override
- public String getType() {
- return TelegramAttachmentType.COMMAND.name();
- }
}
diff --git a/telegram-domain/telegram-domain-main/src/main/java/dev/struchkov/godfather/telegram/domain/attachment/ContactAttachment.java b/telegram-domain/telegram-domain-main/src/main/java/dev/struchkov/godfather/telegram/domain/attachment/ContactAttachment.java
index 2761a7a..f91764d 100644
--- a/telegram-domain/telegram-domain-main/src/main/java/dev/struchkov/godfather/telegram/domain/attachment/ContactAttachment.java
+++ b/telegram-domain/telegram-domain-main/src/main/java/dev/struchkov/godfather/telegram/domain/attachment/ContactAttachment.java
@@ -1,7 +1,11 @@
package dev.struchkov.godfather.telegram.domain.attachment;
import dev.struchkov.godfather.main.domain.content.Attachment;
+import lombok.Getter;
+import lombok.Setter;
+@Getter
+@Setter
public class ContactAttachment extends Attachment {
private String phoneNumber;
@@ -15,57 +19,8 @@ public class ContactAttachment extends Attachment {
*/
private boolean owner;
- public String getPhoneNumber() {
- return phoneNumber;
- }
-
- public void setPhoneNumber(String phoneNumber) {
- this.phoneNumber = phoneNumber;
- }
-
- public String getFirstName() {
- return firstName;
- }
-
- public void setFirstName(String firstName) {
- this.firstName = firstName;
- }
-
- public String getLastName() {
- return lastName;
- }
-
- public void setLastName(String lastName) {
- this.lastName = lastName;
- }
-
- public Long getUserId() {
- return userId;
- }
-
- public void setUserId(Long userId) {
- this.userId = userId;
- }
-
- public boolean isOwner() {
- return owner;
- }
-
- public void setOwner(boolean owner) {
- this.owner = owner;
- }
-
- public String getVCard() {
- return vCard;
- }
-
- public void setVCard(String vCard) {
- this.vCard = vCard;
- }
-
- @Override
- public String getType() {
- return TelegramAttachmentType.CONTACT.name();
+ public ContactAttachment() {
+ super(TelegramAttachmentType.CONTACT.name());
}
}
diff --git a/telegram-domain/telegram-domain-main/src/main/java/dev/struchkov/godfather/telegram/domain/attachment/DocumentAttachment.java b/telegram-domain/telegram-domain-main/src/main/java/dev/struchkov/godfather/telegram/domain/attachment/DocumentAttachment.java
index e8ece15..ae76c22 100644
--- a/telegram-domain/telegram-domain-main/src/main/java/dev/struchkov/godfather/telegram/domain/attachment/DocumentAttachment.java
+++ b/telegram-domain/telegram-domain-main/src/main/java/dev/struchkov/godfather/telegram/domain/attachment/DocumentAttachment.java
@@ -1,7 +1,11 @@
package dev.struchkov.godfather.telegram.domain.attachment;
import dev.struchkov.godfather.main.domain.content.Attachment;
+import lombok.Getter;
+import lombok.Setter;
+@Getter
+@Setter
public class DocumentAttachment extends Attachment {
private String fileId;
@@ -9,41 +13,8 @@ public class DocumentAttachment extends Attachment {
private String fileName;
private String mimeType;
- public String getFileId() {
- return fileId;
- }
-
- public void setFileId(String fileId) {
- this.fileId = fileId;
- }
-
- public Long getFileSize() {
- return fileSize;
- }
-
- public void setFileSize(Long fileSize) {
- this.fileSize = fileSize;
- }
-
- public String getFileName() {
- return fileName;
- }
-
- public void setFileName(String fileName) {
- this.fileName = fileName;
- }
-
- public String getMimeType() {
- return mimeType;
- }
-
- public void setMimeType(String mimeType) {
- this.mimeType = mimeType;
- }
-
- @Override
- public String getType() {
- return TelegramAttachmentType.DOCUMENT.name();
+ public DocumentAttachment() {
+ super(TelegramAttachmentType.DOCUMENT.name());
}
}
diff --git a/telegram-domain/telegram-domain-main/src/main/java/dev/struchkov/godfather/telegram/domain/attachment/LinkAttachment.java b/telegram-domain/telegram-domain-main/src/main/java/dev/struchkov/godfather/telegram/domain/attachment/LinkAttachment.java
index e1c7788..8a4b0e7 100644
--- a/telegram-domain/telegram-domain-main/src/main/java/dev/struchkov/godfather/telegram/domain/attachment/LinkAttachment.java
+++ b/telegram-domain/telegram-domain-main/src/main/java/dev/struchkov/godfather/telegram/domain/attachment/LinkAttachment.java
@@ -3,28 +3,24 @@ package dev.struchkov.godfather.telegram.domain.attachment;
import dev.struchkov.godfather.main.domain.content.Attachment;
import dev.struchkov.haiti.utils.Parser;
import dev.struchkov.haiti.utils.container.CompositeUrl;
+import lombok.Getter;
+import lombok.Setter;
+@Getter
+@Setter
public class LinkAttachment extends Attachment {
private String url;
+ public LinkAttachment() {
+ super(TelegramAttachmentType.LINK.name());
+ }
+
public LinkAttachment(String url) {
+ super(TelegramAttachmentType.LINK.name());
this.url = url;
}
- public void setUrl(String url) {
- this.url = url;
- }
-
- public String getUrl() {
- return url;
- }
-
- @Override
- public String getType() {
- return TelegramAttachmentType.LINK.name();
- }
-
public CompositeUrl split() {
return Parser.url(url);
}
diff --git a/telegram-domain/telegram-domain-main/src/main/java/dev/struchkov/godfather/telegram/domain/attachment/Picture.java b/telegram-domain/telegram-domain-main/src/main/java/dev/struchkov/godfather/telegram/domain/attachment/Picture.java
index 7fbeb15..c27e66c 100644
--- a/telegram-domain/telegram-domain-main/src/main/java/dev/struchkov/godfather/telegram/domain/attachment/Picture.java
+++ b/telegram-domain/telegram-domain-main/src/main/java/dev/struchkov/godfather/telegram/domain/attachment/Picture.java
@@ -1,5 +1,10 @@
package dev.struchkov.godfather.telegram.domain.attachment;
+import lombok.Getter;
+import lombok.Setter;
+
+@Getter
+@Setter
public class Picture {
private String fileId;
@@ -8,44 +13,4 @@ public class Picture {
private Integer weight;
private Integer height;
- public String getFileId() {
- return fileId;
- }
-
- public void setFileId(String fileId) {
- this.fileId = fileId;
- }
-
- public String getFileUniqueId() {
- return fileUniqueId;
- }
-
- public void setFileUniqueId(String fileUniqueId) {
- this.fileUniqueId = fileUniqueId;
- }
-
- public Integer getFileSize() {
- return fileSize;
- }
-
- public void setFileSize(Integer fileSize) {
- this.fileSize = fileSize;
- }
-
- public Integer getWeight() {
- return weight;
- }
-
- public void setWeight(Integer weight) {
- this.weight = weight;
- }
-
- public Integer getHeight() {
- return height;
- }
-
- public void setHeight(Integer height) {
- this.height = height;
- }
-
}
diff --git a/telegram-domain/telegram-domain-main/src/main/java/dev/struchkov/godfather/telegram/domain/attachment/PictureGroupAttachment.java b/telegram-domain/telegram-domain-main/src/main/java/dev/struchkov/godfather/telegram/domain/attachment/PictureGroupAttachment.java
index e9f1d51..5b205ad 100644
--- a/telegram-domain/telegram-domain-main/src/main/java/dev/struchkov/godfather/telegram/domain/attachment/PictureGroupAttachment.java
+++ b/telegram-domain/telegram-domain-main/src/main/java/dev/struchkov/godfather/telegram/domain/attachment/PictureGroupAttachment.java
@@ -1,21 +1,21 @@
package dev.struchkov.godfather.telegram.domain.attachment;
import dev.struchkov.godfather.main.domain.content.Attachment;
+import lombok.Getter;
+import lombok.Setter;
import java.util.Comparator;
import java.util.List;
import java.util.Optional;
+@Getter
+@Setter
public class PictureGroupAttachment extends Attachment {
private List