Un démon Telegram (pas un bot) pour l'automatisation du téléchargement de fichiers pour les chaînes pour lesquelles vous disposez de privilèges d'administrateur.
Si vous disposez d'un ordinateur ou d'un NAS connecté à Internet et que vous souhaitez automatiser le téléchargement de fichiers à partir des chaînes Telegram, ce démon est fait pour vous.
Les robots Telegram sont limités aux téléchargements d’une taille de fichier de 20 Mo. J'ai donc écrit cet agent ou démon pour permettre des téléchargements plus importants (limités à 2 Go par les API Telegram).
Vous avez besoin de Python3 (3.6 fonctionne bien, 3.5 plantera de manière aléatoire).
Installez les dépendances en exécutant cette commande :
pip install -r requirements.txt
(Si vous ne souhaitez pas installer cryptg
et ses dépendances, il vous suffit d'installer telethon
)
Attention : Si vous recevez un File size too large message
, vérifiez la version de la bibliothèque Téléthon que vous utilisez. Les anciennes versions ont une limite de taille de fichier de 1,5 Go.
Obtenez votre propre identifiant API : https://core.telegram.org/api/obtaining_api_id
Vous devez configurer ces valeurs :
Variable d'environnement | Argument de ligne de commande | Description | Valeur par défaut |
---|---|---|---|
TELEGRAM_DAEMON_API_ID | --api-id | api_id de https://core.telegram.org/api/obtaining_api_id | |
TELEGRAM_DAEMON_API_HASH | --api-hash | api_hash de https://core.telegram.org/api/obtaining_api_id | |
TELEGRAM_DAEMON_DEST | --dest | Chemin de destination des fichiers téléchargés | /telegram-downloads |
TELEGRAM_DAEMON_TEMP | --temp | Chemin de destination des fichiers temporaires (téléchargement en cours) | utiliser --dest |
TELEGRAM_DAEMON_CHANNEL | --channel | Identifiant de la chaîne à télécharger à partir de celle-ci (Veuillez vérifier les numéros 45, 48 et 73) | |
TELEGRAM_DAEMON_DUPLICATES | --duplicates | Que faire des fichiers dupliqués : ignorez-les, écrasez-les ou renommez-les | rebaptiser |
TELEGRAM_DAEMON_WORKERS | --workers | Nombre de téléchargements simultanés | Égal aux cœurs de processeur |
Vous pouvez les définir comme variables d'environnement, ou les mettre comme arguments de ligne de commande, par exemple :
python telegram-download-daemon.py --api-id <your-id> --api-hash <your-hash> --channel <channel-number>
Enfin, renvoyez n’importe quel lien de fichier vers la chaîne pour lancer le téléchargement. Ce démon peut gérer plusieurs téléchargements simultanément.
Vous pouvez également « parler » à ce démon en utilisant votre client Telegram :
docker pull alfem/telegram-download-daemon
Lorsque nous utilisons la méthode TelegramClient
, cela nous oblige à interagir avec la Console
pour lui donner notre numéro de téléphone et confirmer avec un code de sécurité.
Pour ce faire, lorsque vous utilisez Docker , vous devez exécuter le conteneur de manière interactive pour la première fois.
Lorsque vous utilisez docker-compose
, le fichier .session
, où la connexion est stockée, est conservé dans le volume en dehors du conteneur. Par conséquent, lorsque vous utilisez docker-compose, vous devez :
$ docker-compose run --rm telegram-download-daemon
# Interact with the console to authenticate yourself.
# See the message "Signed in successfully as {youe name}"
# Close the container
$ docker-compose up -d
Voir le volume sessions
dans le fichier docker-compose.yml.