diff --git a/pyrogram/enums/message_media_type.py b/pyrogram/enums/message_media_type.py index 550bf3e8..1bd8c5a9 100644 --- a/pyrogram/enums/message_media_type.py +++ b/pyrogram/enums/message_media_type.py @@ -60,9 +60,6 @@ class MessageMediaType(AutoName): POLL = auto() "Poll media" - WEB_PAGE = auto() - "Web page media" - WEB_PAGE_PREVIEW = auto() "Web page preview media" diff --git a/pyrogram/types/messages_and_media/message.py b/pyrogram/types/messages_and_media/message.py index 8f25dee2..62e8bfc8 100644 --- a/pyrogram/types/messages_and_media/message.py +++ b/pyrogram/types/messages_and_media/message.py @@ -221,9 +221,6 @@ class Message(Object, Update): venue (:obj:`~pyrogram.types.Venue`, *optional*): Message is a venue, information about the venue. - web_page (:obj:`~pyrogram.types.WebPage`, *optional*): - Message was sent with a webpage preview. - poll (:obj:`~pyrogram.types.Poll`, *optional*): Message is a native poll, information about the poll. @@ -414,7 +411,6 @@ class Message(Object, Update): contact: "types.Contact" = None, location: "types.Location" = None, venue: "types.Venue" = None, - web_page: "types.WebPage" = None, poll: "types.Poll" = None, dice: "types.Dice" = None, new_chat_members: List["types.User"] = None, @@ -508,7 +504,6 @@ class Message(Object, Update): self.contact = contact self.location = location self.venue = venue - self.web_page = web_page self.poll = poll self.dice = dice self.new_chat_members = new_chat_members @@ -814,7 +809,6 @@ class Message(Object, Update): web_page_preview = None sticker = None document = None - web_page = None poll = None dice = None @@ -885,11 +879,8 @@ class Message(Object, Update): document = types.Document._parse(client, doc, file_name) media_type = enums.MessageMediaType.DOCUMENT elif isinstance(media, raw.types.MessageMediaWebPage): - if isinstance(media.webpage, raw.types.WebPage): - web_page = types.WebPage._parse(client, media.webpage) - media_type = enums.MessageMediaType.WEB_PAGE - elif isinstance(media.webpage, raw.types.WebPageEmpty): - web_page_preview = types.WebPagePreview._parse(media, message.invert_media) + if isinstance(media.webpage, Union[raw.types.WebPage, raw.types.WebPageEmpty]): + web_page_preview = types.WebPagePreview._parse(client, media, message.invert_media) media_type = enums.MessageMediaType.WEB_PAGE_PREVIEW else: media = None @@ -931,22 +922,22 @@ class Message(Object, Update): sender_chat=sender_chat, text=( Str(message.message).init(entities) or None - if media is None or web_page is not None + if media is None else None ), caption=( Str(message.message).init(entities) or None - if media is not None and web_page is None + if media is not None else None ), entities=( entities or None - if media is None or web_page is not None + if media is None else None ), caption_entities=( entities or None - if media is not None and web_page is None + if media is not None else None ), author_signature=message.post_author, @@ -979,7 +970,6 @@ class Message(Object, Update): web_page_preview=web_page_preview, sticker=sticker, document=document, - web_page=web_page, poll=poll, dice=dice, views=message.views, diff --git a/pyrogram/types/messages_and_media/web_page_preview.py b/pyrogram/types/messages_and_media/web_page_preview.py index 0637d75e..c468d4ac 100644 --- a/pyrogram/types/messages_and_media/web_page_preview.py +++ b/pyrogram/types/messages_and_media/web_page_preview.py @@ -20,13 +20,14 @@ import pyrogram from pyrogram import raw from pyrogram import types from ..object import Object +from typing import Union class WebPagePreview(Object): """A web page preview. Parameters: - webpage (:obj:`~pyrogram.types.WebPage`): + webpage (:obj:`~pyrogram.types.WebPageEmpty` | :obj:`~pyrogram.types.WebPage): Web Page Information. force_large_media (``bool``, *optional*): @@ -39,7 +40,7 @@ class WebPagePreview(Object): def __init__( self, *, - webpage: "types.WebPage", + webpage: Union["types.WebPage", "types.WebPageEmpty"], force_large_media: bool = None, force_small_media: bool = None, invert_media: bool = None @@ -52,9 +53,17 @@ class WebPagePreview(Object): self.invert_media = invert_media @staticmethod - def _parse(web_page_preview: "raw.types.MessageMediaVenue", invert_media: bool = None): + def _parse( + client, + web_page_preview: Union["raw.types.WebPage", "raw.types.WebPageEmpty"], + invert_media: bool = None + ): + if isinstance(web_page_preview.webpage, raw.types.WebPage): + webpage=types.WebPage._parse(client, web_page_preview.webpage) + else: + webpage=types.WebPageEmpty._parse(web_page_preview.webpage) return WebPagePreview( - webpage=types.WebPageEmpty._parse(web_page_preview.webpage), + webpage=webpage, force_large_media=web_page_preview.force_large_media, force_small_media=web_page_preview.force_small_media, invert_media=invert_media