Saltearse al contenido

Channel

El componente Channel en Nappai actúa como un puente inteligente entre tu automatización y tus servidores de Discord. Te permite leer información de canales existentes, crear nuevos, editar propiedades o procesar listas de datos relacionados con ellos. Todo esto se hace de manera visual y estructurada, sin necesidad de escribir código complejo.

¿Cómo funciona?

Internamente, este componente se comunica con la API oficial de Discord. Cuando lo configuras, Nappai usa la credencial que seleccionas para verificar que tienes permiso para acceder al servidor. Dependiendo de cómo lo uses, el componente puede simplemente obtener información (lectura), cambiar propiedades como el nombre o los permisos (escritura), o recorrer una lista de elementos para aplicar cambios en cada uno de ellos (mapeo).

Utiliza filtros para seleccionar solo los canales que necesitas y optimiza el proceso para evitar errores o límites de velocidad. Al final de la ejecución, devuelve la información actualizada del canal o los resultados del procesamiento, listos para que los uses en el siguiente paso de tu automatización.

Conexión y Credenciales

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

  1. Dirígete a la sección de Credenciales en tu panel de Nappai.
  2. Crea una nueva credencial del tipo Discord API y guarda los campos requeridos (claves de API, tokens, etc.). Puedes encontrar tu bot token en el Portal de Desarrolladores de Discord, dentro de la sección Bot de tu aplicación.
  3. En tu flujo de trabajo, selecciona la credencial guardada en el campo de entrada Credential de este nodo.

Entradas

Este componente cuenta con un modo especial llamado Modo de Mapeo (Mapping Mode). 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. Cada campo puede estar visible en diferentes operaciones:

  • Operation: Define el contexto o acción principal que quieres realizar. Útil para indicar si estás conectando un objeto de datos o ingresando detalles manualmente.
  • Guild ID: Identificador único de tu servidor de Discord. Es necesario para localizar exactamente dónde reside el canal al que deseas acceder o modificar.
  • Item: Un paquete de datos que define un canal. Debe incluir obligatoriamente un nombre y un tipo, y puede incluir opciones avanzadas. Se usa principalmente cuando vas a crear o modificar canales.
  • Channel ID: Identificador único específico de un canal de Discord. Se usa cuando ya conoces el canal exacto al que deseas acceder, leer o modificar.
  • Top: Indica si la operación debe priorizarse o situarse en la parte superior de la lista de canales del servidor.
  • Filter Type: Permite filtrar canales por su tipo numérico (por ejemplo, 0 para texto, 2 para voz). Ayuda a trabajar solo con las categorías que te interesan.
  • Mode: Elige si vas a conectar un objeto de datos externo o si preferirás ingresar los detalles del canal manualmente.
  • Filter: Define si deseas recuperar todos los canales de un servidor completo o buscar un canal específico por su ID.
  • Name: El nombre exacto que se le asignará al canal de Discord.
  • Options: Un conjunto de configuraciones adicionales para el canal (tema, restricción de NSFW, límite de usuarios en voz, ID del canal padre, etc.). Se mapea directamente con las opciones que Discord acepta para crear o editar canales.
  • Type: Define el tipo de canal que se va a crear o modificar (texto, voz, categoría, foro, etc.).

Salidas

El componente devuelve un objeto estructurado que contiene la información actualizada del canal o los resultados del procesamiento realizado. Esta salida está diseñada para ser consumida directamente por otros nodos de tu automatización, permitiendo encadenar acciones como enviar mensajes, registrar datos o aplicar validaciones.

Ejemplo de Respuesta JSONjson

{ “id”: “123456789012345678”, “name”: “soporte-general”, “type”: 0, “topic”: “Ayuda y soporte oficial de Nappai”, “nsfw”: false, “position”: 1, “permissions”: “2048”, “rate_limit_per_user”: 0, “parent_id”: “987654321098765432” }

Conectividad

Normalmente, este componente se conecta a nodos de tipo Mensaje de Discord, Filtro de Datos o Herramientas de Texto. Tiene sentido lógico porque la información que devuelve (Data) contiene identificadores clave y estados de éxito/error. Puedes usar esa salida para:

  • Validar que el canal se creó o actualizó correctamente antes de enviar mensajes.
  • Filtrar canales por tipo o ID en pasos posteriores.
  • Almacenar el id del canal en una base de datos para su uso futuro.

Ejemplo de Uso

Imagina que quieres automatizar la creación de un canal de soporte para cada nuevo cliente que se registra en tu sistema.

  1. En el primer nodo, obtienes los datos del cliente.
  2. Conectas este componente Channel, seleccionas tu credencial de Discord y defines el Guild ID de tu servidor.
  3. Estableces Filter en modo “Canal específico”, defines el Name como "Soporte-[NombreCliente]" y eliges el Type como 0 (Texto).
  4. Al ejecutarse, el componente crea el canal en Discord y devuelve su ID en la salida Data.
  5. En el siguiente nodo, usas ese ID para enviar un mensaje de bienvenida personalizado al canal recién creado.

Consejos y Mejores Prácticas

  • Siempre verifica que el Guild ID sea correcto antes de ejecutar; es el punto de partida para cualquier acción en el servidor.
  • Usa el campo Options con precaución y solo cuando necesites configurar detalles avanzados como límites de voz o temas del canal.
  • Al activar el Modo de Mapeo, conecta el campo Item a una lista de objetos para procesar múltiples canales automáticamente, ahorrando tiempo y evitando repeticiones manuales.
  • Guarda la salida Data si planeas usar el ID del canal en flujos posteriores; es el enlace más seguro para mantener la integridad de tu automatización.

Consideraciones de Seguridad

  • Mantén tus credenciales de Discord API en secreto y no las compartas públicamente. Nappai las almacena de forma segura en tu panel.
  • Elige opciones de canal (Options) con cuidado; evita configurar permisos de alto riesgo o contenido NSFW si no es estrictamente necesario para tu servidor.
  • Limita el uso de filtros estrictos o prioridades altas (Top) solo cuando sean necesarios para evitar saturar los límites de velocidad de la API de Discord.