делаю телеграм бота на python-telegram-bot
не могу изменить подпись у сообщения. выдает ошибку `telegram.error.BadRequest: Message caption is too long
`
в чем тут проблема?
вот мой код который обрабатывает MessageHandler, тут все работает и подпись меняется
application.add_handler(MessageHandler(filters.Regex('.*youtu.*'), self.handle_youtube_link))
async def handle_youtube_link(update: Update, context):
url = update.message.text.strip()
user_id = update.message.from_user.id
info = db.youtube_url_exist(url)
if info:
await context.bot.send_photo(chat_id=user_id, photo=info['thumbnail'], caption=info['full'])
else:
loading_message = await context.bot.send_animation(chat_id=user_id, animation=_loading_gif(), caption=f' Aнализируем ссылку')
info = video_info(url)
video_info = f"{info['full']}\nВыберите нужный формат для скачивания: "
photo = InputMediaPhoto(media=info['thumbnail'], caption=video_info)
await context.bot.editMessageMedia(chat_id=user_id, message_id=loading_message.message_id, media=photo)
вот точно такой же способ но тут обрабатывает CallbackQueryHandler
application.add_handler(CallbackQueryHandler(self.handle_callback_inline_query))
async def handle_callback_inline_query(self, update: Update, context: CallbackContext):
callback_data = update.callback_query.data
user_id = update.callback_query.from_user.id
if callback_data.startswith('ydl>'):
url = re.search(pattern=r'>(.*?)<', string=callback_data).group(1)
info = db.youtube_url_exist(url)
# тут выдает ошибку telegram.error.BadRequest: Message caption is too long` и не хочет обновлять подпись
video = InputMediaVideo(media=info['thumbnail'], caption=info['full'])
await context.bot.editMessageMedia(chat_id=user_id, message_id=update.callback_query.message.message_id, media=video)