Flujo de Ally en Discord
El pipeline Ally es la forma canónica para que alguien de una guild socia aplique como aliado en Discord. Es el gemelo estructural del Flujo de enlist — un clic del solicitante abre un ticket de revisión privado, un revisor ejecuta un breve asistente para verificar con qué personaje está aplicando y una transcripción archivada llega a un foro al cerrar.
Esta página recorre todo el pipeline desde el asiento de cada rol — owner configurándolo, solicitante aliado haciendo clic en el botón, revisor ejecutando los slash commands. La forma refleja Enlist de cerca; la sección Diferencias respecto a Enlist cerca del final detalla lo que es exclusivo de Ally.
Requisitos previos
- El bot está emparejado con tu gremio de AO Master — ver Instalar + emparejar.
- Tu gremio está en tier Pro o superior (el pipeline de Alianza está bloqueado por tier).
- La persona que lo configura es el server owner de Discord o tiene el permiso Manage Integrations en AO Master.
- Existe un rol de Discord que actuará como "revisor" — cualquiera con ese rol puede actuar en los tickets. Créalo primero en Discord si aún no lo tienes.
1. Owner — configura el hub de Ally
El hub de Ally se aprovisiona desde el mismo canal #⚙️-guild-settings que Enlist. El mensaje fijado Guild Settings tiene ahora cuatro botones en la primera fila: [🔍 View Config] [🎯 Manage Enlist] [💰 Manage Regear] [🤝 Enable Ally].
Haz clic en el botón verde 🤝 Enable Ally. Aparece un panel efímero con un estado "No está configurado" y un solo botón funcional — ⚙ Setup.
Asistente de configuración (2 pasos)
El asistente es idéntico en forma al de Enlist (mismo patrón de 2 pasos documentado en Flujo de enlist):
- Elige los roles de Discord de revisor — desplegable de selección múltiple de los roles de Discord de tu servidor con conteos de miembros en vivo. El asistente rechaza
@everyoney los roles de bot gestionados. Cualquiera con uno de los roles elegidos verá los tickets de aliado y podrá ejecutar/ally review//ally reject//ally done. - Confirmar — tarjeta de confirmación corta listando lo que se crea: canal
#🤝-ally-here+ categoría🤝 Ally, más el botón fijado[Apply as Ally]. Haz clic en ✅ Confirm.
Tras ~5 segundos el panel se vuelve a renderizar en el panel completo Manage Ally.
Panel Manage Ally
El panel post-configuración refleja el panel Manage Enlist con los extras exclusivos de Ally al final. Los botones incluyen:
- ⚙ Reconfigure — vuelve a ejecutar el selector de roles de reclutador.
- ? Edit Questions — cambia las preguntas de solicitud que se hacen a los solicitantes aliados. (Editor compartido; las mismas preguntas se muestran también en la página web
/ally/<code>.) - 📝 Edit Template / ✏️ Edit Ally Message / ✏️ Edit Ticket Message / ✏️ Edit Ally Button — personaliza el cuerpo del mensaje fijado, el mensaje de bienvenida dentro de cada ticket, la etiqueta del botón.
- 📋 Map Ally Channel / 📂 Map Ticket Category — apunta el botón fijado o los nuevos tickets a canales / categorías de Discord existentes en vez de los creados automáticamente.
- 🚫 Pause Ally — deja de aceptar nuevos solicitantes pero mantiene abiertos los tickets en curso.
- 🔄 Refresh Pinned — vuelve a renderizar el mensaje fijado
[Apply as Ally]en#🤝-ally-here. - 🎮 Auto-Name: OFF / ON — activa o desactiva el cambio de apodo de Discord al aprobar (por defecto ON).
- 🔧 Rebuild — rechaza automáticamente a cada solicitante aliado pendiente + borra el canal
#🤝-ally-herey la categoría🤝 Ally+ los recrea desde cero. Los roles de revisor + personalizaciones de mensajes se conservan. - 🗑 Disable Ally — borra toda la configuración del lado Discord de Ally. Los canales de Discord permanecen pero quedan sin gestión. Reversible volviendo a ejecutar la configuración.
Cada ajuste también puede editarse en la web en #Discord Integration → Integrations → Ally (ver Configuración → Integración Discord). Los cambios se sincronizan en ambas direcciones en tiempo real.
2. Solicitante aliado — haz clic en [Apply as Ally]
Para todos los que están fuera del gremio, el único canal que pueden ver dentro de la categoría 🤝 Ally es #🤝-ally-here. El mensaje fijado tiene el botón [Apply as Ally] (o tu etiqueta personalizada).
Cuando un solicitante hace clic en el botón:
- El bot crea un canal privado con el nombre según la Ticket channel name template (por defecto
🤝-ally-<discord-username>). Solo el solicitante + los roles de revisor pueden verlo. - El bot publica el Welcome message en la parte superior del ticket — la intro personalizada del anfitrión + cualquier pregunta de solicitud que tenga configurada.
- El bot responde con un recordatorio efímero dirigiendo al solicitante a responder las preguntas en el ticket.
El solicitante escribe sus respuestas como mensajes regulares de Discord. Los revisores ven esos mensajes en el ticket; las respuestas no se almacenan en la base de datos de AO Master (solo viven en la transcripción de Discord).
3. Revisor — /ally review, /ally reject, /ally done
Tres slash commands cubren todo el lado del revisor. Los tres están controlados por los roles de revisor establecidos en el panel Manage Ally.
/ally review
Ejecuta dentro de un canal de ticket de aliado. Abre un asistente:
- Elegir personaje de la alianza — un desplegable listando personajes de tus guilds socias. El solicitante declara con qué personaje está aplicando; el selector está restringido a las guilds socias de la alianza para que un revisor no pueda aprobar accidentalmente a alguien de una guild no socia.
- Confirmar — una tarjeta de resumen muestra el personaje elegido + su guild socia de origen (resuelta en vivo desde la API de Albion). Haz clic en ✅ Confirm.
Al confirmar:
- La fila del aliado se añade a
#Alliesen el lado web de AO Master (estado: Vinculado). - El bot añade el rol AO Ally a la cuenta de Discord del solicitante (creado automáticamente la primera vez que habilitas Ally; con el color del Ally Role chip que hayas configurado).
- Si existe un Partner Role mapping para la guild de origen elegida, el bot también concede ese rol (p. ej. un solicitante de "Cozy Chilipi" obtiene tanto AO Ally como un rol de Cozy Chilipi).
- Si Auto-Name está ON, el bot cambia el apodo de Discord del solicitante para que coincida con el personaje de Albion elegido.
/ally reject
Ejecuta donde los revisores pueden publicar (normalmente dentro del ticket). Uso:
/ally reject user:@<solicitante> reason:<motivo opcional>- La solicitud de ingreso pendiente del solicitante cambia a Rejected.
- El bot envía un DM al solicitante con el motivo (o uno predeterminado si lo omitiste).
- El ticket se cierra inmediatamente; la transcripción NO se archiva (los cierres por rechazo omiten el foro de archivo por diseño — los tickets rechazados son ruido).
/ally done
Ejecuta dentro del ticket DESPUÉS de que /ally review haya aprobado al solicitante. Ocurren dos cosas:
- La conversación completa del ticket se duplica — con nombres + avatares originales + cada archivo adjunto — en un hilo de foro privado dentro del canal de foro
🗄-ally-archive. El foro + el webhook que el bot usa para publicar en él se crean automáticamente la primera vez que se ejecuta/ally done(un gremio que nunca archiva no lleva consigo un foro vacío). - El canal del ticket se elimina.
El título del hilo de archivo coincide con el nombre del canal del ticket para que los revisores puedan buscar en el foro más tarde por nombre de usuario.
4. Diferencias respecto a Enlist
Los dos flujos comparten la columna vertebral estructural, pero Ally tiene algunos giros que no existen en el lado de Enlist:
| Aspecto | Enlist | Ally |
|---|---|---|
| Bloqueo por tier | tier Free y superior | tier Pro y superior |
| Selector de personaje | Búsqueda de texto libre en Albion | Selector del roster de alianza (restringido a guilds socias) |
| Concesión de rol al aprobar | Rol de Discord de la tabla de mapeo | Rol universal AO Ally + Partner Role opcional según la guild de origen |
| Marcador visual en web | Rol regular de AO Master | Ally Role chip (etiqueta + color) |
| Canal del roster en web | #Miembros | #Allies |
| Cron de deserción | n/a | Comprobación diaria; cambia el estado a Dejó la alianza cuando la guild de origen del aliado abandona la alianza — ver Ally Role Sync |
| Slash commands | /enlist review, /enlist reject, /enlist done | /ally review, /ally reject, /ally done |
| Canal fijado por defecto | #📋-enlist-here | #🤝-ally-here |
| Prefijo del canal de ticket | 🎯-enlist-… | 🤝-ally-… |
| Foro de archivo | apply-archive | 🗄-ally-archive |
Todo lo que no está en la tabla funciona igual — misma forma del asistente de configuración, mismo esquema del panel, mismo flujo de transcripción archivada, misma semántica de Pause / Rebuild / Disable.
5. Cuando la función Alliance está "en pausa"
Alliance está bloqueada por tier en Pro. Si tu gremio baja de Pro a un tier inferior (la suscripción expira, se degrada), el pipeline entra en modo de pausa:
- El botón 🤝 Enable Ally en
#⚙️-guild-settingsse reemplaza por un estado gris[🔒 Alliance — Pro tier needed]. - Los tickets de aliado existentes permanecen abiertos pero no pueden aplicar nuevos solicitantes.
- El cron de deserción se pausa (tu roster no cambia solo porque hayas bajado de tier).
- Los aliados existentes conservan su rol AO Ally y su fila en el roster.
Restaurar el tier Pro vuelve a activar el pipeline automáticamente — no hace falta configurar nada de nuevo.
6. Espejo del lado web
Cada ajuste del panel Discord Manage Ally también vive en #Discord Integration → Integrations → Ally en la web (ver Configuración → Integración Discord). Los ajustes entre superficies (toggle Receive new applicants, Custom apply questions, Ally Role chip) viven en Configuración → Reclutamiento (pestaña externa Ally) y también se muestran en la sub-página Ally de Integración Discord bajo una tarjeta Related settings.
Elige la superficie que te resulte conveniente — se sincronizan en tiempo real por el mismo canal.
Más información
- Flujo de enlist en Discord — el equivalente del lado miembro (con capturas completas de Discord paso a paso; la forma de Ally las refleja).
- Configuración → Reclutamiento — pestaña externa Ally (preguntas de solicitud + Ally Role chip + códigos de invitación).
- Configuración → Integración Discord — hub del estado emparejado (la sub-página Ally vive bajo la pestaña Integrations).
- Referencia del canal #Allies — la página del roster del lado del anfitrión.
- Miembros — Alianza — la vista del lado del solicitante.
- Discord — Apéndice de slash commands — referencia completa de cada slash command, incluidos
/ally review//ally reject//ally done.