diff --git a/pom.xml b/pom.xml index ba485c7..4eaddb9 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ ru.penkrat.stbf stbf-parent - 0.0.1 + 0.0.1.1 stbf-parent Simple Telegram Bot Facade diff --git a/stbf-pengrad/pom.xml b/stbf-pengrad/pom.xml index 8edd0f9..ab0e59f 100644 --- a/stbf-pengrad/pom.xml +++ b/stbf-pengrad/pom.xml @@ -5,7 +5,7 @@ ru.penkrat.stbf stbf-parent - 0.0.1 + 0.0.1.1 stbf-pengrad @@ -21,7 +21,7 @@ com.github.pengrad java-telegram-bot-api - [4.9.0,5.2.0] + 6.2.0 diff --git a/stbf-pengrad/src/main/java/ru/penkrat/stbf/impl/pengrad/BotRequestImpl.java b/stbf-pengrad/src/main/java/ru/penkrat/stbf/impl/pengrad/BotRequestImpl.java index a60df3b..2020446 100644 --- a/stbf-pengrad/src/main/java/ru/penkrat/stbf/impl/pengrad/BotRequestImpl.java +++ b/stbf-pengrad/src/main/java/ru/penkrat/stbf/impl/pengrad/BotRequestImpl.java @@ -1,18 +1,18 @@ package ru.penkrat.stbf.impl.pengrad; -import static lombok.AccessLevel.PROTECTED; - -import java.util.Optional; - import com.pengrad.telegrambot.model.CallbackQuery; +import com.pengrad.telegrambot.model.Chat; import com.pengrad.telegrambot.model.Contact; import com.pengrad.telegrambot.model.Message; import com.pengrad.telegrambot.model.Update; - import lombok.Getter; import lombok.RequiredArgsConstructor; import ru.penkrat.stbf.api.BotRequest; +import java.util.Optional; + +import static lombok.AccessLevel.PROTECTED; + @RequiredArgsConstructor public class BotRequestImpl implements BotRequest { @@ -52,10 +52,25 @@ public class BotRequestImpl implements BotRequest { @Override public Long getChatId() { - return Optional.of(update) - .map(Update::callbackQuery) - .map(CallbackQuery::message) - .orElseGet(() -> update.message()).chat().id(); + return Optional.ofNullable(getMessage()) + .map(Message::chat) + .map(Chat::id) + .orElse(null); + } + + private Message getMessage() { + if (update != null) { + if (update.callbackQuery() != null) { + return update.callbackQuery().message(); + } + if (update.message() != null) { + return update.message(); + } + if (update.editedMessage() != null) { + return update.editedMessage(); + } + } + return null; } }