diff --git a/freqtrade/rpc/telegram.py b/freqtrade/rpc/telegram.py index b93e3ec25..f19217dae 100644 --- a/freqtrade/rpc/telegram.py +++ b/freqtrade/rpc/telegram.py @@ -342,8 +342,22 @@ class Telegram(RPCHandler): self._loop.run_until_complete(self._startup_telegram()) async def _startup_telegram(self) -> None: - await self._app.initialize() - await self._app.start() + retries = 3 + attempt = 0 + while attempt < retries: + try: + await self._app.initialize() + await self._app.start() + break + except Exception as ex: + logger.error( + "Error starting Telegram bot (attempt %d/%d): %s", attempt + 1, retries, ex + ) + attempt += 1 + if attempt == retries: + logger.warning("Telegram init failed.") + return + await asyncio.sleep(2) if self._app.updater: await self._app.updater.start_polling( bootstrap_retries=-1,