Recibir notificaciones de tu velocidad de internet sin docker

Recibir notificaciones de tu velocidad de internet sin docker

En primer lugar tengo que comentaros el porqué utilizo yo este bot que tengo.

Yo lo tengo configurado para que me envíe la velocidad de internet que recibo en mi casa cada 8 horas. Esto hace que por un lado, sepa que tengo internet y por otro hace que sepa que no está pasando nada raro con mi proveedor de internet si no recibo la velocidad contratada.

Lo primero que tenemos que hacer es crearnos un bot de Telegram.

Si no lo hemos hecho nunca, tenemos que seguir los siguientes pasos:

  • Haga clic en Herramientas de desarrollo de API.
  • Aparecerá la ventana Crear nueva aplicación. Rellene los datos de su aplicación. No es necesario introducir ninguna URL, y sólo los dos primeros campos (App title y Short name) pueden modificarse posteriormente.
  • Haga clic en Crear aplicación al final. Recuerda que el hash de tu API es secreto y Telegram no te dejará revocarlo. ¡No lo publiques en ningún sitio!

Una vez hecho estos pasos, vamos a la creación del bot

Iniciamos una conversación con @botfather y vemos que nos muestra unos comandos en la bienvenida.

El que nos interesa es el de /newbot, así que lo introducimos y pulsamos INTRO

Luego nos pregunta por el nombre, podemos darle cualquiera y yo en este caso le voy a dar el nombre de tutorial.

Luego nos pedirá un usuario para el bot, aquí tenéis quer se creativos porque tiene que acabar en _bot

Habrá muchos usados ya, así que en mi caso voy a usar Tuto_jsvargas_down_bot

Pulsamos en ENTER y el  código HTTP API es el que nos interesa.

Lo copiamos junto al resto de la información anterior.

Pulsaremos sobre el enlace de nuestro bot e iniciaremos una conversación con él

Tan solo nos falta un dato necesario que es nuestro UserID de Telegram, para ello nos vamos a una nuevo chat, buscamos @userinfobot e iniciamos una conversación con él.

Nos dará la información que necesitamos tras el campo ID. Lo copiamos

Por si alguno lo necesita como apoyo, os dejo esta guía.

¿Ya lo tienes creado?

El siguiente paso será descargar este archivo

Como puede ser que no uses docker porque tu NAS no lo permita o porque aún o te ha llamado la atención, en este ejemplo lo vamos a subir a una carpeta que vamos a crear.

Yo en mi caso voy a crear una carpeta compartida que llamaré tutoriales.

Para ello, entro en PANEL DE CONTROL y pulso sobre CARPETA COMPARTIDA

Pulsamos en el botón de CREAR y después en CREAR UNA CARPETA COMPARTIDA

Se nos abre una ventana donde vamos a ponerle un nombre a la carpeta. Como he dicho anteriormente la voy a llamar tutoriales

Pulsamos en siguiente y en la siguiente ventana dejamos seleccionado el check de OMITIR y pulsamos en SIGUIENTE

En la siguiente ventana no marcamos ninguna opción y pulsamos en SIGUIENTE

Llegamos a la ventana de confirmación donde sólo tendremos que pulsar en SIGUIENTE

Se nos abre la última ventana que es la de la aplicación de permisos y en ella, en nuestro usuario, marcamos el check de LECTURA/ESCRITURA. Pulsamo sobre el botón APLICAR.

Lo descomprimimos y lo subimos desde DSM, en FILE Station a la carpeta que hemos creado.

Para hacer esto una vez estés dentro de DSM, con FILE STATION abierto, en el árbol de carpetas iremos a la carpeta tutoriales y desde nuestro explorador de archivos, arrastramos la carpeta descomprimida a esta ventana.

Debe quedarnos así

Abrimos esa carpeta y vemos que hay tres archivos:

  • speedtest
  • speedtest.md
  • speedtest.5

El que nos interesa es speedtest. Para obtener su ruta, hacemos click con el botón derecho en el archivo y seleccionamos PROPIEDADES

Se nos abre otra ventana y la ruta del archivo la copiaremos del apartado UBICACION

Creación del script necesario

Vamos a panel de Control -> Programador de tareas

Creamos una nueva tarea -> crear tarea programada -> Script definido por el usuario

Damos un nombre a la tarea, por ejemplo speedtest y en usuario elegimos root

Creamos la programación de ejecución

Si lo configuráis de este modo vais a recibir una notificación a las 00:00 horas, otra a las 08:00 horas y otra a las 16:00 horas.

Y en la parte de CONFIGURACION DE LA TAREA, si has descomprimido el archivo en la misma ruta que yo, pega el siguiente script en la ventana de SCRIPT DEFINIDO POR EL USUARIO

!/bin/bash

botToken="XXXXXXXXXXX:XXXXXXXXXXXXXXXXXXXXXXXX"  # Este token está explicado en la creacion del bot
chatID="XXXXXXXXX"          # Este chatID está explicado en la creación del bot
speed=$(/volume1/tutoriales/speedtest/speedtest --accept-license --accept-gdpr | grep -oP "http.*")
curl -s -X POST "https://api.telegram.org/bot$botToken/sendPhoto?chat_id=$chatID" -F photo="$speed.png"

Si lo has colocado en otra carpeta tendrás que sustituir la ruta /volume1/tutoriales/speedtest/speedtest por la ruta donde hayas guardado el archivo.

Pulsamos en OK y damos por finalizado la tarea.

Si queremos comprobar que funciona, desde el PROGRAMADOR DE TAREAS, marcamos la tarea y pulsamos en EJECUTAR

Si todo ha ido bien debemos de recibir una notificación similar a esta en nuestro bot.

Espero te haya gustado los cambios realizados que creo que facilitan la tarea y evitan los problemas que habían con el script.

Y con esto...........

Mi nombre es David Rodríguez, apasionado por un millón de cosas que lleven placas y chips dentro. Puedes encontrarme como @[email protected] en Mastodon y en grupo de Telegram de Synology NAS https://t.me/synologyNAS
Tengo un canal de youtube que complementa al blog https://www.youtube.com/@_Bilito y que me harías un gran favor si te suscribes.

Read more