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 = auto()
"Poll media" "Poll media"
WEB_PAGE = auto()
"Web page media"
WEB_PAGE_PREVIEW = auto() WEB_PAGE_PREVIEW = auto()
"Web page preview media" "Web page preview media"

View file

@ -221,9 +221,6 @@ class Message(Object, Update):
venue (:obj:`~pyrogram.types.Venue`, *optional*): venue (:obj:`~pyrogram.types.Venue`, *optional*):
Message is a venue, information about the venue. 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*): poll (:obj:`~pyrogram.types.Poll`, *optional*):
Message is a native poll, information about the poll. Message is a native poll, information about the poll.
@ -414,7 +411,6 @@ class Message(Object, Update):
contact: "types.Contact" = None, contact: "types.Contact" = None,
location: "types.Location" = None, location: "types.Location" = None,
venue: "types.Venue" = None, venue: "types.Venue" = None,
web_page: "types.WebPage" = None,
poll: "types.Poll" = None, poll: "types.Poll" = None,
dice: "types.Dice" = None, dice: "types.Dice" = None,
new_chat_members: List["types.User"] = None, new_chat_members: List["types.User"] = None,
@ -508,7 +504,6 @@ class Message(Object, Update):
self.contact = contact self.contact = contact
self.location = location self.location = location
self.venue = venue self.venue = venue
self.web_page = web_page
self.poll = poll self.poll = poll
self.dice = dice self.dice = dice
self.new_chat_members = new_chat_members self.new_chat_members = new_chat_members
@ -814,7 +809,6 @@ class Message(Object, Update):
web_page_preview = None web_page_preview = None
sticker = None sticker = None
document = None document = None
web_page = None
poll = None poll = None
dice = None dice = None
@ -885,11 +879,8 @@ class Message(Object, Update):
document = types.Document._parse(client, doc, file_name) document = types.Document._parse(client, doc, file_name)
media_type = enums.MessageMediaType.DOCUMENT media_type = enums.MessageMediaType.DOCUMENT
elif isinstance(media, raw.types.MessageMediaWebPage): elif isinstance(media, raw.types.MessageMediaWebPage):
if isinstance(media.webpage, raw.types.WebPage): if isinstance(media.webpage, Union[raw.types.WebPage, raw.types.WebPageEmpty]):
web_page = types.WebPage._parse(client, media.webpage) web_page_preview = types.WebPagePreview._parse(client, media, message.invert_media)
media_type = enums.MessageMediaType.WEB_PAGE
elif isinstance(media.webpage, raw.types.WebPageEmpty):
web_page_preview = types.WebPagePreview._parse(media, message.invert_media)
media_type = enums.MessageMediaType.WEB_PAGE_PREVIEW media_type = enums.MessageMediaType.WEB_PAGE_PREVIEW
else: else:
media = None media = None
@ -931,22 +922,22 @@ class Message(Object, Update):
sender_chat=sender_chat, sender_chat=sender_chat,
text=( text=(
Str(message.message).init(entities) or None Str(message.message).init(entities) or None
if media is None or web_page is not None if media is None
else None else None
), ),
caption=( caption=(
Str(message.message).init(entities) or None Str(message.message).init(entities) or None
if media is not None and web_page is None if media is not None
else None else None
), ),
entities=( entities=(
entities or None entities or None
if media is None or web_page is not None if media is None
else None else None
), ),
caption_entities=( caption_entities=(
entities or None entities or None
if media is not None and web_page is None if media is not None
else None else None
), ),
author_signature=message.post_author, author_signature=message.post_author,
@ -979,7 +970,6 @@ class Message(Object, Update):
web_page_preview=web_page_preview, web_page_preview=web_page_preview,
sticker=sticker, sticker=sticker,
document=document, document=document,
web_page=web_page,
poll=poll, poll=poll,
dice=dice, dice=dice,
views=message.views, views=message.views,

View file

@ -20,13 +20,14 @@ import pyrogram
from pyrogram import raw from pyrogram import raw
from pyrogram import types from pyrogram import types
from ..object import Object from ..object import Object
from typing import Union
class WebPagePreview(Object): class WebPagePreview(Object):
"""A web page preview. """A web page preview.
Parameters: Parameters:
webpage (:obj:`~pyrogram.types.WebPage`): webpage (:obj:`~pyrogram.types.WebPageEmpty` | :obj:`~pyrogram.types.WebPage):
Web Page Information. Web Page Information.
force_large_media (``bool``, *optional*): force_large_media (``bool``, *optional*):
@ -39,7 +40,7 @@ class WebPagePreview(Object):
def __init__( def __init__(
self, self,
*, *,
webpage: "types.WebPage", webpage: Union["types.WebPage", "types.WebPageEmpty"],
force_large_media: bool = None, force_large_media: bool = None,
force_small_media: bool = None, force_small_media: bool = None,
invert_media: bool = None invert_media: bool = None
@ -52,9 +53,17 @@ class WebPagePreview(Object):
self.invert_media = invert_media self.invert_media = invert_media
@staticmethod @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( return WebPagePreview(
webpage=types.WebPageEmpty._parse(web_page_preview.webpage), webpage=webpage,
force_large_media=web_page_preview.force_large_media, force_large_media=web_page_preview.force_large_media,
force_small_media=web_page_preview.force_small_media, force_small_media=web_page_preview.force_small_media,
invert_media=invert_media invert_media=invert_media