# Kurigram Property Bot Бот получает события `listing.new` из WebSocket API проекта `scrap-property` и рассылает новые объявления всем подписанным Telegram-чатам. ## Подготовка 1. Заполните Telegram credentials в созданном `config.toml`. Для повторного развёртывания используйте `config.example.toml`; рабочий конфиг и SQLite-база игнорируются Git. 2. Установите зависимости: `uv sync --python 3.12`. 3. Запустите: `uv run property-bot --config config.toml`. На Linux бот запускается через `uvloop`. На Windows `uvloop` не поддерживается, поэтому для локальной разработки автоматически используется стандартный цикл `asyncio`. `scrap-property` должен быть доступен до запуска бота; его WebSocket URL задаётся в `[property_api]`. ## Команды - `/start` — включить уведомления; - `/subscribe` — включить уведомления повторно; - `/unsubscribe` — отключить уведомления; - `/status` — показать состояние подписки; админам — также состояние API; - `/test` — отправить вызывающему тестовую карточку. Подписка относится к чату, из которого вызвана команда. Любой чат может подписаться. Администраторы задаются списком Telegram user ID в TOML. ## Проверка ```powershell uv run pytest ```