Бот для телеграмма на JAVA, как обойти блокировку в коде?
Не используйте LongPolling - решение не годится для продакшена, только вебхуки.
Чтобы не тратится на домен можно использовать самоподписанный сертификат на ip.
Пример генерации сертификата openssl req -newkey rsa:1024 -sha256 -nodes -keyout /home/localhost.key -x509 -days 3650 -out /home/localhost.cert -subj "/C=US/ST=New York/L=Brooklyn/O=Example Company/CN=<тут ip сервера>"
Хостите бота на заграничных серверах.
Для локальной разработки использовать https://localtunnel.github.io/www/ 
Вещь жуть какая нестабильная, но из аналогичных решений это единственный сервис, что предоставляет именованные поддомены бесплатно.
Чтобы немного решить проблемы с падениями, запускайте программу в цикле
Вариант для windowsFOR /L %N IN () DO @lt --port <локальный порт> --subdomain <поддомен>
Используйте последнюю версию библтотеки, установите Tor браузер и создавайте пока примерно так:TelegramBotsApi telegramBotsApi = new TelegramBotsApi();

// Set up Http proxy
DefaultBotOptions botOptions = ApiContext
        .getInstance(DefaultBotOptions.class);
botOptions.setProxyHost("127.0.0.1");
botOptions.setProxyPort(9150);
// Select proxy type: [HTTP|SOCKS4|SOCKS5] (default: NO_PROXY)
botOptions.setProxyType(DefaultBotOptions.ProxyType.SOCKS5);

try {
    telegramBotsApi.registerBot(new Bot(BotConfig.BOT_TOKEN, BotConfig.BOT_USERNAME, botOptions));
} catch (TelegramApiRequestException e) {

}public class Bot extends AbilityBot {
...
}