diff --git a/telegrambots-meta/src/main/java/org/telegram/telegrambots/meta/generics/BotOptions.java b/telegrambots-meta/src/main/java/org/telegram/telegrambots/meta/generics/BotOptions.java index 137960fd..d140228b 100644 --- a/telegrambots-meta/src/main/java/org/telegram/telegrambots/meta/generics/BotOptions.java +++ b/telegrambots-meta/src/main/java/org/telegram/telegrambots/meta/generics/BotOptions.java @@ -2,9 +2,10 @@ package org.telegram.telegrambots.meta.generics; /** * @author Ruben Bermudez - * @version 1.0 + * @version 1.1 * Bot options */ public interface BotOptions { String getBaseUrl(); + String getCustomGetUpdatesPath(); } diff --git a/telegrambots/src/main/java/org/telegram/telegrambots/bots/DefaultAbsSender.java b/telegrambots/src/main/java/org/telegram/telegrambots/bots/DefaultAbsSender.java index 2564e4fc..72c05e8d 100644 --- a/telegrambots/src/main/java/org/telegram/telegrambots/bots/DefaultAbsSender.java +++ b/telegrambots/src/main/java/org/telegram/telegrambots/bots/DefaultAbsSender.java @@ -106,7 +106,11 @@ public abstract class DefaultAbsSender extends AbsSender { } public String getBaseUrl() { - return options.getBaseUrl() + getBotToken() + "/"; + if (options.getCustomGetUpdatesPath() != null) { + return options.getBaseUrl(); + } else { + return options.getBaseUrl() + getBotToken() + "/"; + } } // Send Requests diff --git a/telegrambots/src/main/java/org/telegram/telegrambots/bots/DefaultBotOptions.java b/telegrambots/src/main/java/org/telegram/telegrambots/bots/DefaultBotOptions.java index 18300da1..0f6a4cf8 100644 --- a/telegrambots/src/main/java/org/telegram/telegrambots/bots/DefaultBotOptions.java +++ b/telegrambots/src/main/java/org/telegram/telegrambots/bots/DefaultBotOptions.java @@ -22,6 +22,7 @@ public class DefaultBotOptions implements BotOptions { private BackOff backOff; private Integer maxWebhookConnections; private String baseUrl; + private String customGetUpdatesPath; private List allowedUpdates; private ProxyType proxyType; private String proxyHost; @@ -39,6 +40,7 @@ public class DefaultBotOptions implements BotOptions { public DefaultBotOptions() { maxThreads = 1; baseUrl = ApiConstants.BASE_URL; + customGetUpdatesPath = null; httpContext = HttpClientContext.create(); proxyType = ProxyType.NO_PROXY; getUpdatesTimeout = ApiConstants.GETUPDATES_TIMEOUT; @@ -54,6 +56,14 @@ public class DefaultBotOptions implements BotOptions { this.baseUrl = baseUrl; } + public String getCustomGetUpdatesPath() { + return customGetUpdatesPath; + } + + public void setCustomGetUpdatesPath(String customGetUpdatesPath) { + this.customGetUpdatesPath = customGetUpdatesPath; + } + public void setMaxThreads(int maxThreads) { this.maxThreads = maxThreads; } diff --git a/telegrambots/src/main/java/org/telegram/telegrambots/updatesreceivers/DefaultBotSession.java b/telegrambots/src/main/java/org/telegram/telegrambots/updatesreceivers/DefaultBotSession.java index ef1af398..da30140e 100644 --- a/telegrambots/src/main/java/org/telegram/telegrambots/updatesreceivers/DefaultBotSession.java +++ b/telegrambots/src/main/java/org/telegram/telegrambots/updatesreceivers/DefaultBotSession.java @@ -240,7 +240,12 @@ public class DefaultBotSession implements BotSession { request.setAllowedUpdates(options.getAllowedUpdates()); } - String url = options.getBaseUrl() + token + "/" + GetUpdates.PATH; + String url; + if (options.getCustomGetUpdatesPath() != null) { + url = options.getBaseUrl() + options.getCustomGetUpdatesPath(); + } else { + url = options.getBaseUrl() + token + "/" + GetUpdates.PATH; + } //http client HttpPost httpPost = new HttpPost(url); httpPost.addHeader("charset", StandardCharsets.UTF_8.name());