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.

Проверка

uv run pytest
Description
No description provided
Readme 42 KiB
Languages
Python 100%