Automatizar un bot de noticias para Discord con n8n y RSS

Tiempo de lectura: 3 minutos

Hoy vamos a crear un bot n8n capaz de enviar noticias obtenidas de un RSS.

Campo pexels

Lo primero que haremos es instalar n8n si no lo tenemos.

Primero vamos a obtener una fuente RSS en este caso la de Xataka: https://www.xataka.com/feedburner.xml

Crea un nuevo workflow en n8n:

  • Entra en el panel de n8n.
  • Crea un nuevo workflow.

Añadir un nodo RSS:

  • Busca el nodo RSS Feed Trigger en el panel izquierdo y arrástralo al espacio de trabajo.
RSS Feed trigger n8n

En mi caso lo configuro cada 30 minutos, añadimos también el Feed de Xataka

Feed Xataka en n8n

Procesar los datos

Después de obtener las noticias, necesitarás procesar los datos para obtener la información relevante (título, enlace, descripción, etc.).

Ahora vamos a crear un Edit Fields (Set) para extraer y estructurar los campos que nos interesan del JSON que recibe.

Edit Fields Set n8n

Es tan sencillo, qué podemos arrastrar los elementos qué necesitemos del nodo de la izquierda al actual.

Arrastrar elementos del JSON en Edit Fields (Set)

Una vez creados ya tenemos nuestro campo listo.

Y ahora vamos a enviarlo a nuestro Webhook (en este caso de Discord).

Obtener el Webhook de Discord

Primero, necesitas configurar un webhook en Discord para poder enviar mensajes desde n8n.

  1. Abre Discord y ve a tu servidor.
  2. En la barra lateral de tu servidor, haz clic en el canal donde quieres que se publique el mensaje.
  3. Haz clic en el icono del engranaje al lado del nombre del canal para abrir Configuración del Canal.
  4. Ve a la sección Integraciones y haz clic en Webhooks.
  5. Haz clic en Crear Webhook.
  6. Copia la URL del Webhook, la necesitarás en n8n.

Configurar el nodo «HTTP Request» en n8n

Una vez que tengas la URL del webhook, podemos configurar n8n para enviar los datos a Discord.

Nodo htp Request N8n
  1. Agrega un nodo «HTTP Request» en n8n:
    • Haz clic en el botón «+» en el lienzo de trabajo.
    • Busca «HTTP Request» y selecciónalo.
  2. Configura el nodo «HTTP Request»:
    • Método: Selecciona POST.
    • URL: Pega la URL del Webhook de Discord que copiaste previamente.
    • Encabezados:
      • Añade un encabezado Content-Type con valor application/json.
    • Body Parameters:
      • Selecciona JSON como tipo de cuerpo.
      • En el cuerpo JSON, agrega la estructura para el mensaje. Por ejemplo:
{
  "content": "Aquí va tu mensaje personalizado.",
  "embeds": [
    {
      "title": "Título del mensaje",
      "description": "Descripción o contenido extra.",
      "color": 3066993
    }
  ]
}

Puedes personalizar el mensaje y la estructura como prefieras, usando los datos que has seleccionado en el nodo Set previamente. Si estás utilizando campos de variables en n8n, puedes insertar esos valores en el cuerpo del mensaje.

{
  "content": "Nuevo dato: {{$json["campo_interesante"]}}",
  "embeds": [
    {
      "title": "Notificación de n8n",
      "description": "El nuevo dato es {{$json["campo_interesante"]}}.",
      "color": 3447003
    }
  ]
}

Nota: ponemos $json para hacer referencia a la salida del nodo anterior.

Ponemos el campo qué hemos filtrado en la clave «campo_interesante»

Vamos completando para enviar la noticia, qué queramos.

Deja un comentario