Pyrofork: Merge Message.web_page to Message.web_page_preview

Signed-off-by: wulan17 <wulan17@nusantararom.org>
This commit is contained in:
wulan17 2023-11-01 20:56:28 +07:00
parent c3e84dcd68
commit 4c2469191c
No known key found for this signature in database
GPG key ID: 318CD6CD3A6AC0A5
3 changed files with 19 additions and 23 deletions

View file

@ -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"

View file

@ -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,

View file

@ -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