updateMarkup & lowinternet handleing

This commit is contained in:
mrbesen 2019-03-02 04:52:57 +01:00
parent 3e289beec5
commit 69cb78ce5c
Signed by: MrBesen
GPG Key ID: 596B2350DCD67504
2 changed files with 28 additions and 0 deletions

View File

@ -1,5 +1,6 @@
package de.mrbesen.telegram;
import java.net.UnknownHostException;
import java.util.LinkedList;
import java.util.List;
@ -35,6 +36,7 @@ public class AsyncHandler implements Runnable {
@Override
public void run() {
int failed = 0;
while(!tasks.isEmpty()) {
Task current;
@ -55,6 +57,16 @@ public class AsyncHandler implements Runnable {
callb = callb.next;
// throw new Exception("Callbacktype missmatch! Got " + obj.getClass().getSimpleName() + " Wanted: " + wanted.getSimpleName() );
}
failed = 0;
} catch(UnknownHostException ex) {//host(api.telegram.org) is good -> bad inet
failed ++;
if(failed > 10)
try {
Thread.yield();
Thread.sleep(1000);//wait 1 second
} catch(InterruptedException ignored) {}
//reenque
enque(current);
} catch(Throwable t) {
if(current.exceptionhandl == null)
throw t;

View File

@ -210,6 +210,22 @@ public class TelegramAPI implements Runnable {
}
}
public void updateMarkup(int chatid, int msg_id, TReplyMarkup rm, boolean async) {
try {
if(rm == null) return;//nope
String q = "chat_id=" + chatid + "&message_id=" + msg_id + "&reply_markup=" + URLEncoder.encode(rm.toJSONString(), "UTF-8");
if(async) {
this.async.enque("editMessageReplyMarkup", q);
} else {
request("editMessageReplyMarkup", q);
}
} catch(IOException e) {
log.log("", e);
}
}
public void stop() {
run = false;
thread.interrupt();