feat: add Kurigram property notification bot
This commit is contained in:
36
README.md
Normal file
36
README.md
Normal file
@@ -0,0 +1,36 @@
|
||||
# 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
|
||||
```
|
||||
Reference in New Issue
Block a user