Zum Inhalt

Telegram Shop – Technik & Einrichtung

Technische Eckdaten

Sprache Python 3.11+
Telegram-Framework aiogram 3
Datenbank PostgreSQL 16+ (SQLAlchemy, Migrationen enthalten)
Cache / Zustände Redis (optional, sonst Arbeitsspeicher)
Betrieb Docker / Docker Compose
Monitoring Web-Dashboard mit Metriken und Health-Checks
Tests Unit- und Integrationstests (pytest)

Voraussetzungen

  • Ein Bot-Token von @BotFather
  • Die Telegram-User-ID des Shop-Inhabers
  • Für Bitcoin-Zahlungen: eine Liste eigener Bitcoin-Empfangsadressen
  • Ein Linux-Server mit Docker

Einrichtung

cp .env.example .env        # Token, Owner-ID, Datenbank und Shop-Einstellungen eintragen
docker compose up -d --build

Bitcoin-Adressen werden in btc_addresses.txt hinterlegt. Neue Adressen erkennt der Bot automatisch.

Verwaltung

  • Im Bot: Admin-Menü für Produkte, Kategorien, Bilder, Nutzer, Einladungscodes, Einstellungen und Rundnachrichten.
  • Per CLI (bot_cli.py): Bestellungen bestätigen, Lieferzeiten setzen, Bestand pflegen, Nutzer sperren, Exporte erzeugen.

Hintergrund-Aufgaben

Aufgabe Funktion
Reservierungs-Bereinigung Gibt abgelaufene Reservierungen automatisch frei
Adress-Überwachung Lädt neue Bitcoin-Adressen bei Dateiänderung
Zahlungs-Monitor Überwacht offene Zahlungen

Sicherheit

  • Rollenbasierte Rechte (Owner, Admin, User)
  • Rate-Limiting pro Aktion
  • Schutz vor Injection-Angriffen und automatische Bot-Erkennung
  • Transaktionssichere Bestandsbuchung ohne Überverkauf
  • Getrennte Protokolle für Bestellungen, Codes und Kundenänderungen