@ffas

Изменение подписи у отправленного сообщения в телеграм?

делаю телеграм бота на 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)
  • Вопрос задан
  • 73 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы