Limpia Textos en tu Chatbot de N8N: Tutorial Paso a Paso

El uso de chatbots se ha vuelto esencial en la atención al cliente y la interacción con usuarios. Sin embargo, a menudo nos enfrentamos al desafío de limpiar y formatear el texto antes de enviarlo al usuario. En este tutorial, aprenderás a utilizar un sencillo script que permita simplificar y limpiar textos en tu chatbot de N8N. ¡Mejorarás la presentación de tus mensajes de modo fácil y rápido! 🚀

Paso 1: Estructura del Código

Primero, veamos la estructura básica del código que implementaremos. Este es el núcleo de nuestro script para limpiar texto:

for (const item of $input.all()) {
  let output = item.json.output || '';
  
  // Reemplazar **texto** por *texto*
  output = output.replace(/\*\*(.*?)\*\*/g, '*$1*');
  
  // Reemplazar [texto](enlace) por "texto: enlace"
  output = output.replace(/\[(.*?)\]\((.*?)\)/g, '$1: $2');
  
  // Reemplazar [texto] por texto
  output = output.replace(/\[(.*?)\]/g, '$1');
  
  // Reemplazar {texto} por texto
  output = output.replace(/\{(.*?)\}/g, '$1');

  item.json.cleanedOutput = output;
}

return $input.all();

Este código se ejecuta en el módulo de código de N8N y será el responsable de limpiar y reformatear los textos que tu chatbot envía. Ahora desglosamos línea por línea.

Paso 2: Desglose del Código

  1. Iteración sobre los items:
    for (const item of $input.all()) {

    Aquí comenzamos un bucle que recorre todos los inputs disponibles, lo cual es crucial para procesar múltiples mensajes de una vez.


  2. Definición de la salida:
    let output = item.json.output || '';

    Se establece que output es el texto que vamos a limpiar. Si no hay texto, se inicializa como una cadena vacía.


  3. Reemplazo de **texto** por *texto*:
    output = output.replace(/\*\*(.*?)\*\*/g, '*$1*');

    Este fragmento utiliza una expresión regular para convertir el formato de texto en negrita a cursiva. ¡Perfecto para resaltar información!


  4. Reemplazo de [texto](enlace) por texto: enlace:
    output = output.replace(/\[(.*?)\]\((.*?)\)/g, '$1: $2');

    Aquí, convertimos enlaces de formato Markdown a un formato más amigable para el usuario.


  5. Reemplazo de [texto] por texto:
    output = output.replace(/\[(.*?)\]/g, '$1');

    Este código elimina los corchetes, presentando solo el texto limpio.


  6. Reemplazo de {texto} por texto:
    output = output.replace(/\{(.*?)\}/g, '$1');

    Finalmente, los corchetes dobles son eliminados, dejando solo el texto para facilitar la lectura.


  7. Asignación del texto limpio:
    item.json.cleanedOutput = output;

    Asumimos que el texto procesado se guarda en cleanedOutput, listo para ser utilizado en el flujo.


  8. Retorno de todos los items:
    return $input.all();

    Al final, retornamos todos los items con sus nuevos textos limpios.


Paso 3: Personalización y Mejoras

Puedes personalizar el código según tus necesidades:

  • Modifica las expresiones regulares para crear otros formatos de texto.
  • Añade más transformaciones según los requisitos de tu chatbot.
  • Asegúrate de que el обработка abd el estilo del idioma sean consistentes para tus usuarios.

Compartir esta información