Fix resolving UpdateNewMessage sender in private chats

This commit is contained in:
Tulir Asokan
2020-10-23 23:41:46 +03:00
parent 686e26a503
commit 80aa557e0c
2 changed files with 7 additions and 12 deletions
+6 -6
View File
@@ -390,13 +390,13 @@ class AbstractUser(ABC):
update = update.message
if isinstance(update, MessageEmpty):
return update, None, None
if isinstance(update.to_id, PeerUser) and not update.out:
portal = po.Portal.get_by_tgid(update.from_id, peer_type="user",
tg_receiver=self.tgid)
portal = po.Portal.get_by_entity(update.peer_id, receiver_id=self.tgid)
if update.out:
sender = pu.Puppet.get(self.tgid)
elif isinstance(update.from_id, PeerUser):
sender = pu.Puppet.get(TelegramID(update.from_id.user_id))
else:
portal = po.Portal.get_by_entity(update.to_id, receiver_id=self.tgid)
sender = (pu.Puppet.get(TelegramID(update.from_id.user_id))
if isinstance(update.from_id, PeerUser) else None)
sender = None
else:
self.log.warning("Unexpected message type in User#get_message_details: "
f"{type(update)}")
+1 -6
View File
@@ -258,12 +258,7 @@ class User(AbstractUser, BaseUser):
return False
if isinstance(update, (UpdateNewMessage, UpdateNewChannelMessage)):
message = update.message
if isinstance(message.to_id, PeerUser) and not message.out:
portal = po.Portal.get_by_tgid(message.from_id, peer_type="user",
tg_receiver=self.tgid)
else:
portal = po.Portal.get_by_entity(message.to_id, receiver_id=self.tgid)
portal = po.Portal.get_by_entity(update.message.peer_id, receiver_id=self.tgid)
elif isinstance(update, UpdateShortChatMessage):
portal = po.Portal.get_by_tgid(TelegramID(update.chat_id))
elif isinstance(update, UpdateShortMessage):