Un bot de Discord con n8n e IA puede responder au­to­má­ti­ca­me­n­te a mensajes, procesar co­n­te­ni­dos y en­ca­r­gar­se de distintas tareas en segundo plano. Para ello, Discord, n8n y un modelo de IA se conectan entre sí, de modo que los mensajes entrantes se analizan y se activan re­s­pue­s­tas o acciones adecuadas. Estos bots son útiles, por ejemplo, para au­to­ma­ti­zar la co­mu­ni­ca­ción, apoyar la mo­de­ra­ción o integrar servicios externos en un servidor de Discord.

Hosting n8n
VPS+ con n8n: máxima pro­du­c­ti­vi­dad au­to­ma­ti­za­da
  • Au­to­ma­ti­za procesos técnicos
  • Tareas ili­mi­ta­das y control de costes en tu servidor
  • Más de 500 in­te­gra­cio­nes de código abierto

¿Qué ventajas ofrece un bot de Discord con n8n?

Un bot de Discord creado con n8n te permite au­to­ma­ti­zar muchos procesos sin de­sa­rro­llar software desde cero. En lugar de programar un bot completo en Python o Ja­va­S­cri­pt, en n8n co­n­s­tru­yes vi­sua­l­me­n­te un flujo de trabajo a partir de distintos bloques. Esto resulta es­pe­cia­l­me­n­te útil si quieres empezar a trabajar con au­to­ma­ti­za­cio­nes.

Estas son algunas de las ventajas:

  • Más adelante podrás im­ple­me­n­tar cambios con mayor facilidad, ya que puedes ajustar cada paso di­re­c­ta­me­n­te en la interfaz.
  • También puedes ampliar tu bot de Discord con n8n con funciones de IA, por ejemplo, para re­s­pue­s­tas au­to­má­ti­cas, resúmenes o ayuda en tareas de mo­de­ra­ción.
  • Además, n8n se puede conectar con numerosos servicios adi­cio­na­les, de modo que tu bot no solo reaccione a los mensajes de Discord, sino que también procese datos de otras he­rra­mie­n­tas. Se puede conectar, por ejemplo, con Google Sheets, bases de datos, CRM o sistemas de helpdesk. También puedes integrar he­rra­mie­n­tas como Jira en n8n para crear tickets au­to­má­ti­ca­me­n­te o publicar mensajes de estado en Discord.
  • Buena tra­za­bi­li­dad: ves en el flujo de trabajo exac­ta­me­n­te qué ocurre y cuándo. Esto facilita la detección de errores y la posterior am­plia­ción.
  • Para equipos y empresas, también resulta in­te­re­sa­n­te poder es­ta­n­da­ri­zar tareas re­cu­rre­n­tes.
Nota

Además de Discord, n8n permite integrar otras pla­ta­fo­r­mas de co­mu­ni­ca­ción. Con n8n y Telegram o un bot de Telegram con n8n, puedes crear au­to­ma­ti­za­cio­nes similares y co­m­bi­nar­las entre varias pla­ta­fo­r­mas.

Re­qui­si­tos previos

Antes de crear un bot de Discord con n8n, conviene preparar algunos elementos básicos para fa­ci­li­tar­te los primeros pasos y para que los distintos co­m­po­ne­n­tes funcionen co­rre­c­ta­me­n­te entre sí. Muchos de los accesos ne­ce­sa­rios se pueden co­n­fi­gu­rar en pocos minutos, pero merece la pena tenerlo todo listo de antemano. Para la im­ple­me­n­ta­ción necesitas:

  • una instancia de n8n en ejecución, accesible pú­bli­ca­me­n­te y con HTTPS,
  • una cuenta de Discord,
  • un servidor de Discord en el que tengas permisos de ad­mi­ni­s­tra­dor,
  • acceso al Discord Developer Portal,
  • un token de bot para tu bot de Discord,
  • un bot de Discord y un webhook co­n­fi­gu­ra­do en el canal co­rre­s­po­n­die­n­te,
  • acceso de API a un servicio de IA, por ejemplo OpenAI,
  • algo de tiempo para las primeras pruebas y ajustes.
Consejo

Si aún no has instalado n8n, puedes instalar n8n con Docker. Esta variante es es­pe­cia­l­me­n­te adecuada para empezar, ya que permite arrancar n8n de forma rápida y aislada. Para entornos en pro­du­c­ción o apli­ca­cio­nes más grandes, también puedes optar por una in­s­ta­la­ción de n8n con Ku­be­r­ne­tes, con la que se pueden ejecutar flujos de trabajo de forma escalable y con alta di­s­po­ni­bi­li­dad.

Es­pe­cia­l­me­n­te si estás empezando, se re­co­mie­n­da crear primero un servidor propio en Discord para hacer pruebas. Así puedes probar tu flujo de trabajo de n8n con calma y corregir errores sin afectar a un servidor existente o en pro­du­c­ción.

Crear un bot de Discord con n8n paso a paso

Paso 1: preparar un servidor de Discord para hacer pruebas

Si aún no tienes un servidor de pruebas propio, crea uno primero. Abre Discord, haz clic en el símbolo “+” de la barra lateral izquierda y crea un servidor nuevo. Asígnale un nombre. Más adelante, este servidor te servirá para probar el bot de forma segura.

Un servidor de pruebas resulta útil porque te permite probar mensajes, permisos y re­s­pue­s­tas en un entorno co­n­tro­la­do. Es­pe­cia­l­me­n­te al empezar con au­to­ma­ti­za­cio­nes, es normal que aparezcan pequeños errores. En un entorno de pruebas, puedes de­te­c­tar­los y co­rre­gi­r­los con mucha más tra­n­qui­li­dad. Asegúrate de tener permisos de ad­mi­ni­s­tra­dor en el servidor.

Paso 2: crear una apli­ca­ción en el Discord Developer Portal

Ahora abre el Discord Developer Portal e inicia sesión con tu cuenta de Discord. Haz clic en el botón para crear una nueva apli­ca­ción y asígnale un nombre. Esta apli­ca­ción será la base de tu futuro bot.

A co­n­ti­nua­ción, entra en la sección “Bot” y crea allí el bot de Discord pro­pia­me­n­te dicho. Discord generará entonces un perfil de bot que más adelante podrá co­mu­ni­car­se con tu flujo de trabajo. Es­pe­cia­l­me­n­te im­po­r­ta­n­te es el llamado bot token. Este token funciona de forma similar a una co­n­tra­se­ña para el bot y más adelante se al­ma­ce­na­rá en n8n. Trátalo de forma co­n­fi­de­n­cial. Cualquier persona con acceso al token podría utilizar el bot de forma indebida o ejecutar acciones en tu nombre.

Imagen: Crear bot en el Discord Developer Portal
En el Discord Developer Portal puedes crear tu bot.

Paso 3: definir los permisos ne­ce­sa­rios para el bot

Para que tu bot funcione en el servidor, necesita los permisos adecuados. En el Developer Portal puedes definir qué permisos debe recibir. Para un bot de IA sencillo, al principio suelen bastar estos permisos:

  • Leer mensajes
  • Enviar mensajes
  • Leer el historial de mensajes
  • Insertar enlaces
  • Enviar archivos adjuntos

Según el caso de uso, más adelante pueden ser ne­ce­sa­rios otros permisos, por ejemplo, para mo­de­ra­ción, gestión de roles o in­ter­ac­ción con canales. Sin embargo, si estás empezando, es re­co­me­n­da­ble activar solo los permisos que realmente necesitas. Así el proceso resulta más claro y seguro.

Imagen: Permisos del bot en el Discord Developer Portal
En la sección “Bot Pe­r­mi­s­sio­ns” puedes asignar los permisos para tu bot.

Paso 4: invitar el bot al servidor de Discord

En el siguiente paso, crearás un enlace de in­vi­ta­ción para añadir el bot a tu servidor de Discord. Para ello, ve a la sección “OAuth2” del Discord Developer Portal y abre el “OAuth2 URL Generator”.

Activa allí, en Scopes, al menos la opción “bot” y, si quieres utilizar comandos slash, también “ap­pli­ca­tio­ns.commands”. Después, elige los permisos que el bot deberá tener más adelante, por ejemplo, leer y enviar mensajes. A partir de esta selección, Discord genera au­to­má­ti­ca­me­n­te una URL. Abre este enlace, se­le­c­cio­na tu servidor de prueba y confirma la in­vi­ta­ción.

Imagen: Generador de URL en el Discord Developer Portal
Con el generador de URL añades tu bot al servidor.

El bot ya aparecerá en tu servidor. Es normal que al principio todavía no responda a los mensajes, porque la fu­n­cio­na­li­dad y la lógica se co­n­fi­gu­ran más adelante en n8n.

Paso 5: crear un webhook de Discord

Para muchos flujos de trabajo, un webhook es la forma más sencilla de enviar mensajes desde n8n a Discord. Sin embargo, los webhooks solo funcionan como canal de salida. Para bots in­ter­ac­ti­vos que reac­cio­nan a entradas de los usuarios, por ejemplo, comandos slash, un webhook por sí solo no basta. Para ello necesitas además In­ter­ac­tio­ns, que se co­n­fi­gu­ran en el paso 7.

Abre en Discord la co­n­fi­gu­ra­ción del canal de texto que quieras utilizar y ve a “In­te­gra­cio­nes”. Allí puedes crear un nuevo webhook. Asigna un nombre, elige el canal y copia la URL del webhook. Más adelante, in­tro­du­ci­rás esta URL en n8n. De este modo, n8n puede enviar au­to­má­ti­ca­me­n­te mensajes a Discord sin que tengas que programar tú mismo la lógica del bot.

Imagen: Webhook POST en n8n
Introduce la URL del webhook en n8n.
Nota

Un webhook es es­pe­cia­l­me­n­te adecuado para las primeras au­to­ma­ti­za­cio­nes. Si más adelante necesitas in­ter­ac­cio­nes más complejas, como reac­cio­nar de forma es­pe­cí­fi­ca a mensajes entrantes de Discord, puedes trabajar también con lógica de bot, comandos slash o di­s­pa­ra­do­res externos.

Paso 6: abrir n8n y crear un nuevo flujo de trabajo

Abre tu instancia de n8n y crea un nuevo flujo de trabajo. Asígnale un nombre de­s­cri­p­ti­vo. A di­fe­re­n­cia de una au­to­ma­ti­za­ción sencilla, un bot de Discord real no solo envía mensajes, sino que también debe poder recibir so­li­ci­tu­des entrantes de Discord y responder a ellas.

Una es­tru­c­tu­ra típica consta de tres partes:

  • Entrada (Discord → n8n)
  • Pro­ce­sa­mie­n­to (IA)
  • Salida (n8n → Discord)

Paso 7: es­ta­ble­cer la conexión entre Discord y n8n con In­ter­ac­tio­ns

A di­fe­re­n­cia de los webhooks, que solo se utilizan para mensajes salientes, las In­ter­ac­tio­ns permiten enviar datos desde Discord a tu flujo de trabajo. Se trata de so­li­ci­tu­des es­tru­c­tu­ra­das que, por ejemplo, se des­en­ca­de­nan mediante comandos slash. Cada vez que un usuario ejecuta uno de estos comandos en Discord, se envía una solicitud a una URL que tú defines. Esa es exac­ta­me­n­te la URL que pro­po­r­cio­nas en n8n.

Primero, crea un nodo Webhook en tu flujo de trabajo. Este nodo sirve como punto de entrada para todas las so­li­ci­tu­des que llegan desde Discord. Abre la co­n­fi­gu­ra­ción del nodo Webhook y se­le­c­cio­na POST como método. A co­n­ti­nua­ción, asigna una ruta, por ejemplo discord-interaction.

En cuanto guardes esta co­n­fi­gu­ra­ción, n8n generará au­to­má­ti­ca­me­n­te una URL de webhook. En la interfaz verás dos variantes: una URL de prueba y una URL de pro­du­c­ción. La URL de prueba solo es adecuada para pruebas puntuales dentro del editor. Para el fu­n­cio­na­mie­n­to posterior de tu bot de Discord con n8n, en cambio, necesitas la URL de pro­du­c­ción, ya que también funciona cuando el flujo de trabajo está activado.

En el siguiente paso, tienes que guardar esta URL en Discord. Para ello, abre el Discord Developer Portal y ve a la apli­ca­ción que creaste antes. En el apartado “General In­fo­r­ma­tion” en­co­n­tra­rás el campo “In­ter­ac­tio­ns Endpoint URL”. Introduce aquí la URL de pro­du­c­ción de n8n y guarda los cambios.

Ve­ri­fi­ca­ción de firma y ping

Para que Discord acepte tu In­ter­ac­tio­ns Endpoint URL y la utilice de forma pe­r­ma­ne­n­te, tu endpoint debe cumplir dos re­qui­si­tos fu­n­da­me­n­ta­les:

  1. Responder a la ve­ri­fi­ca­ción de ping: al co­n­fi­gu­rar­lo, Discord envía au­to­má­ti­ca­me­n­te una solicitud de prueba con el siguiente contenido:

    {
    "type": 1
    }

Tu endpoint debe responder con una respuesta Pong. Esta respuesta indica que el endpoint es accesible. Para ello, debe devolver lo siguiente:

{
    "type": 1
}
  1. Comprobar la firma: además, Discord verifica cada solicitud entrante mediante las cabeceras de seguridad X-Signature-Ed25519 y X-Signature-Timestamp. Esta firma garantiza que la solicitud procede realmente de Discord y que no se ha ma­ni­pu­la­do durante la tra­n­s­mi­sión. Para apli­ca­cio­nes en pro­du­c­ción, esta co­m­pro­ba­ción es obli­ga­to­ria para tu bot de Discord con n8n.
Nota

En n8n, la ve­ri­fi­ca­ción completa de la firma (Ed25519) no está di­s­po­ni­ble como función nativa estándar; para pro­du­c­ción suele requerir lógica adicional, un nodo de código o mi­d­d­le­wa­re externo.

Para pruebas sencillas, puedes seguir uti­li­za­n­do el endpoint. Sin embargo, para un fu­n­cio­na­mie­n­to estable en pro­du­c­ción, es necesario añadir una capa de mi­d­d­le­wa­re que se encargue de verificar la firma de tu bot de Discord con n8n.

Solución habitual para entornos de pro­du­c­ción

En la práctica, suele uti­li­zar­se la siguiente ar­qui­te­c­tu­ra:

Discord → mi­d­d­le­wa­re (ve­ri­fi­ca­ción de firma) → webhook de n8n

El mi­d­d­le­wa­re puede im­ple­me­n­tar­se, por ejemplo, como un pequeño servicio in­de­pe­n­die­n­te, ya sea como un servidor sencillo en Node.js, una función sin servidor, por ejemplo, con Clou­d­fla­re Workers, o como parte de un servicio backend existente. Lo im­po­r­ta­n­te no es la te­c­no­lo­gía concreta, sino la función que cumple esta capa in­te­r­me­dia para tu bot de Discord con n8n.

Este co­m­po­ne­n­te se sitúa entre Discord y tu instancia de n8n y asume varias tareas clave. Primero, comprueba cada solicitud entrante mediante la firma enviada para ga­ra­n­ti­zar que los datos proceden realmente de Discord y no se han ma­ni­pu­la­do. Además, responde co­rre­c­ta­me­n­te a la solicitud de ping que envía Discord y que es necesaria para verificar el endpoint de tu bot de Discord con n8n.

Solo después de completar estas co­m­pro­ba­cio­nes co­rre­c­ta­me­n­te, el mi­d­d­le­wa­re reenvía la solicitud al webhook de n8n. De este modo, tu flujo de trabajo de n8n solo recibe datos validados y de confianza, y puede continuar con el pro­ce­sa­mie­n­to como de costumbre.

Nota

Discord solo acepta URL HTTPS para el In­ter­ac­tio­ns Endpoint. Por tanto, asegúrate de que tu instancia de n8n sea accesible mediante HTTPS, por ejemplo, a través de tu propio dominio con ce­r­ti­fi­ca­do SSL.

Con esto, la conexión queda es­ta­ble­ci­da: cada vez que un usuario ejecute un comando slash, Discord enviará au­to­má­ti­ca­me­n­te los datos co­rre­s­po­n­die­n­tes a tu flujo de trabajo de Discord con n8n, que procesará la solicitud y activará la respuesta del bot.

Paso 8: crear un comando slash para el bot

Para que los usuarios puedan activar el bot di­re­c­ta­me­n­te en el chat, necesitas un comando slash. Estos llamados Ap­pli­ca­tion Commands se crean a través de la API de Discord para tu bot de Discord con n8n.

Antes de crear el comando slash, necesitas dos valores im­po­r­ta­n­tes del Discord Developer Portal:

  • Ap­pli­ca­tion ID: lo en­co­n­tra­rás en la sección “General In­fo­r­ma­tion” de tu apli­ca­ción.
  • Bot token: lo en­co­n­tra­rás en la sección “Bot”. Trata el token de forma co­n­fi­de­n­cial, ya que permite acceder a tu bot.

El comando se crea mediante una solicitud HTTP a la API de Discord. Puedes ejecutar esta solicitud desde un terminal o di­re­c­ta­me­n­te con una he­rra­mie­n­ta como n8n. Un ejemplo con curl tendría este aspecto:

curl -X POST https://discord.com/api/v10/applications/YOUR_APPLICATION_ID/commands \
    -H "Authorization: Bot YOUR_BOT_TOKEN" \
    -H "Content-Type: application/json" \
    -d '{
        "name": "ask",
        "description": "Hazle una pregunta al bot",
        "options": [
            {
                "name": "pregunta",
                "description": "Tu pregunta",
                "type": 3,
                "required": true
            }
        ]
    }'
bash

Sustituye YOUR_APPLICATION_ID por tu Ap­pli­ca­tion ID real y YOUR_BOT_TOKEN por tu bot token.

Con esta solicitud se crea un nuevo comando slash llamado /ask. Además, se define una opción de entrada con el nombre pregunta, a través de la cual los usuarios pueden enviar un mensaje al bot.

Una vez que la solicitud se haya ejecutado co­rre­c­ta­me­n­te, el nuevo comando estará di­s­po­ni­ble. Abre tu servidor de Discord y haz clic en un campo de entrada de texto. Escribe /. El nuevo comando debería aparecer en la lista de su­ge­re­n­cias.

Paso 9: procesar los datos entrantes de Discord

Cuando se ejecuta un comando slash, Discord envía una solicitud es­tru­c­tu­ra­da a tu webhook. Para procesar la in­fo­r­ma­ción incluida, añade un nodo Set detrás del webhook. Ahí puedes extraer los datos re­le­va­n­tes, en especial el nombre de usuario y el mensaje in­tro­du­ci­do, mediante ex­pre­sio­nes JSON.

Ejemplo:

{
    "username": "{{$json.member.user.username}}",
    "message": "{{$json.data.options[0].value}}"
}
json

De este modo, dispones de la in­fo­r­ma­ción más im­po­r­ta­n­te en un formato claro y fácil de consultar.

Nota

Los campos exactos pueden variar según el tipo de comando, el contexto y la es­tru­c­tu­ra de opciones. Por eso, revisa siempre en n8n la salida real de la última ejecución.

Imagen: Procesar datos en n8n
Procesa los datos entrantes de Discord en n8n con un nodo Set.

Paso 10: pasar el mensaje a un modelo de IA

En el siguiente paso, conecta tu flujo de trabajo con un modelo de lenguaje grande (LLM). En n8n puedes usar para ello el nodo OpenAI o enviar la solicitud di­re­c­ta­me­n­te a una API con un nodo HTTP Request. En versiones actuales, el nodo OpenAI puede trabajar con la API Responses de OpenAI, aunque las opciones di­s­po­ni­bles pueden variar según tu in­s­ta­la­ción. Si estás empezando, esta suele ser la opción más sencilla.

Si utilizas el nodo por primera vez, primero tienes que guardar tus cre­de­n­cia­les. Haz clic en “Cre­de­n­tia­ls” en el nodo y se­le­c­cio­na “Create New Cre­de­n­tial”. Introduce allí tu clave de API y guarda las cre­de­n­cia­les.

A co­n­ti­nua­ción, configura el nodo para que el mensaje entrante de Discord se pase al modelo. Elige una operación de texto o de mensaje e introduce un prompt que indique a la IA el marco deseado. Una plantilla sencilla podría ser:

Eres un asistente útil en un servidor de Discord.
Responde de forma amable y comprensible en un máximo de cinco frases.
Usuario: {{$json.username}}
Mensaje: {{$json.message}}
txt

Asegúrate de no escribir ma­nua­l­me­n­te los valores username y message, sino de in­se­r­tar­los como ex­pre­sio­nes desde el nodo anterior.

Paso 11: preparar la respuesta para Discord

La respuesta de un nodo de IA en n8n no suele contener solo texto, sino también datos es­tru­c­tu­ra­les y metadatos. Para que Discord reciba úni­ca­me­n­te la respuesta pro­pia­me­n­te dicha, prepara el resultado en un paso adicional. Añade otro nodo Set detrás del nodo de IA. Allí, crea un nuevo campo con el nombre reply. En este campo, extraes el texto de respuesta del resultado del nodo de IA.

Un ejemplo típico sería:

{
    "reply": "{{$json.output[0].content[0].text}}"
}
json

Si tu salida tiene otra es­tru­c­tu­ra, puedes co­m­pro­bar­lo fá­ci­l­me­n­te revisando el Output del nodo OpenAI después de una ejecución de prueba. Allí verás exac­ta­me­n­te en qué posición se encuentra el texto de respuesta.

Op­cio­na­l­me­n­te, también puedes formatear la respuesta, por ejemplo, añadiendo un prefijo. Así, la salida de Discord puede resultar más clara o vi­sua­l­me­n­te más atractiva:

{
    "reply": "**Bot de IA:** {{$json.reply}}"
}
json

Paso 12: devolver la respuesta di­re­c­ta­me­n­te a Discord

Este paso es es­pe­cia­l­me­n­te im­po­r­ta­n­te, porque en In­ter­ac­tio­ns Discord no espera una respuesta de webhook normal. En su lugar, tu endpoint debe responder a la solicitud del comando slash con una In­ter­ac­tion Response válida.

En n8n hay una forma práctica de hacerlo: el nodo Webhook puede esperar hasta que el flujo de trabajo haya terminado y devolver entonces el resultado del último paso. Para ello, configura el nodo Webhook para que no responda in­me­dia­ta­me­n­te, sino cuando haya fi­na­li­za­do el último nodo del flujo de trabajo.

Haz clic de nuevo en el nodo Webhook situado al inicio del flujo de trabajo. Busca la sección “Respond” y, en lugar de una respuesta inmediata, se­le­c­cio­na la opción “When Last Node Finishes”.

Imagen: Editar Webhook en n8n
Edita tu Webhook en n8n para que responda cuando el último nodo haya terminado.
Consejo

Ten en cuenta los límites de fre­cue­n­cia de Discord: tanto los webhooks como las llamadas a la API están re­s­tri­n­gi­dos. Discord utiliza límites dinámicos para webhooks y llamadas a la API, que varían según el endpoint y el uso. Si se envían de­ma­sia­das so­li­ci­tu­des en poco tiempo, Discord responde con un error HTTP 429. Para evitar problemas, las re­s­pue­s­tas no deberían enviarse sin control, sino de forma regulada o con retraso.

Debajo en­co­n­tra­rás el ajuste para los datos de respuesta. Se­le­c­cio­na “First Entry JSON” para que n8n devuelva al final exac­ta­me­n­te el objeto JSON que sale del último nodo.

Para que Discord acepte la respuesta, el último nodo debe generar un objeto JSON con una es­tru­c­tu­ra como esta:

{
    "type": 4,
    "data": {
        "content": "{{$json.reply}}"
    }
}
json

En la práctica, esto significa que debes añadir otro nodo Set detrás de tu nodo Reply actual. En este último nodo, crea los campos de forma que se genere exac­ta­me­n­te esta es­tru­c­tu­ra. Un campo type recibe el valor 4. El campo data contiene a su vez el subcampo content con tu respuesta de la IA.

Imagen: Nodo Set con formato en n8n
En el último nodo formateas los datos con la ayuda de JSON.
Nota

En In­ter­ac­tio­ns de Discord hay una li­mi­ta­ción im­po­r­ta­n­te: tu endpoint debe devolver una primera respuesta en un plazo de 3 segundos. Si en ese tiempo no llega una respuesta válida, Discord descarta la solicitud y el In­ter­ac­tion Token asociado deja de ser válido. Sin embargo, al utilizar modelos de IA, el pro­ce­sa­mie­n­to puede tardar más. En esos casos, conviene no devolver una respuesta terminada de inmediato, sino enviar primero una respuesta diferida (deferred response).

Para ello, utiliza el tipo de respuesta type: 5 (DEFERRED_CHANNEL_MESSAGE_WITH_SOURCE). Este indica a Discord que la solicitud se ha aceptado y que la respuesta real llegará más tarde. A co­n­ti­nua­ción, puedes devolver la respuesta final mediante un mensaje de se­gui­mie­n­to (follow-up). Para ello, el In­ter­ac­tion Token sigue siendo válido hasta 15 minutos.

Paso 13: probar el flujo de trabajo en detalle

Antes de usar el bot de Discord con n8n de forma pe­r­ma­ne­n­te, conviene probar todo el flujo con cuidado. Primero, activa el flujo de trabajo, ya que las URL de webhook de pro­du­c­ción solo funcionan en n8n cuando el flujo está activo. Además, n8n distingue cla­ra­me­n­te entre URL de prueba y URL de pro­du­c­ción. La URL de pro­du­c­ción es la dirección que debes usar para Discord.

Después, ve a tu servidor de Discord e introduce el comando slash, por ejemplo:

/ask pregunta: ¿Qué es n8n?
txt

En cuanto envíes el comando, Discord debería enviar la solicitud a tu In­ter­ac­tio­ns Endpoint. A co­n­ti­nua­ción, abre en n8n la lista de eje­cu­cio­nes. Allí puedes hacer clic en cada paso por separado y comprobar qué datos han llegado y cómo se han procesado. Si todo funciona co­rre­c­ta­me­n­te, se enviará una respuesta en Discord.

Ejemplos prácticos de uso para bots de Discord con n8n e IA

Con n8n no solo puedes crear un bot de Discord sencillo que responda a mensajes, sino también au­to­ma­ti­zar muchos flujos de trabajo distintos en Discord. Los si­guie­n­tes ejemplos muestran tres ideas prácticas y fáciles de seguir si estás empezando.

Ejemplo 1: bot de FAQ para preguntas de la comunidad

Un bot de FAQ para Discord con n8n responde au­to­má­ti­ca­me­n­te a preguntas fre­cue­n­tes. Esto resulta es­pe­cia­l­me­n­te útil cuando en tu servidor se plantean una y otra vez dudas similares sobre productos, normas, horarios de apertura o procesos. La IA puede in­te­r­pre­tar una pregunta entrante y responder de forma amable y concisa. De forma opcional, también puedes consultar in­fo­r­ma­ción fija al­ma­ce­na­da en una tabla, una base de datos o un documento interno. Así, los usuarios reciben respuesta más rápido, sin que los mo­de­ra­do­res tengan que contestar cada pregunta ma­nua­l­me­n­te. En se­r­vi­do­res de soporte o co­mu­ni­da­des, esto ahorra mucho tiempo.

Imagen: Ejemplo de bot de FAQ para Discord en n8n
Para un bot de FAQ no solo utilizas IA, sino también una base de datos con preguntas pre­via­me­n­te guardadas.

Ejemplo 2: bot de mo­de­ra­ción para la revisión previa de mensajes

Un bot de mo­de­ra­ción para Discord con n8n puede analizar mensajes nuevos y detectar co­n­te­ni­dos pro­ble­má­ti­cos rá­pi­da­me­n­te. La IA comprueba, por ejemplo, si un mensaje es ofensivo, parece spam o no encaja con el tema del canal. Después, en n8n puedes definir reglas para decidir qué debe ocurrir en cada caso. Por ejemplo, puedes enviar un aviso al equipo de mo­de­ra­ción o reenviar el mensaje a un canal de revisión. El bot no sustituye la mo­de­ra­ción humana, pero ayuda a cla­si­fi­car co­n­te­ni­dos más rápido. Sobre todo en co­mu­ni­da­des grandes, esto puede reducir mucho la carga de trabajo del equipo de mo­de­ra­ción.

Imagen: Ejemplo de bot de moderación en n8n
En co­m­bi­na­ción con Discord, n8n puede uti­li­zar­se para crear un bot que compruebe el spam.

Ejemplo 3: bot de resúmenes para debates largos

En se­r­vi­do­res de Discord muy activos, la in­fo­r­ma­ción im­po­r­ta­n­te puede perderse rá­pi­da­me­n­te entre la gran cantidad de mensajes. Un bot puede agrupar varios mensajes y crear un resumen en in­te­r­va­los concretos o a petición. Esto resulta útil, por ejemplo, en se­r­vi­do­res de proyectos, co­mu­ni­da­des de apre­n­di­za­je o canales internos de equipo. n8n recopila los mensajes re­le­va­n­tes, se los pasa a la IA y publica después un resumen en un canal definido. Así, no hace falta que todos los pa­r­ti­ci­pa­n­tes lean la co­n­ve­r­sa­ción completa. Esto mejora la visión general y ahorra tiempo.

Imagen: Ejemplo de bot de resúmenes en n8n
Si recuperas pe­rió­di­ca­me­n­te muchos mensajes de Discord con n8n, puedes usar la IA para re­su­mi­r­los.
Ir al menú principal