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;
}
}