Skip to content

Commit 9c0209a

Browse files
authored
Add missing invert_media parameter to 'some' of the edit_media methods
1 parent f0ab18f commit 9c0209a

File tree

3 files changed

+28
-2
lines changed

3 files changed

+28
-2
lines changed

pyrogram/methods/messages/edit_inline_caption.py

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
# You should have received a copy of the GNU Lesser General Public License
1717
# along with Pyrogram. If not, see <http://www.gnu.org/licenses/>.
1818

19-
from typing import Optional
19+
from typing import Optional, List
2020

2121
import pyrogram
2222
from pyrogram import types, enums
@@ -28,6 +28,8 @@ async def edit_inline_caption(
2828
inline_message_id: str,
2929
caption: str,
3030
parse_mode: Optional["enums.ParseMode"] = None,
31+
caption_entities: List["types.MessageEntity"] = None,
32+
show_caption_above_media: bool = None,
3133
reply_markup: "types.InlineKeyboardMarkup" = None
3234
) -> bool:
3335
"""Edit the caption of inline media messages.
@@ -45,6 +47,12 @@ async def edit_inline_caption(
4547
By default, texts are parsed using both Markdown and HTML styles.
4648
You can combine both syntaxes together.
4749
50+
caption_entities (List of :obj:`~pyrogram.types.MessageEntity`):
51+
List of special entities that appear in the caption, which can be specified instead of *parse_mode*.
52+
53+
show_caption_above_media (``bool``, *optional*):
54+
Pass True, if the caption must be shown above the message media. Supported only for animation, photo and video messages.
55+
4856
reply_markup (:obj:`~pyrogram.types.InlineKeyboardMarkup`, *optional*):
4957
An InlineKeyboardMarkup object.
5058
@@ -57,9 +65,16 @@ async def edit_inline_caption(
5765
# Bots only
5866
await app.edit_inline_caption(inline_message_id, "new media caption")
5967
"""
68+
link_preview_options = None
69+
if show_caption_above_media:
70+
link_preview_options = types.LinkPreviewOptions(
71+
show_above_text=show_caption_above_media
72+
)
6073
return await self.edit_inline_text(
6174
inline_message_id=inline_message_id,
6275
text=caption,
6376
parse_mode=parse_mode,
77+
entities=caption_entities,
78+
link_preview_options=link_preview_options,
6479
reply_markup=reply_markup
6580
)

pyrogram/methods/messages/edit_inline_media.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,8 @@ async def edit_inline_media(
7979
parse_mode = media.parse_mode
8080
caption_entities = media.caption_entities
8181

82+
show_caption_above_media = []
83+
8284
is_bytes_io = isinstance(media.media, io.BytesIO)
8385
is_uploaded_file = is_bytes_io or os.path.isfile(media.media)
8486

@@ -109,6 +111,7 @@ async def edit_inline_media(
109111
)
110112
else:
111113
media = utils.get_input_media_from_file_id(media.media, FileType.PHOTO, has_spoiler=media.has_spoiler)
114+
show_caption_above_media.append(media.show_caption_above_media)
112115
elif isinstance(media, types.InputMediaVideo):
113116
if is_uploaded_file:
114117
media = raw.types.InputMediaUploadedDocument(
@@ -132,6 +135,7 @@ async def edit_inline_media(
132135
)
133136
else:
134137
media = utils.get_input_media_from_file_id(media.media, FileType.VIDEO, has_spoiler=media.has_spoiler)
138+
show_caption_above_media.append(media.show_caption_above_media)
135139
elif isinstance(media, types.InputMediaAudio):
136140
if is_uploaded_file:
137141
media = raw.types.InputMediaUploadedDocument(
@@ -178,6 +182,7 @@ async def edit_inline_media(
178182
)
179183
else:
180184
media = utils.get_input_media_from_file_id(media.media, FileType.ANIMATION)
185+
show_caption_above_media.append(media.show_caption_above_media)
181186
elif isinstance(media, types.InputMediaDocument):
182187
if is_uploaded_file:
183188
media = raw.types.InputMediaUploadedDocument(
@@ -232,6 +237,7 @@ async def edit_inline_media(
232237
raw.functions.messages.EditInlineBotMessage(
233238
id=unpacked,
234239
media=actual_media,
240+
invert_media=any(show_caption_above_media),
235241
reply_markup=await reply_markup.write(self) if reply_markup else None,
236242
**await utils.parse_text_entities(self, caption, parse_mode, caption_entities)
237243
),

pyrogram/methods/messages/edit_message_media.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,8 @@ async def edit_message_media(
9898
parse_mode = media.parse_mode
9999
caption_entities = media.caption_entities
100100

101+
show_caption_above_media = []
102+
101103
message, entities = None, None
102104

103105
if caption is not None:
@@ -148,6 +150,7 @@ async def edit_message_media(
148150
)
149151
else:
150152
media = utils.get_input_media_from_file_id(media.media, FileType.PHOTO, has_spoiler=media.has_spoiler)
153+
show_caption_above_media.append(media.show_caption_above_media)
151154
elif isinstance(media, types.InputMediaVideo):
152155
if is_uploaded_file:
153156
uploaded_media = await self.invoke(
@@ -188,6 +191,7 @@ async def edit_message_media(
188191
)
189192
else:
190193
media = utils.get_input_media_from_file_id(media.media, FileType.VIDEO, has_spoiler=media.has_spoiler)
194+
show_caption_above_media.append(media.show_caption_above_media)
191195
elif isinstance(media, types.InputMediaAudio):
192196
if is_uploaded_file:
193197
media = await self.invoke(
@@ -261,6 +265,7 @@ async def edit_message_media(
261265
)
262266
else:
263267
media = utils.get_input_media_from_file_id(media.media, FileType.ANIMATION, has_spoiler=media.has_spoiler)
268+
show_caption_above_media.append(media.show_caption_above_media)
264269
elif isinstance(media, types.InputMediaDocument):
265270
if is_uploaded_file:
266271
media = await self.invoke(
@@ -298,7 +303,7 @@ async def edit_message_media(
298303
reply_markup=await reply_markup.write(self) if reply_markup else None,
299304
message=message,
300305
entities=entities,
301-
# TODO
306+
invert_media=any(show_caption_above_media),
302307
schedule_date=utils.datetime_to_timestamp(schedule_date)
303308
)
304309
session = None

0 commit comments

Comments
 (0)