32 lines
1.2 KiB
Python
32 lines
1.2 KiB
Python
from aiogram import Dispatcher, F
|
|
from aiogram.types import Message
|
|
|
|
from keyboard import get_locks_keyboard, get_contact_keyboard
|
|
from auth import authorize_user, AUTHORIZED_USERS
|
|
|
|
|
|
def register_contact_handler(dp: Dispatcher):
|
|
@dp.message(F.contact)
|
|
async def contact_handler(msg: Message):
|
|
user_id = msg.from_user.id
|
|
if msg.contact is None:
|
|
await msg.answer("Ошибка: номер телефона не получен")
|
|
return
|
|
|
|
phone = msg.contact.phone_number
|
|
if not await authorize_user(user_id, phone):
|
|
print("DEBUG: phone in contact_handler is ", phone)
|
|
await msg.answer("Доступ запрещён, номер не идентифицирован")
|
|
return
|
|
|
|
user_data = AUTHORIZED_USERS.get(user_id)
|
|
if not user_data:
|
|
await msg.answer("Ошибка авторизации.")
|
|
return
|
|
|
|
allowed_zones = user_data["zones"]
|
|
reply_markup = await get_locks_keyboard(allowed_zones)
|
|
await msg.answer(
|
|
"Номер подтверждён. Выберите дверь для открытия", reply_markup=reply_markup
|
|
)
|