Как загрузить документ или фотографию в telegram-бота, чтобы загрузка происходила только после вызова обратного запроса?

#python #py-telegram-bot-api

Вопрос:

Я пытаюсь создать бота на pytelegrambotAPI.

Идея заключается в следующем: пользователь вводит номер документа и получает сообщение из базы данных с информацией о документе и reply_markup с клавиатуры, где одной из кнопок является загрузка фотографии заполненного документа. Как я могу сделать возможным получение фотографии документа только после нажатия этой кнопки?

Что я пытался:

Оформитель:

 @bot.message_handler(content_types=['document'])
 

Фотографии всегда делаются с ним, независимо от reply_markup.

Я пытался это сделать:

 @bot.callback_query_handler(func=lambda call: True)
    def callback_worker(call):
            if call.data == 'send_photo':
                bot.send_message(call.message.chat.id, 'Загрузите фото документа')
                file_info = bot.get_file(call.message.document.file_name)
                downloaded_file = bot.download_file(file_info.file_path)
 

Затем создается исключение:

 AttributeError: 'NoneType' object has no attribute 'file_name'
 

Как я могу это сделать?