Saltearse al contenido

Message

Bienvenido al componente Message de Nappai. Este componente es tu puente directo con Discord, permitiéndote enviar, leer, editar y organizar mensajes en tus canales y servidores. Es ideal para crear bots automatizados, notificar a equipos o gestionar interacciones en tus comunidades.

Gracias a Nappai, no necesitas escribir código complejo; simplemente configuras este componente en tu flujo de trabajo y Nappai se encarga de la comunicación con Discord de forma segura y eficiente.

¿Cómo funciona?

Piensa en este componente como un asistente virtual que habla el idioma de Discord. Cuando lo ejecutas en tu automatización, Nappai realiza los siguientes pasos:

  1. Validación: Verifica que tu credencial (token) sea válida y que tengas permiso para actuar en el canal seleccionado.
  2. Acción: Realiza la operación que hayas elegido (enviar un mensaje, leer mensajes anteriores, editar un mensaje existente, etc.).
  3. Resultado: Devuelve información sobre lo que ocurrió. Puedes usar esta información para seguir avanzando en tu flujo, como enviar una notificación si hubo un error o guardar un registro si fue un éxito.

Además, este componente cuenta con una función especial llamada Modo de Mapeo que te permite procesar varias acciones a la vez sin detener el flujo, ideal para automatizaciones masivas.

Conexión y Credenciales

Este componente requiere configurar previamente una credencial en el panel de Nappai para poder interactuar con el servicio de Discord:

  1. Dirígete a la sección de Credenciales en tu panel de Nappai.
  2. Crea una nueva credencial del tipo Discord API.
    • Deberás ingresar los datos de tu aplicación de Discord, como el Bot Token, Application ID y Public Key, que puedes encontrar en el Discord Developer Portal.
  3. Guarda la credencial.
  4. En tu flujo de trabajo, selecciona la credencial guardada en el campo de entrada Credential de este componente.

Nota: Sin esta credencial configurada, el componente no podrá comunicarse con Discord.

Entradas

Modo de Mapeo (Mapping Mode)

Este componente cuenta con un modo especial llamado “Mapping Mode” (Modo de Mapeo). Cuando activas este modo mediante el interruptor, se habilita una entrada adicional llamada “Mapping Data” y cada campo de entrada te ofrece tres formas diferentes de proporcionar datos:

  • Fixed (Fijo): Escribes el valor directamente en el campo.
  • Mapped (Mapeado): Conectas la salida de otro componente para usar su resultado como valor.
  • Javascript: Escribes código Javascript para calcular el valor dinámicamente.

Esta flexibilidad te permite crear flujos de trabajo más dinámicos y conectados.

Campos de Entrada

A continuación se describen los campos que puedes configurar en este componente. Los nombres se muestran en inglés tal como aparecen en la interfaz para facilitar el uso técnico.

  • Operation: Permite seleccionar la acción principal que deseas realizar con el componente. Al elegir una operación, los campos disponibles se ajustarán para adaptarse a esa tarea específica.
  • Channel ID: Identificador único del canal de Discord donde se ejecutará la operación. Este valor define el alcance de la petición y asegura que el componente interactúe con el canal correcto.
  • Message ID: Identificador específico de un mensaje existente en Discord. Se utiliza cuando necesitas leer, editar o gestionar un mensaje ya publicado.
  • Content: Contenido textual del mensaje. Puedes escribir texto plano o usar formato Markdown para dar estilo a tus mensajes. Este campo es requerido cuando envías o editas mensajes.
  • Attachments: Archivos adjuntos para el mensaje. Permite incluir archivos mediante su ID, URL o contenido directo. Útil para compartir imágenes, documentos o recursos en los mensajes de Discord.
  • Filter: Ayuda a recuperar información específica. Puedes usar este campo para obtener un mensaje concreto por su ID o recuperar todos los mensajes de un canal según un filtro definido.
  • Top: Define la cantidad máxima de mensajes a recuperar al realizar consultas. Este valor limita el volumen de datos devueltos, optimizando el rendimiento en procesos grandes.
  • After ID: Identificador único después del cual se devolverán los mensajes. Se utiliza para paginación o para recuperar mensajes posteriores a un punto específico en el canal.

Salidas

El componente produce una salida principal que contiene la información resultante de la operación. Puedes conectar esta salida a otros nodos de tu flujo para tomar decisiones, registrar datos o notificar resultados.

  • Data: Contiene los metadatos y el estado del mensaje tras la ejecución. Incluye información como el ID del mensaje, el contenido enviado, la marca de tiempo, el autor, y el estado de la operación. Esta salida es fundamental para auditar acciones o continuar en flujos condicionales.

Ejemplo de Respuesta JSON

Cuando el componente se ejecuta correctamente, devuelve datos estructurados en formato JSON. A continuación, puedes ver un ejemplo de lo que recibirás en el campo Data: json { “id”: “123456789012345678”, “content”: “Hola, este mensaje ha sido enviado desde Nappai.”, “timestamp”: “2023-10-27T10:00:00.000000+00:00”, “author”: { “id”: “987654321098765432”, “username”: “NappaiBot”, “discriminator”: “0000”, “avatar”: null }, “channel_id”: “111222333444555666”, “embeds”: [], “attachments”: [], “type”: 0 }

Puedes usar las propiedades de este JSON (como id, content, author) en componentes posteriores para personalizar respuestas, guardar registros o verificar errores.

Conectividad

Este componente se conecta lógicamente con otros nodos de tu automatización para crear flujos completos y útiles. Aquí algunas combinaciones típicas:

  • Con Nodos de Lógica (If/Else): Conecta la salida Data a un nodo de lógica para decidir si continúa el flujo. Por ejemplo, si la operación falló, puedes redirigir el flujo a un nodo de notificación de error.
  • Con Nodos de Mensaje para Reacciones: Tras enviar un mensaje, puedes conectar la salida a un componente de reacciones para agregar emojis automáticamente al mensaje publicado.
  • Con Nodos de Variables: Guarda la información de Data en variables globales para reutilizar datos en pasos futuros, como el ID de un mensaje para editarlo más tarde.
  • Con Nodos de Búsqueda o Filtrado: En flujos de lectura, conecta este componente a nodos de filtrado para procesar solo los mensajes que cumplan ciertos criterios antes de tomar acciones.

Ejemplo de Uso

Escenario: Enviar mensaje de bienvenida en un canal de soporte

Imagina que quieres crear un flujo que envíe un mensaje automático de bienvenida cuando se activa un evento (como una nueva solicitud de ayuda).

  1. Configura el componente:
    • Selecciona la operación Send (Enviar) en el campo Operation.
    • En Channel ID, pega el ID de tu canal de #soporte.
    • En Content, escribe: “¡Hola! Hemos recibido tu solicitud. Nuestro equipo te atenderá pronto.”
  2. Conecta el flujo:
    • Conecta la salida Data a un nodo de Variable para guardar el ID del mensaje enviado.
    • Si deseas asegurar la entrega, conecta la salida a un nodo de Lógica que verifique el estado y envíe una notificación solo si hay éxito.
  3. Resultado:
    • El componente interactúa con Discord, publica el mensaje en el canal y devuelve los datos del mensaje. Tu flujo continúa con confianza de que la acción se completó.

Este ejemplo demuestra cómo el componente Message actúa como un eje central en tus automatizaciones, permitiendo acciones directas sobre Discord con control total del flujo.

Consejos y Mejores Prácticas

  • Revisa los permisos: Asegúrate de que tu credencial de Discord tenga permisos suficientes para leer, escribir o editar mensajes en el canal seleccionado.
  • Usa el Modo de Mapeo para lotes: Si necesitas realizar la misma acción con múltiples canales o mensajes, activa el Mapping Mode para procesar todo en paralelo y ganar eficiencia.
  • Maneja errores: Conecta la salida Data a nodos de registro de errores para detectar fallas de red o límites de tasa (rate limits) y mantener tus flujos robustos.
  • Límite de caracteres: El campo Content tiene un límite estándar de 2000 caracteres en Discord. Si necesitas más extensión, divide el contenido en mensajes o usa embeds.
  • Valida IDs: Al usar Channel ID o Message ID, verifica que los identificadores sean correctos y estén en formato de texto/numérico adecuado para evitar errores de compilación.

Consideraciones de Seguridad

  • Protege tu credencial: Nunca compartas tu Bot Token ni credenciales en el panel de Nappai con terceros. Trata los tokens como contraseñas críticas.
  • Principio de menor privilegio: Configura tu credencial de Discord API con los permisos mínimos necesarios. Evita dar permisos de administrador si solo necesitas enviar mensajes.
  • Audita tus flujos: Revisa periódicamente qué mensajes está automatizando el componente y asegúrate de que la información enviada cumpla con las normas de tu comunidad de Discord.
  • Almacenamiento seguro: Las salidas del componente pueden contener datos sensibles. Asegúrate de gestionar las variables y registros en Nappai con las mismas precauciones de seguridad que con información de usuarios.