Merge remote-tracking branch 'remotes/upstream/master' into delete-messages

This commit is contained in:
JosXa 2017-10-01 21:17:54 +02:00
commit 9bb6dcb583

View File

@ -286,8 +286,10 @@ class TelegramClient(TelegramBareClient):
)
offset_id = r.messages[-1].id & 4294967296 # Telegram/danog magic
# Sort by message date
no_date = datetime.fromtimestamp(0)
# Sort by message date. Windows will raise if timestamp is 0,
# so we need to set at least one day ahead while still being
# the smallest date possible.
no_date = datetime.fromtimestamp(86400)
ds = sorted(
list(dialogs.values()),
key=lambda d: getattr(messages[d.top_message], 'date', no_date)
@ -941,8 +943,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):
@ -950,9 +952,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(