Hola a todos.
En esta entrada veremos como descargar archivos directamente en Synology mediante «Telegram», con tal solo enviarlos a un bot o a un grupo, dependiendo de cómo queramos usarlo, fácil y rápido.
Sitio oficial «rodriguezst/telethon_downloader»
Como bien indica en GitHub:
- Generar claves API de Telegram:
1. Ir a https://my.telegram.org allí iniciaremos sesión con nuestro número de teléfono, nos enviará un mensaje (mediante Telegram) con un código.
2. Ir a API Development tools.
3.Nos aparecerá para crear una nueva aplicación. Completamos los detalles de título y nombre corto, (que podremos cambiar más adelante).
4.Le daremos a crear y guardaremos «api_id» y «api_hash» (no publiques en ningún lado esta información, es secreta!
- Creación del bot:
1. Abrimos una nueva conversación con @BotFather (el padre de todos los bots).
2. Utilizaremos el comando «/newbot» para crear un nuevo bot, seguidamente nos pedirá un nombre para el bot, por ejemplo «Pedrito» y luego nos pedirá el nombre de usuario, por ejemplo «Pedrito_bot».
Seguidamente nos dirá el token (una cadena de números) similar a 110201543: AAHdqTcvCH1vGWJxfSeofSAs0K5PALDsaw, también hay que mantener segura esta información, sino cualquiera puede usarlo para controlar su bot.
- Carpeta de descarga en nuestro Synology:
1. Elegimos o creamos una carpeta donde queramos que se hagan las descargas y le daremos permisos de lectura y escritura a todos:
2. Abrimos docker (sino tenemos Docker, lo descargamos y instalamos desde «Centro de paquetes») y nos vamos a «Registro» donde buscaremos:
«rodriguezst/telethon_downloader»
Descargamos la imagen y se descargará en la pestaña de «Imagen», allí podemos instalarla (con un par de clics), se nos abrirá la opción de crear el contenedor y iremos a «configuración avanzada»:
-En la primera pestaña podremos habilitar el reinicio automático.
-En la pestaña de «Volumen» agregar carpeta y añadimos la ruta.
-En la pestaña de Medio ambiente, es donde van las siguientes variables que nos indicaba en la web de GitHub que más abajo se explican.
Vemos el ejemplo, en este caso añado las necesarias:
Al aplicar cambios, se cargará en la pestaña de «Contenedor», puede llevar unos segundos y al finalizar podremos encender el contenedor mediante el botón de su derecha:
Ya podremos ir a Telegram, enviarle un archivo y automáticamente lo descargará en la carpeta que hemos seleccionado.
- ¿Y si queremos añadir el bot a un grupo y que se encargue él de hacer las descargas correspondientes?
Tendremos que habilitar al bot para que pueda tener acceso a los mensajes:
1 – Iremos a @Botfather y escribimos el comando /mybots.
2 – Pulsamos sobre el botón del bot que acabamos de crear.
3 – Seleccionarmeos «Bot settings» .
4- En Group Privacy» pulsaremos sobre «Turn off».
Con esto, nuestro bot ya funcionará si lo añadimos a cualquier grupo.
Espero que os guste.
Un saludo a tod@s.
Impresionante el post. Lo he intentado y, aunque el Telegram lo domino un poco, el Synology lo he puesto en marcha hace unos días, pues… no me aclaro. En todo caso retendré esta información para dentro de unos días cuando controle más el NAS intentarlo de nuevo. Te los has currado!!! Buen, buen trabajo.
Muchas gracias!
Ya verás como te resulta fácil.
Buenas, muchísimas gracias por el post.
Yo no he conseguido que funcione quizás por la atualización del DSM
Baásicamente tengo que meter los id (bot y hash) a mano (mediante el terminal del contenedor) y luego me da errror de acceso al tmp.
Un saludo
jopacer
Hola. De momento no he actualizado al DSM 7, lo tengo pendiente, espero hacerlo pronto, si hay modificaciones también lo pondré en el post. Gracias!
Hola, muchas gracias por el tutorial!
He seguido los pasos en DSM7 y al arrancar el contenedor me da el siguiente fallo de permisos:
PermissionError: [Errno 13] Permission denied: ‘/volumen1/Descargas/tmp’
La carpeta de descargas tiene todos los permisos activados para todos los usuarios. Se os ocurre por donde pueden ir los tiros? Puede ser cosa del nuevo DSM7?
Gracias de antemano y un saludo!
Hola.
Hiciste algo más? yo no lo he probado con DSM7, pero por el mensaje, pare por los permisos. Has revisado todo en ajustes con el tema de permisos?.
Un saludo.
Muchas gracias por el tutorial. Me ha funcionado a la perfección.
Únicamente me ha pasado para archivos muy grandes que me lance el siguiente error:
ERROR: Exception TimeoutError raised downloading this file: A timeout occurred while fetching data from the worker (caused by GetFileRequest)
Si tenéis idea de por dónde puede ir el fallo lo agradezco
Hola Javier, muchas gracias.
En algunos archivos si que es verdad que pasa, me pasa igual, de vez en cuando hay archivos que dan error, yo suelo reenviarlo otra vez y si da error, lo único que queda es descargarlo manualmente porque por lo que he probado desde el pc con el mismo archivo no me da el error.
Un saludo.
Una pena que no me funcione Docker en mi Synology DS218j, no tengo forma de hacerlo funcionar y mira que estaba interesado en este método para poder descargar en el NAS directamente desde Telegram!
Porque no hay forma de poner Docker, ¿verdad?
Creo que en el DS218j no se puede…
La mejor inversión que he hecho en mi vida fue cambiar mi ds211j por un ds220+ , solamente por tener docker merece la pena
Puede que un poco tarde, pero si que se puede configurar docker en un synology DS218j, aqui dejo la guia:
https://wiki.servarr.com/docker-arm-synology
Muchas gracias por el aporte!
Mario, mil gracias por esta guía, de momento me está funcionando de lujo
Me alegra haberte ayudado!
Gracias por tu comentario.
Gracias por el tutorial de antemano, tiene pinta de útil. Al probarlo a descargar un vídeo multimedia que no lo han enviado como archivo, duración 1h y peso en torno a 1GB, no descarga ni notifica nada, he probado a ponerle un archivo de un vídeo que he grabado con la cámara, enviado en modo archivo y lo descarga perfectamente, he probado con una foto enviada como foto y no como archivo y no la descarga, por lo que entiendo que sólo descarga lo que esté subido en los servidores de Telegram como archivo. ¿es posible cambiar ésto?
Si bien el alias del bot alguien lo localiza con la lupa de Telegram y envía archivos, se descargarán en el Nas, he hecho pruebas con un familiar y así es ¿hay forma de limitar que quien pueda usarlo sea únicamente el owner?
Hola Gosnel.
El bot descargará lo que se le envíe, pero tampoco hay mucha gente que envíe archivos a cualquier bot, podría pasar, pero no es lo habitual.
Pero tranquilo, existe la manera sin modificar código, puedes ver el ejemplo en otro post:
https://tomonota.net/descargar-archivos-desde-telegram-en-synology-con-bot-torrent/
*En este necesitas la id para que descargue los archivos, sino está respirado no hace caso de los mensajes.
Un saludo.
Hola.
¡Gracias por el tutorial!
Creo haberlo hecho todo correctamente (aunque los permisos de Everyone no los veo, he dado permisos a todos los usuarios en la carpeta compartida y a Invitado).
Tengo el error que os sale a todos con el DSM7 (donde no encuentro grupo Everyone, pero sí doy permisos a todo):
Traceback (most recent call last):
File «/app/tg_downloader.py», line 48, in
os.makedirs(tmp_path, exist_ok=True)
File «/usr/lib/python3.6/os.py», line 220, in makedirs
mkdir(name, mode)
PermissionError: [Errno 13] Permission denied: ‘/volume1/Telegram/tmp’
He probado a crear el tmp con 777+, pero nada…
Vale, ¡¡lo he conseguido para DSM7!!
En la configuración de la carpeta compartida, en Permisos (no en Permisos Avanzados), hay que pinchar en el cuadro check de cualquier usuario que lo tenga habilitado (si se han asignado ya permisos, estará deshabilitado).
Cuando se abra la nueva ventana, estará seleccionado en la lista de arriba a la derecha por defecto el usuario sobre el que se ha pulsado, pero si abrimos la lista, ahí ya sí que sale el grupo Everyone y se le puede ya asignar permisos.
Una vez hecho esto, aparecerá en la lista.
Genial!
Muchas gracias por el aporte.
Hola, es un muy buen tutorial, aún no lo pongo en marcha. Tengo una duda.. estoy en un canal de telegram donde no permite el reenvío de los archivos.. eso significa que el bot no funcionará .. correcto?
Hola. Muchas gracias!
Empieza primero con el bot directamente y luego cuando funcione ya con el canal, ya que grupos y canales cambia respecto con el bot directo a la hora de enviar archivos.
Salu2!
Muy buenas, lo acabo de probar y menuda maravilla! Muchas gracias!! Estaba buscando como descargar en el Download Station archivos de Telegram, pero esto es mucho mejor!! Solo una pregunta, he probado a intentar reenviar al bot más de un fichero a la vez, pero parece que los agrupa, y al agruparlos el bot no les hace ni caso. Hay alguna manera de poder reenviar varios ficheros de una vez, sin tener que ir de uno en uno?
De nuevo muchas gracias!!
Hola!
Si no recuerdo mal funciona de 5 en 5z puedes enviarle varios a la vez pero sí que es verdad q en alguna ocasión que probé si le pasabas más de 20-30 se marea un poco. De todas maneras si hace mucho q no reinicia tb pruébalo.
Un saludo.