Member
El componente Member te permite interactuar de forma segura con tu servidor de Discord. Funciona como un puente que te ayuda a buscar usuarios específicos, verificar la información de los miembros y realizar consultas sobre quién forma parte de tu comunidad. Es ideal para automatizar tareas como validar la asistencia de usuarios, verificar roles o gestionar listas de miembros dentro de tus flujos de trabajo.
¿Cómo funciona?
Internamente, este componente se conecta a la API de Discord para recuperar y organizar información. Tú le indicas a qué servidor deseas conectarte (usando su ID) y, opcionalmente, puedes refinar la búsqueda especificando el ID de un usuario o un rol concreto.
El componente actúa como una capa inteligente que maneja la comunicación con Discord por ti. Al recibir tus instrucciones, consulta el servidor, filtra los datos según los criterios que selecciones y devuelve la información estructurada para que puedas usarla en el resto de tu automatización. No necesitas conocer los detalles técnicos de las llamadas a la API; solo necesitas proporcionar los identificadores correctos.
Conexión y Credenciales
Este componente requiere configurar previamente una credencial en el panel de Nappai para poder interactuar con Discord de forma segura:
- Dirígete a la sección de Credenciales en tu panel de Nappai.
- Crea una nueva credencial del tipo Discord API.
- Para obtener el token, ve al Discord Developer Portal, selecciona tu aplicación y accede a la sección Bot.
- Copia el Bot Token generado y pégalo en la credencial, junto con otros datos requeridos como el Application ID y Public Key.
- Guarda la credencial.
- En tu flujo de trabajo, selecciona la credencial que acabas de crear en el campo Credential de este nodo.
Nota: Nunca compartas tu Bot Token públicamente. Asegúrate de guardar tus credenciales en un lugar seguro dentro de Nappai.
Entradas
Modo de Mapeo
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
Los siguientes campos están disponibles para configurar este componente.
- Guild ID: Identificador único del servidor de Discord donde deseas realizar las acciones. Debes proporcionar el ID numérico de tu servidor para que el componente sepa en qué contexto operar.
- Top: Cantidad máxima de miembros del servidor que se pueden recuperar en una consulta. Útil para limitar el número de resultados y optimizar el rendimiento.
- User ID: Identificador único del usuario de Discord al que deseas acceder o consultar información específica. Si no se proporciona, el componente puede operar a nivel de servidor o rol.
- Filter: Permite elegir si deseas recuperar todos los roles disponibles o filtrar por un ID de rol específico. Esta opción ayuda a refinar la búsqueda según tus necesidades.
- Role ID: Identificador único del rol de Discord. Se utiliza para buscar miembros asociados a un rol en particular o para validar pertenencia.
- Role Name: Nombre del rol de Discord. Complementa la búsqueda del rol, permitiendo identificar usuarios mediante el nombre legible del rol.
- Role Options: Campos opcionales adicionales para la configuración de roles de Discord. Puedes pasar información extra como colores, permisos o opciones de mención. Se usa para casos avanzados de gestión de roles.
Salidas
Data
Tipo de datos: Any
Almacena la información resultante de la operación con Discord. Dependiendo de los filtros y la configuración, esta salida puede contener objetos de usuario, listas de miembros, datos de roles o mensajes de estado. Puedes conectar esta salida a otros componentes para procesar, enviar o almacenar la información obtenida.
Ejemplo de Respuesta JSON
A continuación, se muestra un ejemplo de la estructura de datos que puedes recibir en la salida Data. Esto te ayudará a identificar qué variables están disponibles para mapear en los siguientes nodos de tu flujo. json { “id”: “8420923741029312”, “username”: “UsuarioDemo”, “discriminator”: “1234”, “avatar”: “a8f3b2c1d9e4f5a6b7c8d9e0f1a2b3c4”, “roles”: [ “1092837465019283746”, “9384756102938475610” ], “joined_at”: “2023-10-15T12:30:00.000000+00:00”, “bot”: false, “pending”: false }
Nota: La estructura exacta puede variar según el contexto de la llamada y los filtros aplicados.
Conectividad
Dado que este componente no tiene estadísticas de conexiones predefinidas, puedes conectar sus salidas lógicamente según el flujo de trabajo de tu automatización:
- Conexión con Consumidores de Datos: Es común conectar la salida Data a componentes que necesiten leer información de usuarios, como nodos de envío de mensajes, validación de permisos o bases de datos.
- Flujos de Validación: Puedes usar la salida para verificar si un usuario existe en el servidor o pertenece a un rol específico antes de ejecutar una acción crítica.
- Integración con Bases de Datos: Si necesitas archivar información de miembros, conecta la salida a un componente de escritura en base de datos.
La flexibilidad de las salidas te permite integrarlo en diversos tipos de flujos, desde simple lectura de datos hasta complejas validaciones lógicas.
Ejemplo de Uso
Escenario: Buscar usuarios de un rol específico
Imagina que necesitas identificar a todos los usuarios con el rol de “Moderador” en tu servidor para enviarles un aviso importante.
- En el componente Member, ingresa el Guild ID de tu servidor.
- Configura el Filter para indicar que quieres buscar por un rol.
- Introduce el Role ID del rol “Moderador”.
- Ejecuta el flujo.
- La salida Data contendrá la información de los usuarios que cumplen con ese rol.
- Conecta esa salida a un componente de “Enviar Mensaje” para notificar a los moderadores.
Este flujo te permite automatizar comunicaciones dirigidas a grupos específicos de usuarios de forma eficiente.
Consejos y Mejores Prácticas
- Usa siempre el Guild ID numérico en lugar del nombre del servidor para evitar errores si cambias el nombre del canal o del servidor.
- Utiliza el campo Top para limitar los resultados cuando esperes una gran cantidad de datos; esto mejora el rendimiento y evita tiempos de espera largos.
- Aprovecha el Modo de Mapeo para crear flujos dinámicos que reaccionen a cambios en otros componentes, como actualizar listas de usuarios automáticamente.
- Verifica que tu Bot tenga los permisos adecuados en el servidor de Discord para que las consultas sean exitosas.
Consideraciones de Seguridad
- Protección de Tokens: El Bot Token otorga control sobre tu servidor. Nunca lo expongas en logs públicos, compartas tu flujo con otros usuarios sin proteger la credencial, ni lo guardes en repositorios de código.
- Principio de Menor Privilegio: Configura tu credencial y el Bot en Discord con los permisos estrictamente necesarios para las operaciones que realizarás. Evita otorgar permisos de administrador completos si solo necesitas leer información.
- Validación de Entradas: Asegúrate de que los IDs y nombres proporcionados sean válidos y estén protegidos contra inyecciones si el flujo es accesible por usuarios externos.