Получение нескольких документов от пользователя pyTelegramBotAPI
Имеется вот такой код:
@bot.message_handler(content_types=['document'])
def handle_docs(message):
file_id = message.document.file_id
file_info = bot.get_file(file_id)
file_data = bot.download_file(file_info.file_path)
file_name = message.document.file_name
print(f'Обрабатываем файл: {file_name}')
with open(file_name, 'wb') as new_file:
new_file.write(file_data)
with open(file_name, 'rb') as send_file:
bot.send_document(chat_id=admin_chat_id, document=send_file)
bot.reply_to(message, f'Файл {file_name} отправлен')
bot.send_message(message.chat.id, "Теперь пришлите комментарий")
bot.register_next_step_handler(message, handle_message)
def handle_message(message):
keyboard = types.InlineKeyboardMarkup()
done_button = types.InlineKeyboardButton(text="Выполнено", callback_data="done")
keyboard.add(done_button)
bot.send_message(admin_chat_id, message.text)
bot.send_message(admin_chat_id, f"Новое задание от @{message.from_user.username}!\n"
f"Имя: {message.from_user.first_name}\n"
f"Фамилия: {message.from_user.last_name}\n"
f"ID чата: {message.chat.id}", reply_markup=keyboard)
bot.send_message(message.chat.id, "Текст получен! Павел Картошкин счастлив")
Он должен принять от пользователя файлы, отправить их администратору (admin_chat_id), а затем запросить у пользователя комментарий к этим файлам и тоже отправить администратору. Но когда пользователь присылает несколько документов за раз, бот выполняет функцию-обработчик документов (handle_docs) несколько раз, соответственно слудующая функция, запрашивающая комментарий, тоже вызывается несколько раз. Есть ли способ отследить последнее выполнение функции, чтобы вызывать следующий шаг только после него, или каким-то иным способом реализовать приём нескольких документов от пользователя, запрашивая после этого комментарий. Я никак не могу сделать так, чтобы первый шаг выполнялся несколько раз, а второй шаг - только один раз.