Spaces:
Runtime error
Runtime error
from aiogram import Router, F | |
from aiogram.types import Message, CallbackQuery | |
from aiogram.fsm.context import FSMContext | |
from app.database import requests as rq | |
from app.keyboards import user_keyboards as kb | |
from app.states import Other | |
from app.database.requests import check_user_registered | |
from app.config.config import ADMIN_ID | |
router = Router() | |
async def get_catalog(message: Message): | |
await message.answer('Спасибо за интерес! Вот наш перечень услуг. ' | |
'Пожалуйста, выберите самую подходящую и нажмите на соответствующую кнопку, ' | |
'чтобы узнать о ней подробнее:', reply_markup=await kb.user_keyboard_catalog()) | |
async def service_info(callback: CallbackQuery,state: FSMContext): | |
await callback.answer('') | |
service_info = await rq.get_service_info(callback.data.split('_')[1]) | |
service_string = f"Вот информация по выбранной Вами услуге: \n" \ | |
f"Название: {service_info.service_name} \n" \ | |
f"Описание: {service_info.service_description} \n" \ | |
f"Цена: {service_info.service_price}. \n\n" \ | |
f"Хотите ли Вы воспользоваться данной услугой?" | |
await callback.answer('') | |
await state.set_state(Other.user_pre_buy_service) | |
await state.update_data(user_id=callback.from_user.id, | |
user_username=callback.from_user.username, | |
service=service_info.service_name) | |
await callback.message.answer(service_string, reply_markup=kb.service_confirm) | |
async def admin_prompt(message: Message, state: FSMContext): | |
await state.set_state(Other.user_buy_service) | |
await message.answer('Напишите Нине и изложите Вашу проблему - это поможет ей лучше понять Ваш конкретный случай' | |
' и сделать Ваш разговор более предметным!') | |
async def admin_connect(message: Message, state: FSMContext): | |
data = await state.get_data() | |
await message.bot.send_message(chat_id=ADMIN_ID[0], | |
text=f'Здравствуйте! Поступил новый заказ на услугу {data["service"]} от пользователя' | |
f' @{data["user_username"]}') | |
await message.send_copy(ADMIN_ID[0]) | |
await message.answer('Спасибо за обращение! Скоро Нина свяжется с Вами в личных сообщениях для обсуждения ' | |
'подробностей Вашего заказа!') | |
await state.clear() | |
registration_status = await check_user_registered(message.from_user.id) | |
if registration_status: | |
await message.answer('Вы можете вернуться в меню и посмотреть, какие еще услуги мы предлагаем!', | |
reply_markup=kb.user_back_wo_reg) | |
elif not registration_status: | |
await message.answer('Вы можете вернуться в меню и посмотреть, какие еще услуги мы предлагаем! Еще мы предлагаем ' | |
'зарегистрироваться, чтобы получить возможность не пропускать всё самое важное, что происходит ' | |
'в канале. Также регистрация позволит Вам вступить в СЕКРЕТНЫЙ КЛУБ пользователей, которые' | |
' будут иметь доступ к специальным акциям и ВКУСНЫМ ЦЕНАМ для своих!', | |
reply_markup=kb.user_back) | |
async def np_service_return_to_menu(message: Message, state: FSMContext): | |
await state.clear() | |
await message.answer('Чем я могу Вам помочь?', reply_markup=kb.user_main) | |
async def register(callback: CallbackQuery): | |
await callback.answer("Возвращаемся в меню") | |
await callback.message.answer("Чем я могу Вам помочь?", reply_markup=kb.user_main) |