Skip to main content

🏠 Udziały Bot

Python 3.11+ aiogram 3.x License: MIT Platform: Windows

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)

  1. Sklonuj repozytorium:

    git clone https://github.com/your-user/udzialy-bot.git
    cd udzialy-bot
    
  2. 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
  3. 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)

Source distribution for udzialy-bot 3.2.5
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)

Table of built distributions (wheels) for udzialy-bot 3.2.5
File Interpreter ABI Platform Actions
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.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page