LoboHook Logo

Manual Integral: Bloques, Componentes y Flujos

Guía técnica exhaustiva de LoboHook para arquitectura de mensajes y bots de Discord

👤 1. Cabecera del Mensaje y Tarjetas Replegables

La cabecera del mensaje reúne los datos del remitente y el contenido principal:

  • Perfil y Avatar: Personalizan el nombre y foto con la que el bot/webhook publicará en el servidor.
  • Nombre de Hilo (Opcional): Si se escribe un nombre, Discord creará automáticamente un hilo anidado en el canal destino con ese título.
  • Tarjeta Replegable: Puedes hacer clic en la cabecera para replegar o desplegar toda la sección con un solo clic, ahorrando espacio en pantalla.

🖼️ 2. Iconos de Autor / Pie e Imágenes en Mosaico

Discord tiene reglas estrictas para mostrar iconos en los Embeds:

  • Icono del Autor: Requiere obligatoriamente que el campo Nombre del Autor contenga texto (así sea un punto .). Si está vacío, LoboHook muestra un aviso y el botón Poner "." para activarlo con 1 clic.
  • Icono del Pie de Página: Al igual que el autor, exige escribir texto en Pie de página (Texto) para renderizarse en Discord.

Cuadrícula en Mosaico (Hasta 4 Imágenes Grandes por Embed):

Puedes pulsar + Añadir imagen grande para insertar hasta 4 imágenes en el mismo Embed. LoboHook las agrupa automáticamente compartiendo la misma URL de título en la API de Discord:

  • 1 Imagen: Ocupa el ancho completo del Embed (1 columna).
  • 2 Imágenes: Discord las dispone en 2 columnas lado a lado (50% / 50%).
  • 3 Imágenes: 1 imagen grande principal arriba y 2 imágenes debajo en miniatura.
  • 4 Imágenes: Cuadrícula perfecta de 2x2 tipo mosaico (ideal para galerías o parches de juegos).

🧱 3. Menú de los 5 Bloques Modulares

Al pulsar 🧱 + Añadir Bloque o Embed ▾ puedes elegir entre las siguientes piezas:

  1. 📑 Embed Clásico Completo: Añade un contenedor completo con autor, título, descripción, campos, imágenes y pie de página.
  2. 📝 Contenido: Inserta una sección de texto Markdown enriquecido con formato de Embed.
  3. 🖼️ Media Gallery: Crea un bloque multimedia optimizado para mosaicos de hasta 4 imágenes grandes.
  4. 📎 Archivo: Permite adjuntar un archivo descargable (PDF, ZIP, TXT, PNG, etc.) que se sube y envía junto al mensaje.
  5. ➖ Separator: Inserta una línea divisoria visual elegante (▬▬▬▬▬▬▬▬▬▬) para segmentar temas.
  6. 🧩 Fila: Inserta una nueva fila de botones interactivos o selectores (Action Row).

📐 4. Reglas Legales de Action Rows en Discord

Discord impone límites estrictos en el particionado de componentes:

  • Máximo 5 botones por fila: Los botones normales o de enlace comparten fila hasta un tope de 5.
  • Menús desplegables aislados: Todo selector (Select Menu, Roles, Canales, Usuarios) ocupa obligatoriamente una fila completa (1 menú por fila).
  • Máximo 5 filas totales: Un mensaje no puede exceder 5 Action Rows. LoboHook monitoriza este contador en tiempo real con la etiqueta 0 / 5 filas.
🔘 1. Botón Interactivo
Type 2 (Button) ⚡ Ejecuta Acciones
Dispara flujos automáticos ejecutados por el Bot oficial de LoboHook (entrega de roles, verificación, apertura de tickets, temporizadores).
LH
LoboHook Bot APP
Haz clic en tu estilo preferido:
📋 3. Menú de Selección Personalizado
Type 3 (String Select) ⚡ Acciones por Opción
Menú desplegable con hasta 25 opciones personalizables. Cada opción individual puede tener su propia cadena independiente de acciones.
Elige tu especialización en el servidor... ▾
🛡️ Tanque Especialista defensivo del gremio
⚔️ DPS / Daño Combate cuerpo a cuerpo o a distancia
🌿 Sanador (Healer) Soporte y restauración
👤 4. Menú de Selección de Usuarios
Type 5 (User Select) ⚡ Nativo Discord
Despliega automáticamente los miembros reales del servidor con su avatar y apodo actual sin necesidad de crearlos manualmente.
🏷️ 5. Menú de Selección de Roles
Type 6 (Role Select) ⚡ Dinámico
Muestra todos los roles reales del servidor. Puede asignarse automáticamente con la acción Añadir rol configurando el rol como selected.
👥 6. Menú Mencionable (Usuarios y Roles)
Type 7 (Mentionable Select) ⚡ Mixto
Permite seleccionar tanto miembros como roles en una sola lista unificada (ideal para sistemas de reportes o asignación de permisos).
📢 7. Menú de Selección de Canales
Type 8 (Channel Select) ⚡ Canales
Despliega los canales reales del servidor (texto, voz, anuncios o hilos) para redirecciones, alertas o configuración de tickets.

⚡ Las 12 Acciones Encadenables de LoboHook

Puedes encadenar múltiples acciones consecutivas en cada botón o en cada opción de menú desplegable:

  1. ⏱️ Esperar X segundos (wait): Pausa la ejecución (3s, 5s, 10s...) antes del siguiente paso. Crea expectativa dramática en sorteos, apertura de cofres o verificación.
  2. 🔍 Comprobar (check): Evalúa condiciones (roles, permisos de Administrador o variables) con 5 operadores lógicos y divide el flujo en dos ramas: ✅ Si pasa o ❌ De lo contrario.
  3. ➕ Añadir rol (add_role): Asigna un rol de Discord al usuario que interactuó. Soporta ID directo, nombre de rol o selección dinámica en menú (selected).
  4. ➖ Eliminar rol (remove_role): Retira un rol específico del miembro.
  5. 🔄 Alternar rol (toggle_role): Si el usuario tiene el rol se lo quita, y si no lo tiene se lo otorga (Reaction Roles con botones con 1 solo clic).
  6. 💬 Enviar mensaje (send_message): Envía una respuesta privada efímera (solo visible para el usuario) con soporte para variables ({user}, {username}, {server}).
  7. 🌐 Enviar mensaje webhook (send_webhook): Dispara un payload a cualquier URL de Webhook externa (ideal para enviar logs a canales de auditoría de staff).
  8. 🧵 Crear hilo (create_thread): Crea un hilo privado o ticket de soporte anidado con el nombre del usuario y envía el primer mensaje de bienvenida.
  9. 📦 Establecer variable (set_variable): Guarda un valor en memoria durante la interacción para ser evaluado en comprobaciones posteriores.
  10. 🗑️ Eliminar mensaje (delete_message): Borra el mensaje contenedor de Discord tras la interacción.
  11. 🛑 Detener (stop): Finaliza el flujo inmediatamente evitando que se ejecuten los pasos siguientes.
  12. ⚪ No hacer nada (noop): Confirma la interacción de Discord sin producir cambios.

🔍 Constructor Condicional Comprobar (check)

El constructor condicional evalúa si el miembro cumple los requisitos en tiempo real antes de otorgar recompensas o ejecutar acciones:

┌────────────────────────────────────────────────────────────────────────┐ │ 🔍 Comprobar [ Static (Rol) ▾ ] │ │ Condición: [ Tiene el rol ▾ ] [ Rol o ID ] [ 2º Rol (Y / O) ] │ │ │ │ FUNCIONES LÓGICAS: [ IGUAL A ] [ NO ] [ EN ] [ Y ] [ O ] │ ├────────────────────────────────────────────────────────────────────────┤ │ ✅ Si la función pasa: [ + Añadir acción si pasa ▾ ] │ │ ↳ 1. ⏳ Esperar 3 seg. │ │ ↳ 2. 💬 Enviar mensaje: "👑 ¡Bienvenido al Club VIP {user}!" │ ├────────────────────────────────────────────────────────────────────────┤ │ ❌ De lo contrario, si la función no pasa: [ + Añadir si NO pasa ▾ ]│ │ Mensaje de rechazo: "❌ Esta recompensa es exclusiva para VIP." │ └────────────────────────────────────────────────────────────────────────┘

Los 5 Operadores Lógicos:

  • IGUAL A: Requiere que el usuario posea exactamente el rol especificado.
  • NO: Invierte la lógica; pasa si el usuario NO tiene el rol (ideal para evitar reclamos duplicados).
  • EN: Comprueba si el usuario tiene alguno de varios roles separados por coma (ej: VIP, Booster, Veterano).
  • Y: Exige que el usuario posea ambos roles especificados de forma simultánea.
  • O: Pasa si el usuario posee al menos uno de los dos roles indicados.

🛡️ Modo Static (Roles) vs ⚡ Modo Adaptive (Valores y Variables):

Evaluar únicamente si un miembro tiene un rol resulta insuficiente para interacciones dinámicas en Discord. Por ello, LoboHook incorpora dos modos de evaluación en Comprobar:

🛡️ Modo Static (Roles y Permisos)

Evalúa directamente si el usuario posee un rol (has_role), carece de él (missing_role) o si cuenta con permisos de Administrador nativo (is_admin).

⚡ Modo Adaptive (Valores y Variables)

Comprueba variables dinámicas en tiempo de ejecución. Permite evaluar selecciones de menús, contadores, identificadores de canal o listas blancas.

¿Para qué sirve evaluar valores diferentes al Rol?:

  • 1. Valor elegido en un Menú Desplegable (value): Cuando el usuario interactúa con un menú de selección (ej: Soporte, Facturación, Reportes), el condicional evalúa si value == 'soporte' para abrir un hilo de ticket o si value == 'facturación' para dirigirlo al canal de ventas.
  • 2. Variables en memoria ({var:nombre} / Set Variable): Permite controlar estados, encuestas o contadores de intentos. Ejemplo: comprobar si intentos >= 3 para bloquear al usuario, o si reglas_aceptadas == 'si' antes de entregar un rol.
  • 3. Lista Blanca por ID de Usuario (userId): Restringe botones o acciones a usuarios concretos (dueños, organizadores de un torneo, testers VIP) comprobando su ID de Discord directamente, sin necesidad de crear roles temporales en el servidor.
  • 4. Control de Canal (channelId): Garantiza que los miembros solo puedan pulsar el botón en el canal correcto. Si se pulsa fuera de #registro o #bienvenida, el condicional rechaza la acción con un mensaje efímero privado.
  • 5. Permisos nativos de Discord (is_admin): Permite que administradores o moderadores ejecuten acciones de gestión evaluando sus permisos reales de servidor, sin requerir que tengan asignado un rol manual específico.

🌟 Plantillas Oficiales con Flujos Listos

Puedes probar estos flujos con 1 clic desde 📋 Plantillas en la barra superior del Diseñador:

  1. 🎫 Soporte & Mesa de Ayuda (tickets): Botón con pausa de 3s y creación de hilo privado de ticket.
  2. 🎁 Sorteo Especial (giveaway): Botón de participación con cuenta regresiva dramática de 3s.
  3. ⭐ Membresía VIP & Donaciones (vip): Botón con comprobación condicional de Rol VIP y mensaje de rechazo privado.
  4. 🛡️ Verificación Anti-Raid (verification): Botón con temporizador de seguridad y entrega de rol de miembro verificado.