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