helpy_botik / app /handlers /user /send_feedback.py
Zlovoblachko's picture
Add application file
339f372
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()