Как перезапустить AsyncTeleBot после ошибки Aiohttp ClientError: ServerDisconnectedError
Есть чат-бот, написанный с помощью pyTelegramBotApi и asyncio. При запуске использую такую простую конструкцию:
from telebot.async_telebot import AsyncTeleBot
import asyncio
TOKEN = "some token"
bot = AsyncTeleBot(TOKEN, parse_mode=None)
# some handlers
async def bot_start():
await bot.polling(non_stop=True)
if __name__ == '__main__':
asyncio.run(bot_start())
Всё стабильно работает приблизительно от 2 до 5 дней. Однако после возникает ошибка:
ERROR - TeleBot: "Aiohttp ClientError: ServerDisconnectedError"
ERROR - TeleBot: "Request timeout. Request: method=get url=getUpdates params=<aiohttp.formdata.FormData object at 0x>
Пытался обрабатывать ошибку и добавлять запуск в блок while, но особого успеха нет.
Ответы (1 шт):
Автор решения: tawny.owl
→ Ссылка
Ответ оказался максимально прост.
Ввёл параметр request_timeout для метода polling и ошибки не возникало уже целый месяц.
await bot.polling(non_stop=True, request_timeout=90)