From ba147bbe1039ee038ae5c6390fe4a500291daf0a Mon Sep 17 00:00:00 2001 From: Lonami Exo Date: Sun, 1 Oct 2017 21:15:49 +0200 Subject: [PATCH] Fix TgClient.get_input* not calling utils.get_input* when needed --- telethon/telegram_client.py | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/telethon/telegram_client.py b/telethon/telegram_client.py index 2dd5b98f..010a2c44 100644 --- a/telethon/telegram_client.py +++ b/telethon/telegram_client.py @@ -907,8 +907,8 @@ class TelegramClient(TelegramBareClient): If even after """ if isinstance(peer, str): - # Let .get_entity resolve the username or phone - return utils.get_input_peer(self.get_entity(peer)) + # Let .get_entity resolve the username or phone (full entity) + peer = self.get_entity(peer) is_peer = False if isinstance(peer, int): @@ -916,9 +916,12 @@ class TelegramClient(TelegramBareClient): is_peer = True elif isinstance(peer, TLObject): - if type(peer).SUBCLASS_OF_ID == 0xc91c90b6: # crc32(b'InputPeer') - return peer is_peer = type(peer).SUBCLASS_OF_ID == 0x2d45687 # crc32(b'Peer') + if not is_peer: + try: + return utils.get_input_peer(peer) + except ValueError: + pass if not is_peer: raise ValueError(