Bot Telegram permettant de télécharger des vidéos et musiques depuis des liens de réseaux sociaux via yt-dlp.
Le bot peut fonctionner de trois façons :
- Docker Compose classique
- Standalone Python
- Egg Pelican / Pterodactyl
La configuration est centralisée dans un seul fichier : .env.
- Téléchargement vidéo via
/download <lien> - Extraction audio MP3 via
/music <lien> - Téléchargement automatique lorsqu'un lien est envoyé directement au bot
- Envoi Telegram direct pour les petits fichiers
- Upload externe via
curl.libriciel.frpour les fichiers trop volumineux - Cache et déduplication des URLs téléchargées
- Nettoyage périodique du dossier
downloads/ - Gestion de rétention selon la taille et le type de fichier
| Commande | Description |
|---|---|
/start |
Affiche le message d'accueil |
/help |
Affiche l'aide du bot |
/download <lien> |
Télécharge une vidéo |
/music <lien> |
Télécharge et convertit l'audio en MP3 |
| Lien direct | Le bot tente automatiquement le téléchargement vidéo |
- Un token Telegram Bot obtenu via @BotFather
- Python 3.11 si utilisation standalone
- Docker / Docker Compose si utilisation containerisée
- FFmpeg disponible dans l'environnement d'exécution
Copier l'exemple :
cp .env.example .envPuis éditer au minimum :
BOT_TOKEN=YOUR_TELEGRAM_BOT_TOKEN_HERELe même fichier .env est utilisé pour :
- Docker Compose
- Pelican / Pterodactyl
- Lancement Python standalone
Construire et lancer le bot :
docker compose up -d --buildVoir les logs :
docker compose logs -fArrêter le bot :
docker compose downLes dossiers suivants sont montés en volumes locaux :
logs/downloads/download_temp/
Installer les dépendances :
python3.11 -m venv venv
venv/bin/pip install --upgrade pip setuptools wheel
venv/bin/pip install -r requirements.txtLancer le bot :
venv/bin/python main.pyLe dépôt fournit un egg :
egg-socialvideodownload.json
Principe :
- Importer l'egg dans Pelican / Pterodactyl
- Créer un serveur avec l'image
ghcr.io/overstylefr/socialvideodownload.py:pelican - L'installation clone le dépôt dans le volume du serveur
- Le serveur crée un virtualenv Python dans
venv/ - Le bot lit la configuration depuis
.env
Après installation, éditer le fichier .env depuis le File Manager, puis démarrer le serveur.
| Variable | Description | Exemple |
|---|---|---|
BOT_TOKEN |
Token Telegram du bot | 123456:ABC... |
VERSION |
Version affichée dans /help |
V9.1 |
DEVELOPED_BY |
Auteur affiché dans /help |
Tom V. | OverStyleFR |
FFMPEG_PATH |
Chemin vers le binaire FFmpeg | /usr/bin/ffmpeg |
CLEANUP_INTERVAL_HOURS |
Intervalle de nettoyage périodique | 48 |
MIN_FREE_SPACE_MB |
Seuil d'espace disque libre minimal | 500 |
SMALL_FILE_SIZE_MB |
Taille max d'un petit fichier | 4 |
RETENTION_SMALL_HOURS |
Rétention des petits fichiers | 24 |
RETENTION_LARGE_HOURS |
Rétention des gros fichiers | 2 |
| Usage | Image |
|---|---|
| Docker classique | Build local depuis Dockerfile.compose |
| Pelican / Pterodactyl | ghcr.io/overstylefr/socialvideodownload.py:pelican |
| Image applicative CI/CD | ghcr.io/overstylefr/socialvideodownload.py:latest |
Voir DOCS.md.
Projet personnel développé par Tom V. | OverStyleFR.