code: async def edit_caption(self, caption: base.String,
                             parse_mode: typing.Union[base.String, None] = None,
                             reply_markup=None):
          
          return await self.bot.edit_message_caption(chat_id=self.chat.id, message_id=self.message_id, caption=caption,
                                                     parse_mode=parse_mode, reply_markup=reply_markup)
docs: Use this method to edit captions of messages sent by the bot or via the bot (for inline bots).
  
          Source: https://core.telegram.org/bots/api#editmessagecaption
  
          :param caption: New caption of the message
          :type caption: :obj:`typing.Union[base.String, None]`
          :param parse_mode: Send Markdown or HTML, if you want Telegram apps to show bold, italic,
              fixed-width text or inline URLs in your bot's message.
          :type parse_mode: :obj:`typing.Union[base.String, None]`
          :param reply_markup: A JSON-serialized object for an inline keyboard
          :type reply_markup: :obj:`typing.Union[types.InlineKeyboardMarkup, None]`
          :return: On success, if edited message is sent by the bot, the edited Message is returned,
              otherwise True is returned.
          :rtype: :obj:`typing.Union[types.Message, base.Boolean]`