From ce0173e7cd5920ec080514e609606b1d1aa28712 Mon Sep 17 00:00:00 2001 From: Dan <14043624+delivrance@users.noreply.github.com> Date: Sun, 24 Mar 2019 18:51:04 +0100 Subject: [PATCH] Add support for hidden users in forwarded messages --- .../types/messages_and_media/message.py | 23 +++++++++++++------ 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/pyrogram/client/types/messages_and_media/message.py b/pyrogram/client/types/messages_and_media/message.py index 08e20975..04f200a2 100644 --- a/pyrogram/client/types/messages_and_media/message.py +++ b/pyrogram/client/types/messages_and_media/message.py @@ -79,6 +79,9 @@ class Message(PyrogramType, Update): forward_from (:obj:`User `, *optional*): For forwarded messages, sender of the original message. + forward_from_name (``str``, *optional*): + For messages forwarded from users who have hidden their accounts, name of the user. + forward_from_chat (:obj:`Chat `, *optional*): For messages forwarded from channels, information about the original channel. @@ -264,12 +267,12 @@ class Message(PyrogramType, Update): # TODO: Add game missing field. Also invoice, successful_payment, connected_website __slots__ = [ - "message_id", "date", "chat", "from_user", "forward_from", "forward_from_chat", "forward_from_message_id", - "forward_signature", "forward_date", "reply_to_message", "mentioned", "empty", "service", "media", "edit_date", - "media_group_id", "author_signature", "text", "entities", "caption_entities", "audio", "document", "photo", - "sticker", "animation", "game", "video", "voice", "video_note", "caption", "contact", "location", "venue", - "web_page", "poll", "new_chat_members", "left_chat_member", "new_chat_title", "new_chat_photo", - "delete_chat_photo", "group_chat_created", "supergroup_chat_created", "channel_chat_created", + "message_id", "date", "chat", "from_user", "forward_from", "forward_from_name", "forward_from_chat", + "forward_from_message_id", "forward_signature", "forward_date", "reply_to_message", "mentioned", "empty", + "service", "media", "edit_date", "media_group_id", "author_signature", "text", "entities", "caption_entities", + "audio", "document", "photo", "sticker", "animation", "game", "video", "voice", "video_note", "caption", + "contact", "location", "venue", "web_page", "poll", "new_chat_members", "left_chat_member", "new_chat_title", + "new_chat_photo", "delete_chat_photo", "group_chat_created", "supergroup_chat_created", "channel_chat_created", "migrate_to_chat_id", "migrate_from_chat_id", "pinned_message", "game_high_score", "views", "via_bot", "outgoing", "matches", "command", "reply_markup" ] @@ -283,6 +286,7 @@ class Message(PyrogramType, Update): chat: Chat = None, from_user: User = None, forward_from: User = None, + forward_from_name: str = None, forward_from_chat: Chat = None, forward_from_message_id: int = None, forward_signature: str = None, @@ -344,6 +348,7 @@ class Message(PyrogramType, Update): self.chat = chat self.from_user = from_user self.forward_from = forward_from + self.forward_from_name = forward_from_name self.forward_from_chat = forward_from_chat self.forward_from_message_id = forward_from_message_id self.forward_signature = forward_signature @@ -482,18 +487,21 @@ class Message(PyrogramType, Update): entities = list(filter(lambda x: x is not None, entities)) forward_from = None + forward_from_name = None forward_from_chat = None forward_from_message_id = None forward_signature = None forward_date = None - forward_header = message.fwd_from + forward_header = message.fwd_from # type: types.MessageFwdHeader if forward_header: forward_date = forward_header.date if forward_header.from_id: forward_from = User._parse(client, users[forward_header.from_id]) + elif forward_header.from_name: + forward_from_name = forward_header.from_name else: forward_from_chat = Chat._parse_channel_chat(client, chats[forward_header.channel_id]) forward_from_message_id = forward_header.channel_post @@ -599,6 +607,7 @@ class Message(PyrogramType, Update): caption_entities=entities or None if media is not None else None, author_signature=message.post_author, forward_from=forward_from, + forward_from_name=forward_from_name, forward_from_chat=forward_from_chat, forward_from_message_id=forward_from_message_id, forward_signature=forward_signature,