Ein Telegram-Daemon (kein Bot) zur Automatisierung des Herunterladens von Dateien für Kanäle, für die Sie über Administratorrechte verfügen.
Wenn Sie einen mit dem Internet verbundenen Computer oder NAS haben und das Herunterladen von Dateien von Telegram-Kanälen automatisieren möchten, ist dieser Daemon genau das Richtige für Sie.
Telegram-Bots sind auf eine Dateigröße von 20 MB für Downloads beschränkt. Deshalb habe ich diesen Agenten oder Daemon geschrieben, um größere Downloads zu ermöglichen (durch Telegram-APIs auf 2 GB begrenzt).
Sie benötigen Python3 (3.6 funktioniert einwandfrei, 3.5 stürzt zufällig ab).
Installieren Sie Abhängigkeiten, indem Sie diesen Befehl ausführen:
pip install -r requirements.txt
(Wenn Sie cryptg
und seine Abhängigkeiten nicht installieren möchten, müssen Sie nur telethon
installieren.)
Warnung: Wenn Sie die File size too large message
erhalten, überprüfen Sie die Version der Telethon-Bibliothek, die Sie verwenden. Für alte Versionen gilt eine Dateigrößenbeschränkung von 1,5 GB.
Erhalten Sie Ihre eigene API-ID: https://core.telegram.org/api/obtaining_api_id
Sie müssen diese Werte konfigurieren:
Umgebungsvariable | Befehlszeilenargument | Beschreibung | Standardwert |
---|---|---|---|
TELEGRAM_DAEMON_API_ID | --api-id | api_id von https://core.telegram.org/api/obtaining_api_id | |
TELEGRAM_DAEMON_API_HASH | --api-hash | api_hash von https://core.telegram.org/api/obtaining_api_id | |
TELEGRAM_DAEMON_DEST | --dest | Zielpfad für heruntergeladene Dateien | /telegram-downloads |
TELEGRAM_DAEMON_TEMP | --temp | Zielpfad für temporäre (Download läuft) Dateien | Verwenden Sie --dest |
TELEGRAM_DAEMON_CHANNEL | --channel | Kanal-ID zum Herunterladen (siehe Ausgabe 45, Ausgabe 48 und Ausgabe 73) | |
TELEGRAM_DAEMON_DUPLICATES | --duplicates | Was tun mit doppelten Dateien? Ignorieren, überschreiben oder umbenennen | umbenennen |
TELEGRAM_DAEMON_WORKERS | --workers | Anzahl gleichzeitiger Downloads | Entspricht Prozessorkernen |
Sie können sie als Umgebungsvariablen definieren oder als Befehlszeilenargumente eingeben, zum Beispiel:
python telegram-download-daemon.py --api-id <your-id> --api-hash <your-hash> --channel <channel-number>
Senden Sie abschließend einen beliebigen Dateilink erneut an den Kanal, um den Download zu starten. Dieser Daemon kann viele Downloads gleichzeitig verwalten.
Sie können mit diesem Daemon auch über Ihren Telegram-Client „sprechen“:
docker pull alfem/telegram-download-daemon
Wenn wir die TelegramClient
-Methode verwenden, müssen wir mit der Console
interagieren, ihr unsere Telefonnummer geben und mit einem Sicherheitscode bestätigen.
Dazu müssen Sie bei der Verwendung von Docker den Container zum ersten Mal interaktiv ausführen.
Wenn Sie docker-compose
verwenden, wird die .session
Datei, in der die Anmeldung gespeichert ist, im Volume außerhalb des Containers gespeichert. Wenn Sie Docker-Compose verwenden, müssen Sie daher Folgendes tun:
$ 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
Sehen Sie sich das sessions
in der Datei docker-compose.yml an.