File size: 1,838 Bytes
339f372
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
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()