Клавиатура inline и отправка файла Aiogram
Как корректно реализовать отправку файла?
Ниже многоуровневое меню, сами кнопки нет смысла отправлять.
Проблема в нижней части представленного кода:
При нажатии кнопки, пользователю отправляется файл и он отображается ниже инлайн клавиатуры, а сама кнопка долго горит, как будто не может обработать событие.
Не могу сообразить, как это облагородить. Пробовал возвращать клавиатуру reply_markup=nav.menu_tizer - не получается. Она появляется, но не работает.
Как после отправки файла повторно вывести клавиатуру?
@dp.callback_query_handler()
async def menu_info(call):
if call.data == "btn_back":
await bot.edit_message_text("Главное меню:", call.message.chat.id, call.message.message_id, reply_markup=nav.main_menu)
elif call.data == "btn_back2":
await bot.edit_message_text("Выбери нужный раздел:", call.message.chat.id, call.message.message_id, reply_markup=nav.menu_educ)
elif call.data == "btn_conn":
await bot.edit_message_text("Выбери удобный способ связи:", call.message.chat.id, call.message.message_id, reply_markup=nav.menu_info)
elif call.data == "btn_cons":
await bot.edit_message_text("Выбери нужный раздел:", call.message.chat.id, call.message.message_id, reply_markup=nav.menu_conult)
# Обновили флаг в бд для консультаций
db.user_consultation(user_id_global)
elif call.data == "btn_educ":
await bot.edit_message_text("Выбери нужный раздел:", call.message.chat.id, call.message.message_id, reply_markup=nav.menu_educ)
elif call.data == "btn_tizer":
await bot.edit_message_text("Получи бесплатный урок:", call.message.chat.id, call.message.message_id, reply_markup=nav.menu_tizer)
# Обновили флаг в бд для обучения
db.user_education(user_id_global)
elif call.data == "btn_pdf":
file_pdf = open('./Guide.pdf', 'rb')
await bot.send_document(call.message.chat.id, file_pdf, caption="Сохраните файл")
else:
pass
