From 99711457213a2bb1a844830a3c57536c5fa9b1c2 Mon Sep 17 00:00:00 2001 From: Lonami Exo Date: Tue, 26 Jun 2018 12:03:31 +0200 Subject: [PATCH] Assert properties exist on disconnect --- telethon/client/telegrambaseclient.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/telethon/client/telegrambaseclient.py b/telethon/client/telegrambaseclient.py index 368114c6..941d6a63 100644 --- a/telethon/client/telegrambaseclient.py +++ b/telethon/client/telegrambaseclient.py @@ -291,11 +291,14 @@ class TelegramBaseClient(abc.ABC): """ Disconnects from Telegram. """ - await self._sender.disconnect() + # All properties may be ``None`` if `__init__` fails, and this + # method will be called from `__del__` which would crash then. + if self._sender: + await self._sender.disconnect() if self._updates_handle: await self._updates_handle - - self.session.close() + if self.session: + self.session.close() def __del__(self): # Python 3.5.2's ``asyncio`` mod seems to have a bug where it's not