Recibir notificación por telegram cada vez que un usuario se conecta a la red wifi de Invitados (Extrapolable a la wifi normal)
pablozg del grupo “Mikrotik España (Spain)” de telegram nos explica cómo recibir notificación por telegram cada vez que un usuario se conecta a la red wifi de Invitados (Extrapolable a la wifi normal).
Pasos a seguir
Consideraciones previas
Para poder aplicar esta guía necesitas tener un bot en telegram: token y chat ID. Si no lo tienes aún, puedes seguir las pautas de los dos primeros apartados de la siguiente guía: «Notificar con mensajes de telegram desde domoticz«.
Configuración de nuestra mikrotik
Configuramos DHCP Server
Abrimos winbox y entramos en nuestra mikrotik. Nos vamos a:
IP -> DHCP Server
En la pestaña DHCP elegimos el dhcp de la red que nos interese que nos envíe notificación cuando un dispositivo se conecta a ella. Hacemos doble click sobre ella y vamos a la pestaña script:
En el cuadro en blanco introducimos el siguiente texto modificando el campo ROJO. El campo azul no lo modificamos salvo que queramos nombrar al script posterior de otra manera (luego lo veréis):
:if ($leaseBound = "1") do={
global telegramMessage "$"lease-hostname" ($leaseActMAC) got address $leaseActIP from dhcp_br0"
:execute "Envia_mensaje_telegram";
}
Donde:
- dhcp_br0 es exactamente el mismo nombre de nuestro dhcp (visualizado en la lista de la pestaña DHCP en DHCP Server).
- Envia_mensaje_telegram será el nombre del script que vamos a generar a continuación.
Clicamos sobre APPLY y OK
Creamos el script
Vamos a la siguiente ruta y creamos un nuevo script:
System > Scripts
Si no sabes cómo crearlo echa un vistazo a: «Qué es un script en mikrotik«.
Introducimos el siguiente script:
:global telegramMessage
:local botid
:local chatid
set botid "idDelBot"
set chatid "idDelChat"
/tool fetch url="https://api.telegram.org/bot$botid/sendMessage\?chat_id=$chatid&text=$telegramMessage" keep-result=no
:delay 2
Donde:
- IdDelBot es tu Bot ID. Normalmente el Bot ID empieza por Bot:xxxxxxxxx:xxxxxx. En este caso, obiamos el Bot: e introducimos simplemente xxxxxxxxx:xxxxxx.
- IdDelChat es tu Chat ID.
Clicamos sobre APPLY y OK
Comprobamos su funcionamiento
Para comprobar su funcionamiento podemos utilizar nuestro teléfono móvil. Lo desconectamos de la wifi durante unos segundos y volvemos a conectarlo. Telegram debería notificarnos con un mensaje.
Notificación que recibimos
En caso de querer modificar el texto de la notificación que recibimos, cambiaremos el texto introducido en DHCP Server > Script por el que más nos interese, por ejemplo:
Texto del tutorial:
:if ($leaseBound = "1") do={
global telegramMessage "$"lease-hostname" ($leaseActMAC) got address $leaseActIP from dhcp_br0"
:execute "Envia_mensaje_telegram";
}
Texto modificado:
:if ($leaseBound = "1") do={
global telegramMessage "$"lease-hostname" ($leaseActMAC) entra en la red $leaseActIP por dhcp_br0"
:execute "Envia_mensaje_telegram";
}
Escoger una sola MAC de la que recibir notificaciones de conexión
Si queremos recibir notificación solo de un dispositivo deberíamos establecer el siguiente texto en el script de DHCP Server:
:if ($leaseBound = "1" and $leaseActMAC = "XX:XX:XX:XX:XX:XX") do={
global telegramMessage "$"lease-hostname" ($leaseActMAC) got address $leaseActIP from dhcp_br0"
:execute "Envia_mensaje_telegram";
}
Donde XX:XX:XX:XX:XX:XX es el MAC del dispositivo a monitorizar.
Así recibiremos notificación sólo cuando se conecte ese dispositivo a la red.
Para cualquier duda o consulta tienes disponible el grupo de telegram «Domoticz a lo Spain» para entrar, ponerte cómodo y participar cuanto quieras.
Cualquier duda, sugerencia o comentario será bien recibida en la web!