From a7d6e918bcf59bd096777291a0baab8ab025c919 Mon Sep 17 00:00:00 2001 From: wulan17 Date: Tue, 8 Aug 2023 20:30:42 +0700 Subject: [PATCH] pyrofork: Add spoiler support for copy_message and send_cached_media methods #18 Signed-off-by: wulan17 --- pyrogram/methods/messages/send_cached_media.py | 9 ++++++++- pyrogram/types/messages_and_media/message.py | 6 ++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/pyrogram/methods/messages/send_cached_media.py b/pyrogram/methods/messages/send_cached_media.py index f06755b32..c17c27d5f 100644 --- a/pyrogram/methods/messages/send_cached_media.py +++ b/pyrogram/methods/messages/send_cached_media.py @@ -33,6 +33,7 @@ async def send_cached_media( caption: str = "", parse_mode: Optional["enums.ParseMode"] = None, caption_entities: List["types.MessageEntity"] = None, + has_spoiler: bool = None, disable_notification: bool = None, message_thread_id: int = None, reply_to_message_id: int = None, @@ -73,6 +74,9 @@ async def send_cached_media( caption_entities (List of :obj:`~pyrogram.types.MessageEntity`): List of special entities that appear in the caption, which can be specified instead of *parse_mode*. + has_spoiler (``bool``, *optional*): + Pass True if the photo needs to be covered with a spoiler animation. + disable_notification (``bool``, *optional*): Sends the message silently. Users will receive a notification with no sound. @@ -107,10 +111,13 @@ async def send_cached_media( if reply_to_message_id or message_thread_id: reply_to = types.InputReplyToMessage(reply_to_message_id=reply_to_message_id, message_thread_id=message_thread_id) + media = utils.get_input_media_from_file_id(file_id) + media.spoiler = has_spoiler + r = await self.invoke( raw.functions.messages.SendMedia( peer=await self.resolve_peer(chat_id), - media=utils.get_input_media_from_file_id(file_id), + media=media, silent=disable_notification or None, reply_to=reply_to, random_id=self.rnd_id(), diff --git a/pyrogram/types/messages_and_media/message.py b/pyrogram/types/messages_and_media/message.py index 36dd509f8..03ab0a846 100644 --- a/pyrogram/types/messages_and_media/message.py +++ b/pyrogram/types/messages_and_media/message.py @@ -3271,6 +3271,7 @@ async def copy( caption: str = None, parse_mode: Optional["enums.ParseMode"] = None, caption_entities: List["types.MessageEntity"] = None, + has_spoiler: bool = None, disable_notification: bool = None, message_thread_id: int = None, reply_to_message_id: int = None, @@ -3318,6 +3319,9 @@ async def copy( caption_entities (List of :obj:`~pyrogram.types.MessageEntity`): List of special entities that appear in the new caption, which can be specified instead of *parse_mode*. + has_spoiler (``bool``, *optional*): + Pass True if the photo needs to be covered with a spoiler animation. + disable_notification (``bool``, *optional*): Sends the message silently. Users will receive a notification with no sound. @@ -3377,6 +3381,7 @@ async def copy( message_thread_id=message_thread_id, reply_to_message_id=reply_to_message_id, schedule_date=schedule_date, + has_spoiler=has_spoiler, protect_content=protect_content, reply_markup=self.reply_markup if reply_markup is object else reply_markup ) @@ -3464,6 +3469,7 @@ async def copy( caption=caption, parse_mode=parse_mode, caption_entities=caption_entities, + has_spoiler=has_spoiler, message_thread_id=message_thread_id ) else: