Skip to content

Flux Ally sur Discord

Le pipeline Ally est la manière canonique pour quelqu'un d'une guilde partenaire de postuler comme allié sur Discord. C'est le jumeau structurel du flux Enlist — un clic du candidat ouvre un ticket de revue privé, un évaluateur lance un court assistant pour vérifier sous quel personnage il postule, et un transcript d'archive atterrit dans un forum à la fermeture.

Cette page parcourt le pipeline complet depuis le siège de chaque rôle — owner qui le configure, candidat allié qui clique sur le bouton, évaluateur qui lance les slash commands. La forme reprend Enlist de près ; la section Différences avec Enlist vers la fin détaille ce qui est propre à Ally.

Prérequis

  • Le bot est appairé à ta guilde AO Master — voir Install + pair.
  • Ta guilde est sur le tier Pro ou supérieur (le pipeline Alliance est bloqué par le tier).
  • La personne qui le configure est soit le propriétaire du serveur Discord, soit détient la permission Manage Integrations dans AO Master.
  • Un rôle Discord existe qui servira d'« évaluateur » — quiconque a ce rôle peut agir sur les tickets. Crée-en un dans Discord d'abord si tu n'en as pas encore.

1. Owner — configurer le hub Ally

Le hub Ally est provisionné depuis le même canal #⚙️-guild-settings qu'Enlist. Le message épinglé Guild Settings a maintenant quatre boutons sur la première ligne : [🔍 View Config] [🎯 Manage Enlist] [💰 Manage Regear] [🤝 Enable Ally].

Clique sur le bouton vert 🤝 Enable Ally. Un panneau éphémère apparaît avec un statut « Not set up » et un seul bouton fonctionnel — ⚙ Setup.

Assistant de configuration (2 étapes)

L'assistant est identique en forme à l'assistant Enlist (même modèle à 2 étapes documenté sur Enlist flow) :

  1. Pick reviewer Discord roles — liste déroulante multi-sélection de tes rôles Discord avec le nombre de membres en direct. L'assistant refuse @everyone et les rôles bot gérés. Quiconque ayant l'un des rôles choisis verra les tickets ally et sera autorisé à lancer /ally review / /ally reject / /ally done.
  2. Confirm — courte carte de confirmation listant ce qui sera créé : canal #🤝-ally-here + catégorie 🤝 Ally, plus le bouton épinglé [Apply as Ally]. Clique sur ✅ Confirm.

Après ~5 secondes, le panneau se re-rend en tableau de bord Manage Ally complet.

Tableau de bord Manage Ally

Le panneau post-configuration reprend le tableau de bord Manage Enlist avec les extras propres à Ally en bas. Les boutons incluent :

  • ⚙ Reconfigure — relancer le sélecteur de rôles recruteur.
  • ? Edit Questions — changer les questions de candidature posées aux candidats alliés. (Éditeur partagé ; les mêmes questions apparaissent aussi sur la page web /ally/<code>.)
  • 📝 Edit Template / ✏️ Edit Ally Message / ✏️ Edit Ticket Message / ✏️ Edit Ally Button — personnalise le corps du message épinglé, le message de bienvenue dans chaque ticket, l'étiquette du bouton.
  • 📋 Map Ally Channel / 📂 Map Ticket Category — pointe le bouton épinglé ou les nouveaux tickets vers des canaux / catégories Discord existants plutôt que ceux créés automatiquement.
  • 🚫 Pause Ally — arrête d'accepter de nouveaux candidats mais garde les tickets en cours ouverts.
  • 🔄 Refresh Pinned — re-rend le message [Apply as Ally] épinglé dans #🤝-ally-here.
  • 🎮 Auto-Name: OFF / ON — bascule le renommage du pseudo Discord à l'approbation (activé par défaut).
  • 🔧 Rebuild — auto-rejette tous les candidats ally en attente + efface le canal #🤝-ally-here et la catégorie 🤝 Ally + les recrée à neuf. Les rôles évaluateurs + personnalisations de messages sont préservés.
  • 🗑 Disable Ally — efface toute la configuration Ally côté Discord. Les canaux Discord restent mais deviennent non-gérés. Réversible en relançant la configuration.

Chaque paramètre peut aussi être modifié sur le web depuis #Discord Integration → Integrations → Ally (voir Discord Integration). Les changements se synchronisent dans les deux sens en temps réel.


2. Candidat allié — cliquer sur [Apply as Ally]

Pour tout le monde en dehors de la guilde, le seul canal visible dans la catégorie 🤝 Ally est #🤝-ally-here. Le message épinglé a le bouton [Apply as Ally] (ou ton étiquette personnalisée).

Quand un candidat clique sur le bouton :

  1. Le bot crée un canal privé nommé selon le Ticket channel name template (par défaut 🤝-ally-<discord-username>). Seul le candidat + les rôles évaluateurs peuvent le voir.
  2. Le bot poste le Welcome message en haut du ticket — l'intro personnalisée de l'hôte + les questions de candidature éventuelles que l'hôte a configurées.
  3. Le bot répond avec une notification éphémère guidant le candidat à répondre aux questions dans le ticket.

Le candidat tape ses réponses comme des messages Discord normaux. Les évaluateurs voient ces messages dans le ticket ; les réponses ne sont pas stockées dans la base de données AO Master (elles vivent uniquement dans le transcript Discord).


3. Évaluateur — /ally review, /ally reject, /ally done

Trois slash commands couvrent tout le côté évaluateur. Les trois sont limités aux rôles évaluateurs définis dans le panneau Manage Ally.

/ally review

Lance à l'intérieur d'un canal de ticket ally. Ouvre un assistant :

  1. Pick character from alliance — une liste déroulante listant les personnages de tes guildes partenaires d'alliance. Le candidat déclare sous quel personnage il postule ; le sélecteur est limité aux guildes partenaires d'alliance pour qu'un évaluateur ne puisse pas accidentellement approuver quelqu'un d'une guilde non-partenaire.
  2. Confirm — une carte récapitulative affiche le personnage choisi + sa guilde partenaire d'origine (résolue en direct depuis l'API d'Albion). Clique sur ✅ Confirm.

À la confirmation :

  • La ligne d'allié est ajoutée à #Allies côté web AO Master (statut : Linked).
  • Le bot ajoute le rôle AO Ally au compte Discord du candidat (créé automatiquement la première fois que tu actives Ally ; coloré pour correspondre au Ally Role chip que tu as configuré).
  • Si un Partner Role mapping existe pour la guilde d'origine choisie, le bot accorde aussi ce rôle (ex. un candidat de « Cozy Chilipi » obtient à la fois AO Ally + un rôle Cozy Chilipi).
  • Si Auto-Name est activé, le bot renomme le pseudo Discord du candidat pour correspondre au personnage Albion choisi.

/ally reject

Lance n'importe où où les évaluateurs peuvent poster (généralement à l'intérieur du ticket). Utilisation :

/ally reject user:@<candidat> reason:<raison optionnelle>
  • La demande de join en attente du candidat passe à Rejected.
  • Le bot envoie un DM au candidat avec la raison (ou une raison par défaut si tu l'as ignorée).
  • Le ticket se ferme immédiatement ; le transcript n'est PAS archivé (les fermetures après rejet n'alimentent pas le forum d'archive par conception — les tickets rejetés sont du bruit).

/ally done

Lance à l'intérieur du ticket APRÈS que /ally review a approuvé le candidat. Deux choses se produisent :

  1. La conversation complète du ticket est dupliquée — avec les noms d'auteur + avatars d'origine + chaque fichier joint — dans un fil de forum privé à l'intérieur du canal forum 🗄-ally-archive. Le forum + le webhook que le bot utilise pour y poster sont créés automatiquement la première fois que /ally done tourne (une guilde qui n'archive jamais ne porte pas un forum vide).
  2. Le canal de ticket est supprimé.

Le titre du fil d'archive correspond au nom du canal de ticket pour que les évaluateurs puissent chercher dans le forum plus tard par nom d'utilisateur.


4. Différences avec Enlist

Les deux flux partagent la colonne vertébrale structurelle, mais Ally a quelques particularités qui n'existent pas côté Enlist :

AspectEnlistAlly
Blocage par tierFree tier et supérieurTier Pro et supérieur
Sélecteur de personnageRecherche en texte libre dans AlbionSélecteur de roster d'alliance (limité aux guildes partenaires)
Attribution de rôle à l'approbationRôle Discord depuis la table de mappingRôle universel AO Ally + Partner Role optionnel basé sur la guilde d'origine
Marqueur visuel sur le webRôle AO Master normalAlly Role chip (étiquette + couleur)
Canal de roster sur le web#Members#Allies
Cron de défectionn/aVérification quotidienne ; bascule le statut vers Left alliance quand la guilde d'origine de l'allié quitte l'alliance — voir Ally Role Sync
Slash commands/enlist review, /enlist reject, /enlist done/ally review, /ally reject, /ally done
Canal épinglé par défaut#📋-enlist-here#🤝-ally-here
Préfixe de canal de ticket🎯-enlist-…🤝-ally-…
Forum d'archiveapply-archive🗄-ally-archive

Tout ce qui n'est pas dans le tableau fonctionne de la même façon — même forme d'assistant de configuration, même disposition de panneau, même flux de transcript d'archive, même sémantique de Pause / Rebuild / Disable.


5. Quand la fonctionnalité Alliance est « suspendue »

Alliance est bloquée par le tier Pro. Si ta guilde descend de Pro à un tier inférieur (abonnement expiré, rétrogradation), le pipeline entre en mode suspendu :

  • Le bouton 🤝 Enable Ally sur #⚙️-guild-settings est remplacé par un état grisé [🔒 Alliance — Pro tier needed].
  • Les tickets ally existants restent ouverts mais aucun nouveau candidat ne peut postuler.
  • Le cron de défection se met en pause (ton roster ne se dégrade pas juste parce que tu as changé de tier).
  • Les alliés existants conservent leur rôle AO Ally et leur ligne de roster.

Restaurer le tier Pro remet le pipeline en actif automatiquement — pas besoin de reconfigurer.


6. Miroir côté web

Chaque paramètre du panneau Discord Manage Ally vit aussi sur #Discord Integration → Integrations → Ally sur le web (voir Discord Integration). Les paramètres inter-surfaces (toggle Receive new applicants, Custom apply questions, Ally Role chip) vivent sur Settings → Recrutement (onglet extérieur Ally) et sont aussi exposés sur la sous-page Ally de Discord Integration sous une carte Related settings.

Choisis la surface qui te convient — elles se synchronisent en temps réel via le même canal.