async def feedbacks(message: Message): psql = PostgreSQL() if message.text == 'Оставить отзыв ✍': await BotStates.get_feedback.set() return await message.answer( text='*Пожалуйста отправьте мне ваш отзыв!*', parse_mode=types.ParseMode.MARKDOWN) elif message.text == 'Прочитать отзывы 👍': feedbacks = psql.select(( 'author_first_name', 'author_last_name', 'feedback_text', 'date_created', ), 'feedbacks') for feedback in feedbacks: date_time = dt.strftime(feedback[-1], '%Y-%m-%d %H:%M') await bot.send_message( chat_id=message.from_user.id, text= f'*{feedback[0]} {feedback[1]}*\n\n{feedback[2]}\n\n_{date_time}_', parse_mode=types.ParseMode.MARKDOWN, ) else: await BotStates.show_main_menu_buttons.set() await bot.send_message( chat_id=message.from_user.id, text='Для выхода в главное меню нажмите ⏩ *Назад в меню*', parse_mode=types.ParseMode.MARKDOWN, reply_markup=btns.back_to_menu()) psql.connection.close() else: await BotStates.feedback_menu.set() return await bot.send_message(chat_id=message.from_user.id, text="Выберите опцию:", reply_markup=btns.feedback_buttons())
async def show_menu(callback: CallbackQuery): psql = PostgreSQL() if callback.data == 'breakfast': for breakfast_object in psql.select( ('name', 'meal_type', 'image_path', 'price'), 'meal', {"meal_type": 2}): resized_image = resize_image(breakfast_object[2]) await bot.send_photo( chat_id=callback.from_user.id, photo=open(resized_image, 'rb'), caption= f'_**Resto Завтраки:**_\nНазвание блюда: *{breakfast_object[0]}*\nЦена: *{breakfast_object[3]} сом*', parse_mode=types.ParseMode.MARKDOWN) else: psql.connection.close() elif callback.data == 'send_feedback': return await bot.send_message(chat_id=callback.from_user.id, text='*Пожалуйста оставьте отзыв:*', parse_mode=types.ParseMode.MARKDOWN)
async def show_menu(callback: CallbackQuery): """Функция которая выводит список блюд по категориям. Всё зависит от нажатой inline-кнопки.""" psql = PostgreSQL() await BotStates.user_confirmation.set() if callback.data == 'breakfast': for breakfast in psql.select( ( 'name', 'image_path', 'price', 'meal_type' ), 'meal', {"meal_type": 2} ): image = resize_image(breakfast[1]) await bot.send_photo( chat_id=callback.from_user.id, photo=open(image, 'rb'), caption=f'_Название:_ *{breakfast[0]}*\n_Цена:_ *{breakfast[2]} сом*', parse_mode=types.ParseMode.MARKDOWN, reply_markup=ibtns.make_order((breakfast[-1], breakfast[0])) ) else: return await bot.send_message( chat_id=callback.from_user.id, text='Нажмите "Назад" чтобы вернуться в Главное Меню!', reply_markup=btns.back_to_menu() ) elif callback.data == 'lunch': for lunch in psql.select( ( 'name', 'image_path', 'price', 'meal_type' ), 'meal', {"meal_type": 3} ): image = resize_image(lunch[1]) await bot.send_photo( chat_id=callback.from_user.id, photo=open(image, 'rb'), caption=f'_Название:_ *{lunch[0]}*\n_Цена:_ *{lunch[2]} сом*', parse_mode=types.ParseMode.MARKDOWN, reply_markup=ibtns.make_order((lunch[-1], lunch[0])) ) else: return await bot.send_message( chat_id=callback.from_user.id, text='Нажмите "Назад" чтобы вернуться в Главное Меню!', reply_markup=btns.back_to_menu() ) elif callback.data == 'dinner': for dinner in psql.select( ( 'name', 'image_path', 'price', 'meal_type' ), 'meal', {"meal_type": 4} ): image = resize_image(dinner[1]) await bot.send_photo( chat_id=callback.from_user.id, photo=open(image, 'rb'), caption=f'_Название:_ *{dinner[0]}*\n_Цена:_ *{dinner[2]} сом*', parse_mode=types.ParseMode.MARKDOWN, reply_markup=ibtns.make_order((dinner[-1], dinner[0])) ) else: return await bot.send_message( chat_id=callback.from_user.id, text='Нажмите "Назад" чтобы вернуться в Главное Меню!', reply_markup=btns.back_to_menu() ) elif callback.data == 'primary_meal': for primary_meal in psql.select( ( 'name', 'image_path', 'price', 'meal_type' ), 'meal', {"meal_type": 1} ): image = resize_image(primary_meal[1]) await bot.send_photo( chat_id=callback.from_user.id, photo=open(image, 'rb'), caption=f'_Название:_ *{primary_meal[0]}*\n_Цена:_ *{primary_meal[2]} сом*', parse_mode=types.ParseMode.MARKDOWN, reply_markup=ibtns.make_order((primary_meal[-1], primary_meal[0])) ) else: return await bot.send_message( chat_id=callback.from_user.id, text='Нажмите "Назад в меню" чтобы вернуться в Главное Меню!', reply_markup=btns.back_to_menu() )