Skip to content

Commit a68cf8d

Browse files
committed
Respect RetryAfter with polling Updater
1 parent de96cc8 commit a68cf8d

2 files changed

Lines changed: 5 additions & 2 deletions

File tree

telegram/error.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -110,4 +110,4 @@ def __init__(self, retry_after):
110110
"""
111111
super(RetryAfter,
112112
self).__init__('Flood control exceeded. Retry in {} seconds'.format(retry_after))
113-
self.retry_after = retry_after
113+
self.retry_after = float(retry_after)

telegram/ext/updater.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030

3131
from telegram import Bot, TelegramError
3232
from telegram.ext import Dispatcher, JobQueue
33-
from telegram.error import Unauthorized, InvalidToken
33+
from telegram.error import Unauthorized, InvalidToken, RetryAfter
3434
from telegram.utils.request import Request
3535
from telegram.utils.webhookhandler import (WebhookServer, WebhookHandler)
3636

@@ -233,6 +233,9 @@ def _start_polling(self, poll_interval, timeout, network_delay, bootstrap_retrie
233233
try:
234234
updates = self.bot.getUpdates(
235235
self.last_update_id, timeout=timeout, network_delay=network_delay)
236+
except RetryAfter as e:
237+
self.logger.info(str(e))
238+
cur_interval = 0.5 + e.retry_after
236239
except TelegramError as te:
237240
self.logger.error("Error while getting Updates: {0}".format(te))
238241

0 commit comments

Comments
 (0)