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): 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 = get_locks_keyboard(allowed_zones) await msg.answer( "Номер подтвержден. Выберите дверь для открытия", reply_markup=reply_markup )