from aiogram import Router, F from aiogram.types import Message, CallbackQuery from aiogram.fsm.context import FSMContext from app.keyboards import user_keyboards as kb from app.states import MessageStates from app.keyboards.user_keyboards import user_keyboard_feedback from app.database import requests as rq from app.config.config import ADMIN_ID router = Router() @router.message(F.text == 'Оставить отзыв') async def pre_contact_admin(message: Message, state: FSMContext): await state.set_state(MessageStates.user_send_feedback) await message.answer('Выберите услугу, на которую Вы хотите оставить отзыв', reply_markup=await user_keyboard_feedback()) @router.callback_query(F.data.startswith('feedback_')) async def choose_service(callback: CallbackQuery, state: FSMContext): await state.set_state(MessageStates.user_choosing_feedback_service) await callback.answer('') service_info = await rq.get_service_info(callback.data.split('_')[1]) await state.update_data(name=service_info.service_name) await callback.message.answer(f"Введите ваш отзыв на услугу {service_info.service_name}") @router.message(MessageStates.user_choosing_feedback_service) async def contact_admin(message: Message, state: FSMContext): await state.set_state(MessageStates.user_sending_feedback) data = await state.get_data() print(data) await message.bot.send_message( chat_id=ADMIN_ID[0], text=f'Новый отзыв на услугу #{data["name"]}:' ) await message.forward(ADMIN_ID[0]) await message.answer( 'Отзыв отправлен! Спасибо за использование наших услуг!.', reply_markup=kb.user_back_wo_reg ) await state.clear()