Przepływ Ally na Discord
Pipeline Ally to kanoniczna metoda aplikowania jako sojusznik przez Discord dla kogoś z gildii partnerskiej. Jest strukturalnym bliźniakiem przepływu Enlist — jedno kliknięcie kandydata otwiera prywatny ticket recenzji, recenzent uruchamia krótki kreator, aby zweryfikować, jako której postaci aplikuje, a transkrypcja archiwum trafia na forum przy zamknięciu.
Ta strona opisuje cały pipeline z perspektywy każdej roli — właściciel konfigurujący, kandydat sojuszniczy klikający przycisk, recenzent uruchamiający komendy slash. Kształt odzwierciedla ściśle Enlist; sekcja Różnice w stosunku do Enlist pod koniec opisuje, co jest specyficzne dla Ally.
Wymagania wstępne
- Bot jest sparowany z twoją gildią AO Master — patrz Instalacja + parowanie.
- Twoja gildia jest na tierze Pro lub wyższym (pipeline Sojuszu jest zablokowany za tierem).
- Osoba konfigurująca jest albo właścicielem serwera Discord, albo ma uprawnienie Zarządzanie integracjami w AO Master.
- Istnieje jedna rola Discord, która będzie pełnić funkcję "recenzenta" — każdy z tą rolą może działać na ticketach. Utwórz ją w Discord najpierw, jeśli jej jeszcze nie masz.
1. Właściciel — konfiguracja hubu Ally
Hub Ally jest provisionowany z tego samego kanału #⚙️-guild-settings co Enlist. Przypięta wiadomość Guild Settings ma teraz cztery przyciski w pierwszym wierszu: [🔍 View Config] [🎯 Manage Enlist] [💰 Manage Regear] [🤝 Enable Ally].
Kliknij zielony przycisk 🤝 Enable Ally. Pojawia się efemeryczny panel ze statusem "Not set up" i jednym działającym przyciskiem — ⚙ Setup.
Kreator konfiguracji (2 kroki)
Kreator jest identyczny kształtem do kreatora Enlist (ten sam wzorzec 2-krokowy opisany w przepływ Enlist):
- Wybierz role Discord recenzentów — dropdown wielokrotnego wyboru z rolami Discord serwera z liczbami członków na żywo. Kreator odrzuca
@everyonei zarządzane role botów. Każdy z jedną z wybranych ról zobaczy tickety sojuszników i będzie mógł uruchamiać/ally review//ally reject//ally done. - Potwierdź — krótka karta potwierdzenia wyświetlająca, co zostanie utworzone: kanał
#🤝-ally-here+ kategoria🤝 Ally, plus przypięty przycisk[Apply as Ally]. Kliknij ✅ Confirm.
Po ~5 sekundach panel ponownie renderuje się do pełnego panelu Manage Ally.
Panel Manage Ally
Panel po konfiguracji odzwierciedla panel Manage Enlist z dodatkami specyficznymi dla Ally na dole. Przyciski obejmują:
- ⚙ Reconfigure — ponowne uruchomienie selektora ról recenzentów.
- ? Edit Questions — zmiana pytań zgłoszeniowych zadawanych kandydatom sojuszniczym. (Współdzielony edytor; te same pytania pojawiają się na stronie web
/ally/<code>też.) - 📝 Edit Template / ✏️ Edit Ally Message / ✏️ Edit Ticket Message / ✏️ Edit Ally Button — dostosowanie treści przypiętej wiadomości, wiadomości powitalnej wewnątrz każdego ticketu, etykiety przycisku.
- 📋 Map Ally Channel / 📂 Map Ticket Category — wskazanie istniejących kanałów Discord / kategorii zamiast auto-tworzonych.
- 🚫 Pause Ally — zatrzymanie przyjmowania nowych kandydatów, ale zachowanie otwartych ticketów w trakcie.
- 🔄 Refresh Pinned — ponowne wyrenderowanie przypiętej wiadomości
[Apply as Ally]w#🤝-ally-here. - 🎮 Auto-Name: OFF / ON — przełącznik zmiany nicku Discord przy zatwierdzeniu (domyślnie ON).
- 🔧 Rebuild — automatyczne odrzucenie każdego oczekującego kandydata sojuszniczego + wyczyszczenie kanału
#🤝-ally-herei kategorii🤝 Ally+ odtworzenie ich od nowa. Role recenzentów + dostosowania wiadomości są zachowane. - 🗑 Disable Ally — wyczyszczenie całej konfiguracji Ally po stronie Discord. Kanały Discord pozostają, ale stają się niezarządzane. Odwracalne przez ponowne uruchomienie konfiguracji.
Każde ustawienie można też edytować w web pod #Integracja Discord → Integrations → Ally (patrz Integracja Discord). Zmiany synchronizują się w obu kierunkach w czasie rzeczywistym.
2. Kandydat sojuszniczy — kliknij [Apply as Ally]
Dla wszystkich poza gildią jedynym kanałem widocznym wewnątrz kategorii 🤝 Ally jest #🤝-ally-here. Przypięta wiadomość ma przycisk [Apply as Ally] (lub twoja niestandardowa etykieta).
Gdy kandydat kliknie przycisk:
- Bot tworzy prywatny kanał nazwanym według szablonu nazwy kanału ticketu (domyślnie
🤝-ally-<discord-username>). Tylko kandydat + role recenzentów mogą go zobaczyć. - Bot publikuje wiadomość powitalną u góry ticketu — niestandardowe intro hosta + wszelkie pytania zgłoszeniowe, które host ustawił.
- Bot odpowiada efemerycznym podpowiedzią kierując kandydata do odpowiedzi na pytania w tickecie.
Kandydat wpisuje odpowiedzi jako zwykłe wiadomości Discord. Recenzenci widzą te wiadomości w tickecie; odpowiedzi NIE są przechowywane w bazie danych AO Master (żyją tylko w transkrypcji Discord).
3. Recenzent — /ally review, /ally reject, /ally done
Trzy komendy slash obsługują całą stronę recenzenta. Wszystkie trzy są zablokowane na rolach recenzentów ustawionych w panelu Manage Ally.
/ally review
Uruchom wewnątrz kanału ticketu sojusznika. Otwiera kreator:
- Wybierz postać z sojuszu — dropdown wyświetlający postacie z gildii partnerskich twojego sojuszu. Kandydat deklaruje, jako której postaci aplikuje; selektor jest ograniczony do gildii partnerskich sojuszu, więc recenzent nie może przypadkowo zatwierdzić kogoś z gildii niepartnerskiej.
- Potwierdź — karta podsumowania pokazuje wybraną postać + jej macierzystą gildię partnerską (ustalona na żywo z API Albion). Kliknij ✅ Confirm.
Po potwierdzeniu:
- Wiersz sojusznika jest dodawany do
#Sojusznicypo stronie web AO Master (status: Linked). - Bot dodaje rolę AO Ally do konta Discord kandydata (tworzona automatycznie przy pierwszym włączeniu Ally; kolorowana pasująco do chipa Ally Role).
- Jeśli istnieje mapowanie roli Partnera dla wybranej gildii macierzystej, bot przyznaje też tę rolę (np. kandydat z "Cozy Chilipi" dostaje zarówno AO Ally + rolę Cozy Chilipi).
- Jeśli Auto-Name jest ON, bot zmienia nickname Discord kandydata na pasujący do wybranej postaci Albion.
/ally reject
Uruchom gdziekolwiek recenzenci mogą publikować (zazwyczaj wewnątrz ticketu). Użycie:
/ally reject user:@<kandydat> reason:<opcjonalny powód>- Oczekujące zgłoszenie dołączenia kandydata zmienia status na Rejected.
- Bot wysyła DM kandydatowi z powodem (lub domyślnym, jeśli go pominąłeś).
- Ticket zamyka się natychmiast; transkrypcja NIE jest archiwizowana (zamknięcia przez odrzucenie pomijają forum archiwum celowo — odrzucone tickety to szum).
/ally done
Uruchom wewnątrz ticketu PO tym, jak /ally review zatwierdził kandydata. Dzieją się dwie rzeczy:
- Pełna rozmowa ticketu jest kopiowana — z oryginalnymi nazwami autorów + awatarami + każdym załączonym plikiem — do prywatnego wątku forum wewnątrz kanału forum
🗄-ally-archive. Forum + webhook, z którego bot korzysta do publikowania, są tworzone automatycznie przy pierwszym uruchomieniu/ally done(gildia, która nigdy nie archiwizuje, nie posiada pustego forum). - Kanał ticketu jest usuwany.
Tytuł wątku archiwum pasuje do nazwy kanału ticketu, więc recenzenci mogą później przeszukiwać forum według nazwy użytkownika.
4. Różnice w stosunku do Enlist
Oba przepływy współdzielą strukturalny szkielet, ale Ally ma kilka różnic, których nie ma po stronie Enlist:
| Aspekt | Enlist | Ally |
|---|---|---|
| Blokada tierem | Free tier i wyżej | Tier Pro i wyżej |
| Selektor postaci | Wolne wyszukiwanie po Albion | Selektor rostera sojuszu (ograniczony do gildii partnerskich) |
| Rola przyznana przy zatwierdzeniu | Rola Discord z tabeli mapowania | Uniwersalna rola AO Ally + opcjonalna rola Partnera na podstawie gildii macierzystej |
| Wizualny znacznik w web | Zwykła rola AO Master | Chip Ally Role (etykieta + kolor) |
| Kanał rostera w web | #Członkowie | #Sojusznicy |
| Cron dezercji | n/d | Codzienne sprawdzenie; zmienia status na Left alliance, gdy gildia macierzysta sojusznika opuszcza sojusz — patrz Synchronizacja roli sojusznika |
| Komendy slash | /enlist review, /enlist reject, /enlist done | /ally review, /ally reject, /ally done |
| Domyślny kanał przypięty | #📋-enlist-here | #🤝-ally-here |
| Prefiks kanału ticketu | 🎯-enlist-… | 🤝-ally-… |
| Forum archiwum | apply-archive | 🗄-ally-archive |
Wszystko, czego nie ma w tabeli, działa tak samo — ten sam kształt kreatora konfiguracji, ten sam układ panelu, ten sam przepływ transkrypcji archiwum, ta sama semantyka Pause / Rebuild / Disable.
5. Gdy funkcja Sojuszu jest "wstrzymana"
Sojusz jest zablokowany za tierem Pro. Jeśli twoja gildia spadnie z Pro do niższego tieru (wygaśnięcie subskrypcji, downgrade), pipeline wchodzi w tryb wstrzymania:
- Przycisk 🤝 Enable Ally na
#⚙️-guild-settingsjest zastąpiony wyszarzonym stanem[🔒 Alliance — Pro tier needed]. - Istniejące tickety sojusznicze pozostają otwarte, ale nowi kandydaci nie mogą aplikować.
- Cron dezercji jest wstrzymany (twój roster nie rotuje tylko dlatego, że obniżyłeś tier).
- Istniejący sojusznicy zachowują swoją rolę AO Ally i wiersz rostera.
Przywrócenie tieru Pro automatycznie przełącza pipeline z powrotem do aktywnego — ponowna konfiguracja nie jest potrzebna.
6. Lustrzane odbicie po stronie web
Każde ustawienie na panelu Manage Ally Discord żyje też pod #Integracja Discord → Integrations → Ally w web (patrz Integracja Discord). Ustawienia wielopowierzchniowe (przełącznik Przyjmuj nowych kandydatów, Niestandardowe pytania zgłoszeniowe, chip Ally Role) żyją w Ustawienia → Rekrutacja (zewnętrzna zakładka Sojusznik) i są też widoczne na podstronie Ally Integracji Discord pod kartą Powiązane ustawienia.
Wybierz tę powierzchnię, która jest wygodna — synchronizują się w czasie rzeczywistym przez ten sam kanał.
Powiązane strony
- Przepływ Enlist na Discord — odpowiednik po stronie Członka (z pełnymi zrzutami ekranu Discord per krok; kształt Ally je odzwierciedla).
- Ustawienia → Rekrutacja — zewnętrzna zakładka Sojusznik (pytania zgłoszeniowe + chip Ally Role + kody zaproszeniowe).
- Integracja Discord — hub z parowaniem (podstrona Ally żyje pod zakładką Integrations).
- Referencja kanału #Sojusznicy — strona rostera po stronie hosta.
- Członkowie — Sojusz — widok po stronie kandydata.
- Discord — Dodatek z komendami slash — pełna referencja każdej komendy slash, w tym
/ally review//ally reject//ally done.