Un Telegram Daemon (no un bot) para la automatización de la descarga de archivos para canales en los que tienes privilegios de administrador.
Si tienes una computadora o NAS conectada a Internet y deseas automatizar la descarga de archivos desde los canales de Telegram, este demonio es para ti.
Los bots de Telegram están limitados a descargas de archivos de 20 Mb. Así que escribí este agente o demonio para permitir descargas más grandes (limitadas a 2 GB por las API de Telegram).
Necesitas Python3 (3.6 funciona bien, 3.5 fallará aleatoriamente).
Instale las dependencias ejecutando este comando:
pip install -r requirements.txt
(Si no desea instalar cryptg
y sus dependencias, solo necesita instalar telethon
)
Advertencia: si recibe un File size too large message
, verifique la versión de la biblioteca Telethon que está utilizando. Las versiones antiguas tienen un límite de tamaño de archivo de 1,5 Gb.
Obtenga su propia identificación de API: https://core.telegram.org/api/obtaining_api_id
Necesitas configurar estos valores:
Variable de entorno | Argumento de línea de comando | Descripción | Valor predeterminado |
---|---|---|---|
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 | Ruta de destino para archivos descargados | /telegram-downloads |
TELEGRAM_DAEMON_TEMP | --temp | Ruta de destino para archivos temporales (descarga en curso) | utilizar --dest |
TELEGRAM_DAEMON_CHANNEL | --channel | ID del canal para descargar desde él (consulte el Número 45, el Número 48 y el Número 73) | |
TELEGRAM_DAEMON_DUPLICATES | --duplicates | Qué hacer con archivos duplicados: ignorarlos, sobrescribirlos o cambiarles el nombre | rebautizar |
TELEGRAM_DAEMON_WORKERS | --workers | Número de descargas simultáneas | Equivale a los núcleos del procesador |
Puede definirlas como variables de entorno o ponerlas como argumentos de línea de comando, por ejemplo:
python telegram-download-daemon.py --api-id <your-id> --api-hash <your-hash> --channel <channel-number>
Finalmente, reenvíe el enlace de cualquier archivo al canal para iniciar la descarga. Este demonio puede gestionar muchas descargas simultáneamente.
También puedes 'hablar' con este demonio usando tu cliente de Telegram:
docker pull alfem/telegram-download-daemon
Cuando utilizamos el método TelegramClient
, requiere que interactuemos con la Console
para darle nuestro número de teléfono y confirmar con un código de seguridad.
Para hacer esto, cuando use Docker , debe ejecutar el contenedor de forma interactiva por primera vez.
Cuando usa docker-compose
, el archivo .session
, donde se almacena el inicio de sesión, se mantiene en un volumen fuera del contenedor. Por lo tanto, cuando utilice Docker-Compose, deberá:
$ 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
Consulte el volumen sessions
en el archivo docker-compose.yml.