mirror of
https://github.com/LonamiWebs/Telethon.git
synced 2024-11-22 09:26:37 +03:00
Fix .photo()/.document() inline results excluding media from msg
This commit is contained in:
parent
7de1c0e237
commit
15f7c27bce
|
@ -144,6 +144,7 @@ class InlineBuilder:
|
|||
text=text or '',
|
||||
parse_mode=parse_mode,
|
||||
link_preview=link_preview,
|
||||
media=True,
|
||||
geo=geo,
|
||||
period=period,
|
||||
contact=contact,
|
||||
|
@ -225,6 +226,7 @@ class InlineBuilder:
|
|||
text=text or '',
|
||||
parse_mode=parse_mode,
|
||||
link_preview=link_preview,
|
||||
media=True,
|
||||
geo=geo,
|
||||
period=period,
|
||||
contact=contact,
|
||||
|
@ -270,7 +272,7 @@ class InlineBuilder:
|
|||
|
||||
async def _message(
|
||||
self, *,
|
||||
text=None, parse_mode=(), link_preview=True,
|
||||
text=None, parse_mode=(), link_preview=True, media=False,
|
||||
geo=None, period=60, contact=None, game=False, buttons=None
|
||||
):
|
||||
# Empty strings are valid but false-y; if they're empty use dummy '\0'
|
||||
|
@ -284,18 +286,25 @@ class InlineBuilder:
|
|||
|
||||
markup = self._client.build_reply_markup(buttons, inline_only=True)
|
||||
if text is not None:
|
||||
if not text: # Automatic media on empty string, like stickers
|
||||
return types.InputBotInlineMessageMediaAuto('')
|
||||
|
||||
text, msg_entities = await self._client._parse_message_text(
|
||||
text, parse_mode
|
||||
)
|
||||
return types.InputBotInlineMessageText(
|
||||
message=text,
|
||||
no_webpage=not link_preview,
|
||||
entities=msg_entities,
|
||||
reply_markup=markup
|
||||
)
|
||||
if media:
|
||||
# "MediaAuto" means it will use whatever media the inline
|
||||
# result itself has (stickers, photos, or documents), while
|
||||
# respecting the user's text (caption) and formatting.
|
||||
return types.InputBotInlineMessageMediaAuto(
|
||||
message=text,
|
||||
entities=msg_entities,
|
||||
reply_markup=markup
|
||||
)
|
||||
else:
|
||||
return types.InputBotInlineMessageText(
|
||||
message=text,
|
||||
no_webpage=not link_preview,
|
||||
entities=msg_entities,
|
||||
reply_markup=markup
|
||||
)
|
||||
elif isinstance(geo, (types.InputGeoPoint, types.GeoPoint)):
|
||||
return types.InputBotInlineMessageMediaGeo(
|
||||
geo_point=utils.get_input_geo(geo),
|
||||
|
|
Loading…
Reference in New Issue
Block a user