from aiogram import Dispatcher, F from aiogram.types import Message from keyboard import get_locks_keyboard, get_contact_keyboard from auth import authorize_user, normalize_phone from config import config 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 = normalize_phone(msg.contact.phone_number) if not authorize_user(user_id, phone): await msg.answer("Доступ запрещен, номер не идентифицирован") return user_conf = config.get("users", {}).get(phone) print(f"***user_conf для {phone}: {user_conf}***") if not user_conf: await msg.answer("Пользователь не опознан") return allowed_locks = user_conf.get("lock_id", []) print(f"***allowed_locks = {allowed_locks}***") reply_markup = get_locks_keyboard(allowed_locks) await msg.answer( "Номер подтвержден. Выберите дверь для открытия", reply_markup=reply_markup )