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 )