From 5cdfc3775151a74e512bf3f1830106d74aa0ae9f Mon Sep 17 00:00:00 2001 From: Matthew Skinner Date: Sun, 22 Aug 2021 19:54:34 +1000 Subject: [PATCH] [telegram] Send message if a file download fails and bug fixes. (#11125) * Send message when pic/vid/ani fails to DL * Upgrade lib to 5.2.0 and fix error. Signed-off-by: Matthew Skinner Signed-off-by: Dave J Schoepel --- bundles/org.openhab.binding.telegram/pom.xml | 2 +- .../telegram/internal/TelegramBindingConstants.java | 1 - .../binding/telegram/internal/TelegramHandler.java | 2 +- .../telegram/internal/action/TelegramActions.java | 9 ++++++--- 4 files changed, 8 insertions(+), 6 deletions(-) diff --git a/bundles/org.openhab.binding.telegram/pom.xml b/bundles/org.openhab.binding.telegram/pom.xml index d16911c839d5..14a43d424b94 100644 --- a/bundles/org.openhab.binding.telegram/pom.xml +++ b/bundles/org.openhab.binding.telegram/pom.xml @@ -22,7 +22,7 @@ com.github.pengrad java-telegram-bot-api - 4.9.0 + 5.2.0 compile diff --git a/bundles/org.openhab.binding.telegram/src/main/java/org/openhab/binding/telegram/internal/TelegramBindingConstants.java b/bundles/org.openhab.binding.telegram/src/main/java/org/openhab/binding/telegram/internal/TelegramBindingConstants.java index 1ec63509cb97..4c575a49d457 100644 --- a/bundles/org.openhab.binding.telegram/src/main/java/org/openhab/binding/telegram/internal/TelegramBindingConstants.java +++ b/bundles/org.openhab.binding.telegram/src/main/java/org/openhab/binding/telegram/internal/TelegramBindingConstants.java @@ -41,5 +41,4 @@ public class TelegramBindingConstants { public static final String LASTMESSAGEUSERNAME = "lastMessageUsername"; public static final String CHATID = "chatId"; public static final String REPLYID = "replyId"; - public static final String LONGPOLLINGTIME = "longPollingTime"; } diff --git a/bundles/org.openhab.binding.telegram/src/main/java/org/openhab/binding/telegram/internal/TelegramHandler.java b/bundles/org.openhab.binding.telegram/src/main/java/org/openhab/binding/telegram/internal/TelegramHandler.java index fa6cb46effea..c47df21ddce7 100644 --- a/bundles/org.openhab.binding.telegram/src/main/java/org/openhab/binding/telegram/internal/TelegramHandler.java +++ b/bundles/org.openhab.binding.telegram/src/main/java/org/openhab/binding/telegram/internal/TelegramHandler.java @@ -419,7 +419,7 @@ public ParseMode getParseMode() { @SuppressWarnings("rawtypes") @Nullable - public R execute(BaseRequest request) { + public R execute(BaseRequest request) { TelegramBot localBot = bot; return localBot != null ? localBot.execute(request) : null; } diff --git a/bundles/org.openhab.binding.telegram/src/main/java/org/openhab/binding/telegram/internal/action/TelegramActions.java b/bundles/org.openhab.binding.telegram/src/main/java/org/openhab/binding/telegram/internal/action/TelegramActions.java index 61932b4d73e9..f25c42eb8fbe 100644 --- a/bundles/org.openhab.binding.telegram/src/main/java/org/openhab/binding/telegram/internal/action/TelegramActions.java +++ b/bundles/org.openhab.binding.telegram/src/main/java/org/openhab/binding/telegram/internal/action/TelegramActions.java @@ -312,9 +312,9 @@ public boolean sendTelegramPhoto(@ActionInput(name = "chatId") @Nullable Long ch if (username != null && password != null) { AuthenticationStore auth = client.getAuthenticationStore(); URI uri = URI.create(photoURL); - auth.addAuthenticationResult(new BasicResult(HttpHeader.AUTHORIZATION, uri, - "Basic " + Base64.getEncoder().encodeToString( - (username + ":" + password).getBytes(StandardCharsets.ISO_8859_1)))); + auth.addAuthenticationResult( + new BasicResult(HttpHeader.AUTHORIZATION, uri, "Basic " + Base64.getEncoder() + .encodeToString((username + ":" + password).getBytes(StandardCharsets.UTF_8)))); } try { // API has 10mb limit to jpg file size, without this it can only accept 2mb @@ -326,6 +326,7 @@ public boolean sendTelegramPhoto(@ActionInput(name = "chatId") @Nullable Long ch sendPhoto = new SendPhoto(chatId, fileContent); } else { logger.warn("Download from {} failed with status: {}", photoURL, contentResponse.getStatus()); + sendTelegram(chatId, caption + ":Download failed with status " + contentResponse.getStatus()); return false; } } catch (InterruptedException | ExecutionException e) { @@ -450,6 +451,7 @@ public boolean sendTelegramAnimation(@ActionInput(name = "chatId") @Nullable Lon } else { logger.warn("Download from {} failed with status: {}", animationURL, contentResponse.getStatus()); + sendTelegram(chatId, caption + ":Download failed with status " + contentResponse.getStatus()); return false; } } catch (InterruptedException | ExecutionException e) { @@ -527,6 +529,7 @@ public boolean sendTelegramVideo(@ActionInput(name = "chatId") @Nullable Long ch sendVideo = new SendVideo(chatId, fileContent); } else { logger.warn("Download from {} failed with status: {}", videoURL, contentResponse.getStatus()); + sendTelegram(chatId, caption + ":Download failed with status " + contentResponse.getStatus()); return false; } } catch (InterruptedException | ExecutionException e) {