Bot Telegram personnel pour la détection automatique des billets TGVmax disponibles, avec alertes personnalisées toutes les 15 minutes.
- 📲 Interface Telegram guidée pour enregistrer des trajets
- 📅 Prise en charge des trajets ponctuels
- ⏰ Heure de départ préférée pour chaque trajet
- 🧠 Détection du train gratuit le plus proche
- 🚨 Notification automatique Telegram en cas de meilleur train
- 🗂️ Stockage local des meilleurs trains (
best_trains.json) - 🔁 Mise à jour automatique des données toutes les 15 minutes
python-telegram-bot(interaction avec Telegram)requests(download du dataset SNCF)schedule(boucle de scan périodique)dotenv(gestion des clés API)json,datetime,threading,subprocess, etc.
-
Cloner le repo :
git clone https://github.com/Carbnwo/TGVMaxBot.git cd TGVMaxBot -
Créer un environnement virtuel :
python3 -m venv .venv source .venv/bin/activate -
Installer les dépendances :
pip install -r requirements.txt
-
Configurer
.env:TELEGRAM_BOT_TOKEN=... AUTHORIZED_USER_ID=... -
Lancer le système :
python main.py
Le système tourne 24/7 sur un VPS Hetzner (Ubuntu 22.04), en utilisant un main.py qui orchestre toutes les tâches :
- Lancement du bot Telegram
- Téléchargement du fichier
tgvmax.json - Conversion des trajets récurrents
- Scan et envoi des alertes
├── main.py # Script principal de gestion des tâches
├── bot.py # Gestion du bot Telegram
├── scan_engine.py # Détection du meilleur train
├── update_data.py # Téléchargement du dataset TGVmax
├── convert_recurrent.py # Conversion des trajets récurrents (facultatif)
├── telegram_utils.py # Fonction d'envoi de messages Telegram
├── trajets_converted.json # Liste des trajets à scanner
├── best_trains.json # Historique des meilleurs trains trouvés
├── requirements.txt # Dépendances Python
└── .env # Clés API (non versionné)
⚙️ Bot développé par Carbnwo pour un usage personnel.
