Как заставить телеграмм бота время от времени пинговать?
У меня есть уже готовый телеграмм бот на Java. Я хочу залить его на Heroku, но данный ресурс отключит моего бота если в течении 30 минут на него не будет трафика. Вопрос как можно заставить моего бота раз в 5-10 минут пинговать в гугл? Бот написан на Long pull.
Ответы (1 шт):
Автор решения: Boris Blindovich
→ Ссылка
В общем все было очень просто, я создал отдельный класс имплементирующий интерфейс Runable вот он:
package Service.ping;
import java.io.IOException;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
public class PingThread implements Runnable{
@Override
public void run() {
while (true){
try {
URL url = new URL("https://www.google.com/");
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.connect();
connection.disconnect();
Thread.sleep(300000);
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
и в методе main вызвал его таким образом:
public static void main(String[] args) {
ApiContextInitializer.init();
TelegramBotsApi telegramBotsApi = new TelegramBotsApi();
try{
telegramBotsApi.registerBot(new Bot());
} catch (TelegramApiRequestException e) {
e.printStackTrace();
}
Thread pingThread = new Thread(new PingThread());
pingThread.run();
}
Вот и все!