Fix Telegram may omit entities' access hash in updates

This commit is contained in:
Lonami Exo 2018-07-02 18:43:42 +02:00
parent 53c660d0dc
commit 53fbfb215f

View File

@ -37,6 +37,9 @@ class Message:
self._sender = entities.get(self.original_message.from_id) self._sender = entities.get(self.original_message.from_id)
if self._sender: if self._sender:
self._input_sender = get_input_peer(self._sender) self._input_sender = get_input_peer(self._sender)
if (isinstance(self._input_sender, types.InputPeerUser)
and not self._input_sender.access_hash):
self._input_sender = None
else: else:
self._input_sender = None self._input_sender = None
@ -52,6 +55,9 @@ class Message:
self._input_chat = input_chat self._input_chat = input_chat
if not self._input_chat and self._chat: if not self._input_chat and self._chat:
self._input_chat = get_input_peer(self._chat) self._input_chat = get_input_peer(self._chat)
if not self._input_chat.access_hash:
# Telegram may omit the hash in updates -> invalid peer
self._input_chat = None
if getattr(self.original_message, 'fwd_from', None): if getattr(self.original_message, 'fwd_from', None):
self._forward = Forward( self._forward = Forward(