🏠 Udziały Bot
Telegram bot do wyszukiwania ogłoszeń sprzedaży udziałów w nieruchomościach na 9 polskich portalach ogłoszeniowych.
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 9 portali nieruchomości jednocześnie
- 🗺️ 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.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file udzialy_bot-3.1.1.tar.gz.
File metadata
- Download URL: udzialy_bot-3.1.1.tar.gz
- Upload date:
- Size: 114.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
aeb7e4f3832de98c72c4458f205efce7a84bad22336cf43049aa81df1d502d54
|
|
| MD5 |
c2662a23cb216897af974da9a7b8eb21
|
|
| BLAKE2b-256 |
ae02f4044da2aa34e64259441bf5ff3f543f870de7e0ee11b939f17aa9164f31
|
File details
Details for the file udzialy_bot-3.1.1-py3-none-any.whl.
File metadata
- Download URL: udzialy_bot-3.1.1-py3-none-any.whl
- Upload date:
- Size: 127.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d361ea1ec69425d286b0d3ecef67a57a13bba661ba380a8d7a8abf9b986b678e
|
|
| MD5 |
f098f59eebb33fbc5aeeb510afbbd5fd
|
|
| BLAKE2b-256 |
7de2786b3c3f53ac2d9f06284e5c491a52f30bf8f2a005f46a3ab7fc2184242f
|