Aprende Inteligencia Artificial y Acelera tu Futuro

Descubre cómo la IA puede multiplicar tu productividad y cambiar tu forma de trabajar.

Acceder al Curso Ahora

Cómo crear un bot de Telegram en Linux para recibir alertas

Con este tutorial vas a configurar un bot de Telegram que te enviará mensajes automáticos sobre el estado de tu servidor, PC o Raspberry Pi.
¡Ideal para recibir alertas críticas en tu móvil sin necesidad de correo electrónico!


1. Requisitos previos

  • Tener una cuenta en Telegram (crear aquí).
  • Tener acceso a un terminal de Linux.

2. Crear un Bot de Telegram

  1. Abre este enlace para iniciar un chat con @BotFather.
  2. Envía el comando: /newbot
  3. BotFather te pedirá:
    • Nombre del bot (visible para los usuarios).
    • Nombre de usuario del bot (obligatorio que termine en bot, ejemplo: mi_alerta_bot).
  4. Importante:
    Copia y guarda el Token de API que te proporcionará (formato: 123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11).

3. Obtener tu ID de Usuario

  1. Abre un chat con el bot @userinfobot.
  2. El bot te enviará tu ID numérico.
    Guárdalo también, ya que lo usaremos para enviar los mensajes.

4. Preparar el Script de Notificación

a) Crear un archivo de configuración seguro

Primero, crea un archivo oculto donde guardar el Token y el ID de forma más segura:

mkdir -p $HOME/.telegram_bot
nano $HOME/.telegram_bot/config

Contenido del archivo config:

TOKEN="TU_TOKEN_DEL_BOT"
ID="TU_ID_DE_USUARIO"

Guarda y cierra (CTRL+O, ENTER, CTRL+X).

Asegura el archivo para que sólo tú puedas leerlo:

chmod 600 $HOME/.telegram_bot/config

b) Crear el script que enviará mensajes

Ahora crea el script telegram_bot.sh:

nano $HOME/telegram_bot.sh

Contenido del script:

#!/bin/bash

# Cargar configuración
source $HOME/.telegram_bot/config

# Mensaje a enviar
MENSAJE="🔔 ¡Hola! La fecha y hora actual es: $(date)"

# URL de la API de Telegram
URL="https://api.telegram.org/bot$TOKEN/sendMessage"

# Enviar mensaje
curl -s -X POST $URL -d chat_id="$ID" -d text="$MENSAJE" > /dev/null 2>&1  && echo "✅ Mensaje enviado a Telegram."

Guarda y cierra el archivo.

Dar permisos de ejecución:

chmod +x $HOME/telegram_bot.sh

5. Probar el envío de un mensaje

Ejecuta el script:

./telegram_bot.sh

Si todo está correcto, recibirás el mensaje en Telegram en el chat de tu bot ✅.


6. Automatizar alertas al iniciar el servidor

Si quieres recibir un mensaje automáticamente cuando tu servidor o Raspberry arranque:

  1. Crea el siguiente script llamado inicio.sh:
nano $HOME/scripts/inicio.sh

Contenido:

#!/bin/bash

source $HOME/.telegram_bot/config

MENSAJE="🚀 El servidor se ha iniciado correctamente."

URL="https://api.telegram.org/bot$TOKEN/sendMessage"

curl -s -X POST $URL -d chat_id="$ID" -d text="$MENSAJE" > /dev/null 2>&1  && echo "✅ Mensaje enviado a Telegram."

Guarda, cierra y da permisos:

chmod +x $HOME/scripts/inicio.sh
  1. Edita el Crontab:
crontab -e

Añade esta línea al final:

@reboot ( sleep 10 ; bash $HOME/scripts/inicio.sh )

Así, 10 segundos después de iniciar el sistema, recibirás una notificación automática.


7. Recursos útiles


Consejos de Seguridad

  • Nunca publiques tu Token en repositorios públicos.
  • Protege el archivo de configuración con permisos 600.
  • Cambia tu Token si sospechas que alguien más lo ha obtenido.

¡Perfecto! Vamos a hacer la ampliación pero sin el ejemplo de caída de conexión que comentamos antes.
Aquí tienes el contenido limpio y organizado para que lo añadas directamente en tu web:


¿Cómo seguir ampliando tu Bot de Telegram?

Una vez configurado el bot, las posibilidades de automatización y monitorización que puedes construir son enormes.
Aquí tienes más ideas para seguir ampliándolo:


1. Monitoreo de Recursos del Sistema

Puedes crear scripts para enviar alertas automáticas si detectas:

  • Uso de CPU elevado (por ejemplo, superior al 90% durante más de 5 minutos).
  • Uso de RAM alto (por ejemplo, cuando queda menos de un 10% de memoria libre).
  • Temperatura elevada en servidores físicos o Raspberry Pi.
  • Estado de servicios críticos (comprobar que Apache, MariaDB, SSH, etc. estén en funcionamiento).

Cada uno de estos chequeos se puede lanzar desde cron cada pocos minutos o como parte de un sistema de alertas periódico.


2. Alertas de Cambios en Archivos o Carpetas

Utiliza inotifywait para detectar cambios en archivos importantes y lanzar una notificación automática.

Por ejemplo:

  • Si se modifica /etc/passwd o /etc/ssh/sshd_config.
  • Si alguien accede a un directorio sensible.

Así podrías recibir alertas en tiempo real de cambios no autorizados.


3. Notificación de Backups

Después de realizar una copia de seguridad automática (por ejemplo de bases de datos, carpetas importantes, etc.), puedes hacer que el script de backup envíe:

  • Un mensaje indicando que la copia ha terminado correctamente.
  • Un mensaje de error si la copia ha fallado o se ha quedado a medias.
  • El tamaño final del backup como verificación.

Así tendrás un registro de copias directamente en Telegram.


4. Recepción de Logs de Eventos

En lugar de revisar manualmente los logs del sistema (por ejemplo /var/log/syslog o /var/log/auth.log), puedes:

  • Filtrar solo los eventos importantes.
  • Enviarlos como resumen diario o en tiempo real.
  • Detectar intentos de acceso fallido o problemas de hardware.

Esto puede mejorar muchísimo tu seguridad y reacción ante incidencias.


5. Recordatorios y Automatizaciones Personales

Además de monitorizar tu servidor, tu bot de Telegram también puede ayudarte a nivel personal:

  • Enviar recordatorios programados (por ejemplo, «¡Hora de hacer copia de seguridad!» o «Reiniciar el servidor»).
  • Programar mensajes de cumpleaños, citas o tareas programadas.
  • Combinarlo con otras herramientas de automatización como cron, rsync, o scripts en Python.

Conclusión

Con unas pocas líneas de Bash y Telegram puedes construir un sistema de alertas y automatización:

✅ Rápido.
✅ Seguro.
✅ Económico.
✅ Adaptado totalmente a tus necesidades.


Preguntas frecuentes (FAQ) sobre Bots de Telegram en Linux

❓ ¿Es gratis crear y usar un bot de Telegram?

Sí. Crear y usar bots en Telegram es completamente gratuito.
Telegram proporciona su API de bots sin coste para desarrolladores y usuarios.


❓ ¿Puedo usar el mismo bot para varios servidores?

Sí. Puedes utilizar el mismo bot y el mismo Token en varios servidores diferentes.
Solo tienes que configurar el ID de destino correctamente para que los mensajes lleguen al chat deseado.


❓ ¿Qué pasa si pierdo el Token de mi bot?

El Token es como la «contraseña» del bot.

  • Si lo pierdes o crees que ha sido comprometido, puedes regenerarlo hablando con @BotFather y usando el comando /revoke y /token para obtener uno nuevo.

❓ ¿Puedo enviar mensajes a un grupo de Telegram en vez de a un chat privado?

Sí. Para ello:

  1. Crea un grupo de Telegram.
  2. Añade tu bot como miembro del grupo.
  3. Obtén el ID del grupo (puedes usar herramientas como @RawDataBot).
  4. Envía mensajes usando el ID del grupo en lugar del ID de usuario.

❓ ¿Qué seguridad debo tener en cuenta al usar un bot?

  • No compartas tu Token públicamente.
  • Protege los archivos donde guardes el Token (chmod 600 recomendado).
  • Usa variables de entorno o ficheros de configuración fuera del alcance de usuarios no autorizados.

❓ ¿Qué alternativas existen para enviar notificaciones aparte de Telegram?

Existen otras opciones como:

  • Correo electrónico (requiere configurar un servidor SMTP).
  • Slack (con su propia API de bots).
  • WhatsApp (más complejo y con restricciones).
  • Notificaciones Push usando servicios como Pushover o Gotify.

Pero Telegram sigue siendo una de las opciones más sencillas, rápidas y gratuitas para la mayoría de usuarios.


❓ ¿Puedo recibir archivos, imágenes o audios usando mi bot?

Sí.
Telegram permite enviar y recibir todo tipo de archivos multimedia a través de su API.
Para más información puedes consultar su documentación oficial: Telegram Bots API.


🎯 Resumen

Un simple bot de Telegram puede ayudarte a monitorizar tu servidor, automatizar tareas y mantener el control total de tu infraestructura de manera sencilla y gratuita.


Tutoriales Más Vistos

Posts Más Vistos