From 5dc43276bb755a14af9c01444b626659eec0ea65 Mon Sep 17 00:00:00 2001 From: Lonami Exo Date: Fri, 20 Apr 2018 09:44:33 +0200 Subject: [PATCH] Add missing caption when sending Message with media --- telethon/telegram_client.py | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/telethon/telegram_client.py b/telethon/telegram_client.py index 0a80bd97..3abb8517 100644 --- a/telethon/telegram_client.py +++ b/telethon/telegram_client.py @@ -780,7 +780,9 @@ class TelegramClient(TelegramBareClient): if isinstance(message, Message): if (message.media and not isinstance(message.media, MessageMediaWebPage)): - return self.send_file(entity, message.media) + return self.send_file(entity, message.media, + caption=message.message, + entities=message.entities) if reply_to is not None: reply_id = self._get_message_id(reply_to) @@ -1495,7 +1497,14 @@ class TelegramClient(TelegramBareClient): entity = self.get_input_entity(entity) reply_to = self._get_message_id(reply_to) - caption, msg_entities = self._parse_message_text(caption, parse_mode) + + # Not document since it's subject to change. + # Needed when a Message is passed to send_message and it has media. + if 'entities' in kwargs: + msg_entities = kwargs['entities'] + else: + caption, msg_entities =\ + self._parse_message_text(caption, parse_mode) if not isinstance(file, (str, bytes, io.IOBase)): # The user may pass a Message containing media (or the media,