Skip to content

potionodevil/LeadBot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

3 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿค– LeadBot โ€” Automatisierte Lead-Generierung fรผr Webagenturen

Ein intelligenter Telegram-Bot, der automatisch potenzielle Kunden findet, deren Websites analysiert und qualifizierte Leads direkt an Notion sendet.

Python Playwright FastAPI


โœจ Features

Feature Beschreibung
๐Ÿ” Multi-Source Scraping Durchsucht Google Maps, Gelbe Seiten & Das ร–rtliche gleichzeitig
๐Ÿง  Website-Analyse Erkennt veraltete Designs, fehlendes SSL, mobiles Layout, Copyright-Jahre
๐Ÿš€ Sofort-Benachrichtigung Jeder gefundene Lead wird sofort per Telegram-Nachricht gemeldet
๐Ÿ“ Notion-Sync Leads landen automatisch in deiner Notion-Datenbank
๐Ÿ›ก๏ธ Duplikat-Schutz Prรผft vor dem Speichern, ob der Lead bereits in Notion existiert
๐Ÿ“Š Web-Dashboard รœbersicht aller Leads unter http://localhost:8000
๐ŸŒ™ Background-Modus Unsichtbarer Headless-Betrieb via --background
๐Ÿ”„ Hunt-Mode Scannt automatisch 20 Handwerker-Branchen in einer Stadt

๐Ÿ—๏ธ Architektur

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”     Telegram      โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚   Dein Handy โ”‚  โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€>  โ”‚   bot.py    โ”‚
โ”‚  (Telegram)  โ”‚  <โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€  โ”‚  (Commands) โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜                   โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                                         โ”‚
                    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
                    โ–ผ                    โ–ผ                    โ–ผ
            โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
            โ”‚ Google Maps  โ”‚    โ”‚Gelbe Seiten  โ”‚    โ”‚Das ร–rtliche  โ”‚
            โ”‚  (Playwright)โ”‚    โ”‚  (Base64-Fix)โ”‚    โ”‚  (Playwright)โ”‚
            โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                   โ”‚                   โ”‚                   โ”‚
                   โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                                       โ–ผ
                            โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
                            โ”‚  Website-Analyse โ”‚
                            โ”‚  (SSL, Viewport, โ”‚
                            โ”‚   Design, Email) โ”‚
                            โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                                     โ”‚
                    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
                    โ–ผ                โ–ผ                โ–ผ
            โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
            โ”‚  Telegram  โ”‚  โ”‚   Notion   โ”‚  โ”‚   CSV      โ”‚
            โ”‚  (Sofort)  โ”‚  โ”‚  (API)     โ”‚  โ”‚  (Backup)  โ”‚
            โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

๐Ÿ“‹ Voraussetzungen

  • Python 3.12+
  • Playwright Browser (Chromium)
  • Telegram Bot Token (via @BotFather)
  • Notion Integration (optional, fรผr Sync)

๐Ÿš€ Installation

1. Repository klonen

git clone <repository-url>
cd LeadBot

2. Virtuelle Umgebung erstellen

python3 -m venv .venv
source .venv/bin/activate  # Linux/Mac
# oder: .venv\Scripts\activate  # Windows

3. Abhรคngigkeiten installieren

pip install -r requirements.txt
playwright install chromium

4. Umgebungsvariablen konfigurieren

cp .env.example .env
nano .env  # oder dein Editor

Erforderliche Variablen:

Variable Beschreibung Woher?
TELEGRAM_BOT_TOKEN Token deines Telegram-Bots @BotFather
AUTHORIZED_USER_ID Deine Telegram User-ID @userinfobot

Optionale Variablen (Notion-Sync):

Variable Beschreibung
NOTION_API_KEY Internal Integration Token
NOTION_DATABASE_ID ID deiner Notion-Datenbank

โš ๏ธ Sicherheitshinweis: Die .env-Datei enthรคlt sensible Daten und ist in .gitignore aufgefรผhrt. Gib deine Tokens niemals รถffentlich preis!


๐ŸŽฎ Nutzung

Standard-Start (mit sichtbarem Browser)

python3 run.py

ร–ffnet ein Chromium-Fenster fรผr den Browser-Scraper. Ideal fรผr:

  • Erstes Setup
  • Captcha-Lรถsung
  • Debugging

Background-Start (unsichtbar, headless)

python3 run.py --background
# oder kurz:
python3 run.py -b

Lรคuft komplett im Hintergrund ohne Browser-Fenster. Perfekt fรผr:

  • 24/7-Server
  • Automatisierte Hunts
  • Headless-Umgebungen

Nur der Bot (ohne Web-Dashboard)

python3 bot.py
# oder im Hintergrund:
python3 bot.py --background

๐Ÿค– Telegram-Commands

Command Beschreibung Beispiel
/start Willkommensnachricht & Hilfe /start
/find Gezielte Suche nach Branche & Stadt /find dachdecker berlin
/hunt Automatischer 20-Branchen-Hunt /hunt mรผnchen
/radius Suchradius รคndern (km) /radius 25
/stats Lead-Statistiken anzeigen /stats
/best Lead mit den meisten Problemen /best

Natรผrliche Sprache

Der Bot versteht auch natรผrliche Anfragen:

  • "Suche Elektriker in Hamburg"
  • "Hunt Stuttgart"
  • "Wie viele Leads heute?"
  • "Bester Lead"

๐Ÿ—ƒ๏ธ Notion-Datenbank

Erstelle eine Notion-Datenbank mit diesen exakten Spaltennamen:

Spalte Typ Beschreibung
Firmenname Title Name des Unternehmens
Name Rich Text Ansprechpartner aus Impressum
Email Email Gefundene E-Mail-Adresse
Telefon Phone Number Telefonnummer
Probleme Rich Text Analyse-Ergebnisse (SSL, Viewport, etc.)
Website URL Firmenwebsite
Status Status Automatisch auf "Neu" gesetzt

Hinweis: Der Bot prรผft vor jedem Upload, ob der Lead bereits existiert (Duplikat-Schutz via Firmenname + Website).


๐Ÿ“ Verzeichnisstruktur

LeadBot/
โ”œโ”€โ”€ bot.py              # Telegram-Bot mit Commands & Logik
โ”œโ”€โ”€ scraper.py          # Playwright-Scraper (Maps, Gelbe Seiten, ร–rtliche)
โ”œโ”€โ”€ notion_db.py        # Notion-API-Integration & Duplikat-Check
โ”œโ”€โ”€ web.py              # FastAPI-Dashboard (localhost:8000)
โ”œโ”€โ”€ run.py              # Prozess-Manager (Bot + Webserver)
โ”œโ”€โ”€ requirements.txt    # Python-Abhรคngigkeiten
โ”œโ”€โ”€ .env.example        # Beispiel-Konfiguration (ohne echte Tokens!)
โ”œโ”€โ”€ .gitignore          # Ausgeschlossene Dateien
โ”œโ”€โ”€ db/                 # TinyDB-Datenbank (lokal, .gitignore)
โ”œโ”€โ”€ screenshots/        # Website-Screenshots (.gitignore)
โ”œโ”€โ”€ browser_session/    # Playwright-Cookies & Cache (.gitignore)
โ””โ”€โ”€ backup_leads.csv    # Automatisches CSV-Backup (.gitignore)

โš™๏ธ Konfiguration

Suchradius anpassen

StandardmรครŸig sucht der Bot im Umkreis von 10 km. ร„ndere ihn via Telegram:

/radius 50

Der Wert wird in db/radius.json persistiert.

Captcha-Handling

Wenn Google ein Captcha anzeigt:

  1. Der Bot pausiert automatisch
  2. Du erhรคltst eine Telegram-Nachricht: "โš ๏ธ CAPTCHA! Bitte am PC lรถsen."
  3. Lรถse das Captcha im Browser-Fenster
  4. Drรผcke Enter im Terminal, um fortzufahren

Im Background-Modus (--background) ist die Captcha-Lรถsung รผber AnyDesk/VNC empfohlen.


๐Ÿ› ๏ธ Tech Stack

Technologie Verwendung
Python 3.12+ Kernsprache
Playwright Browser-Automatisierung (Chromium)
python-telegram-bot Telegram-Bot-Framework
FastAPI Web-Dashboard
TinyDB Lokale JSON-Datenbank
Notion Client Notion-API-Integration
BeautifulSoup4 HTML-Parsing & Website-Analyse

๐Ÿ”’ Sicherheit & Datenschutz

  • Keine Secrets im Repo: .env, *.csv, Screenshots und Session-Daten sind in .gitignore
  • Duplikat-Schutz: Verhindert doppelte Eintrรคge in Notion
  • Autorisierung: Nur deine Telegram User-ID kann Commands ausfรผhren
  • Tab-Isolierung: Jeder Website-Scan lรคuft in einem separaten Browser-Tab

๐Ÿ™‹ Support

Bei Problemen oder Fragen:

  1. Prรผfe die Logs im Terminal
  2. Verifiziere deine .env-Konfiguration
  3. Stelle sicher, dass Playwright installiert ist: playwright install chromium

Built with caffeine and loveโ˜•

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages