🏠 Udziały Bot
Telegram bot do wyszukiwania ogłoszeń sprzedaży udziałów w nieruchomościach na 5 polskich portalach ogłoszeniowych (OLX, Otodom, Morizon, Domiporta, Nieruchomości-online).
Bot automatycznie przeszukuje portale nieruchomości w poszukiwaniu ofert sprzedaży udziałów (ułamkowych części własności) i prezentuje wyniki bezpośrednio w Telegramie.
✨ Funkcje
- 🔍 Przeszukiwanie 5 portali nieruchomości jednocześnie (3-etapowy pipeline: skan → pełne opisy → ranking)
- 🗺️ Filtrowanie po województwie, mieście, promieniu i cenie
- 📄 Paginacja wyników z klawiaturą inline
- 💾 Zapisywanie interesujących ogłoszeń
- 🛡️ Rotacja proxy przez Tor dla anonimowości
- ⚡ Asynchroniczne scrapowanie (httpx, curl_cffi, nodriver)
- 🧠 FSM do konfiguracji filtrów krok po kroku
- 🚦 Anti-flood middleware
📋 Wymagania
- Python 3.11 lub nowszy
- Windows 10/11 (skrypty .bat)
- Konto Telegram + token bota z @BotFather
🚀 Instalacja (Windows)
Automatyczna (zalecana)
-
Sklonuj repozytorium:
git clone https://github.com/your-user/udzialy-bot.git cd udzialy-bot
-
Uruchom instalator:
install.bat
Skrypt automatycznie:
- Sprawdzi wersję Pythona
- Utworzy środowisko wirtualne (venv)
- Zainstaluje zależności
- Pobierze Tor Expert Bundle
- Zainstaluje przeglądarki Playwright
-
Skonfiguruj bota — edytuj
config.yaml:telegram: token: "YOUR_BOT_TOKEN_HERE" owner_id: 123456789
Ręczna
python -m venv .venv
.venv\Scripts\activate
pip install -r requirements.txt
playwright install chromium
▶️ Uruchomienie
start_bot.bat
Lub ręcznie:
.venv\Scripts\activate
python -m bot.main
🎮 Komendy bota
| Komenda | Opis |
|---|---|
/start |
Powitanie i menu główne |
/search |
Rozpocznij nowe wyszukiwanie |
/filters |
Ustaw filtry (województwo, miasto, cena) |
/saved |
Pokaż zapisane ogłoszenia |
/settings |
Ustawienia użytkownika |
/help |
Pomoc |
📁 Struktura projektu
udzialy-bot/
├── bot/
│ ├── __init__.py
│ ├── main.py # Entry point, dispatcher
│ ├── config.py # Pydantic Settings
│ ├── routers/
│ │ ├── __init__.py # Router registration
│ │ ├── search.py # /search command
│ │ ├── results.py # Pagination
│ │ ├── filters.py # FSM filters
│ │ ├── saved.py # Saved listings
│ │ └── settings.py # User settings
│ ├── keyboards/
│ │ ├── __init__.py
│ │ ├── inline.py # Inline keyboards
│ │ └── reply.py # Reply keyboards
│ └── middlewares/
│ ├── __init__.py
│ └── throttle.py # Anti-flood
├── config.yaml # Configuration
├── requirements.txt # Dependencies
├── pyproject.toml # Project metadata
├── install.bat # Windows installer
├── start_bot.bat # Windows launcher
├── .gitignore
└── README.md
⚙️ Konfiguracja
Plik config.yaml zawiera pełną konfigurację bota. Wartości można nadpisać zmiennymi środowiskowymi z prefiksem UDZIALY_.
🔒 Bezpieczeństwo
- Bot działa w trybie single-user (tylko owner_id)
- Tor zapewnia anonimowość przy scrapowaniu
- Rotacja User-Agent i fingerprint
- Rate limiting na portalach
📄 Licencja
MIT License — do użytku osobistego.
Metadata
Release files for udzialy-bot 3.2.5
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| udzialy_bot-3.2.5.tar.gz | 135.0 kB | Without provenance | Details for udzialy_bot-3.2.5.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| udzialy_bot-3.2.5-py3-none-any.whl | Python 3 | none | any | Details for udzialy_bot-3.2.5-py3-none-any.whl |
Total release size: 271.9 kB
Release files / udzialy_bot-3.2.5.tar.gz
| Download URL | udzialy_bot-3.2.5.tar.gz |
|---|---|
| Size | 135.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
66854dbf33948d0cb9d5dbcd2579a6b87481dbb6935e3f6ff3ca0462dc6cec09
|
|
BLAKE2b-256 checksum How to use checksums |
87c59a619bb72ee1fbbc8155fd28e815e83838cef8d8bac271d85774e179596a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.11.15
|
Release files / udzialy_bot-3.2.5-py3-none-any.whl
| Download URL | udzialy_bot-3.2.5-py3-none-any.whl |
|---|---|
| Size | 136.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
464e2b303ef102844f241713928cce68cfdb22d04117ff8135bd8a147c902544
|
|
BLAKE2b-256 checksum How to use checksums |
9a59ae54e6e81b61d8cfb8a219a7dd38c96d813129faee881e984e5c6ad7b98b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.11.15
|
Security for udzialy-bot 3.2.5
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.