diff --git a/davtelepot/api.py b/davtelepot/api.py index 01f69bf..229a410 100644 --- a/davtelepot/api.py +++ b/davtelepot/api.py @@ -296,7 +296,7 @@ class TelegramBot(object): except asyncio.TimeoutError as e: logging.info(f"{e}: {method} API call timed out") finally: - if session_must_be_closed: + if session_must_be_closed and not session.closed: await session.close() return response_object diff --git a/davtelepot/bot.py b/davtelepot/bot.py index 3d2ee8b..55711fa 100644 --- a/davtelepot/bot.py +++ b/davtelepot/bot.py @@ -1360,7 +1360,8 @@ class Bot(TelegramBot, ObjectWithDatabase): async def close_sessions(self): """Close open sessions.""" for session_name, session in self.sessions.items(): - await session.close() + if not session.closed: + await session.close() async def set_webhook(self, url=None, certificate=None, max_connections=None, allowed_updates=None):