Процесс Ally в Discord
Конвейер Ally — стандартный способ для участника гильдии-партнёра подать заявку как союзник через Discord. Это структурный близнец процесса Записаться — один клик кандидата открывает приватный тикет проверки, проверяющий запускает короткий мастер, чтобы подтвердить, за какого персонажа подаётся заявка, и архивный транскрипт попадает в форум при закрытии.
Эта страница разбирает весь конвейер с точки зрения каждой роли — владелец настраивает, кандидат-союзник нажимает кнопку, проверяющий выполняет slash-команды. Форма почти идентична Записаться; раздел Отличия от Записаться в конце указывает на специфику Ally.
Предварительные условия
- Бот соединён с вашей гильдией AO Master — см. Установка + соединение.
- Ваша гильдия на тире Pro или выше (конвейер Альянс ограничен тиром).
- Человек, выполняющий настройку, является Discord-владельцем сервера или имеет право Manage Integrations в AO Master.
- Существует одна Discord-роль, которая будет выступать «проверяющей» — любой с этой ролью может действовать с тикетами. Создайте её в Discord заранее, если ещё нет.
1. Владелец — настройка хаба Ally
Хаб Ally создаётся из того же канала #⚙️-guild-settings, что и Записаться. Закреплённое сообщение Guild Settings теперь имеет четыре кнопки в первой строке: [🔍 View Config] [🎯 Manage Enlist] [💰 Manage Regear] [🤝 Enable Ally].
Нажмите зелёную кнопку 🤝 Enable Ally. Появится эфемерная панель со статусом «Not set up» и единственной рабочей кнопкой — ⚙ Setup.
Мастер настройки (2 шага)
Мастер идентичен по форме мастеру настройки Записаться (тот же двухшаговый паттерн, описанный в Процессе Записаться):
- Pick reviewer Discord roles — выпадающий список с мультивыбором Discord-ролей вашего сервера с количеством участников в реальном времени. Мастер отказывает в выборе
@everyoneи управляемых ботом ролей. Любой с одной из выбранных ролей будет видеть тикеты союзников и сможет запускать/ally review//ally reject//ally done. - Confirm — краткая карточка подтверждения с перечнем того, что будет создано: канал
#🤝-ally-here+ категория🤝 Ally, плюс закреплённая кнопка[Apply as Ally]. Нажмите ✅ Confirm.
Примерно через 5 секунд панель перерисовывается в полную панель управления Manage Ally.
Панель управления Manage Ally
Постнастроечная панель отражает панель Manage Enlist с дополнениями, специфичными для Ally, внизу. Кнопки включают:
- ⚙ Reconfigure — повторно запустить выбор ролей проверяющих.
- ? Edit Questions — изменить вопросы заявки для кандидатов-союзников. (Общий редактор; те же вопросы отображаются и на web-странице
/ally/<code>.) - 📝 Edit Template / ✏️ Edit Ally Message / ✏️ Edit Ticket Message / ✏️ Edit Ally Button — настроить тело закреплённого сообщения, приветственное сообщение внутри каждого тикета, метку кнопки.
- 📋 Map Ally Channel / 📂 Map Ticket Category — направить закреплённую кнопку или новые тикеты на существующие Discord-каналы / категории вместо автосозданных.
- 🚫 Pause Ally — прекратить приём новых кандидатов, но оставить текущие тикеты открытыми.
- 🔄 Refresh Pinned — перерисовать закреплённое сообщение
[Apply as Ally]в#🤝-ally-here. - 🎮 Auto-Name: OFF / ON — переключить переименование Discord-никнейма при одобрении (по умолчанию ON).
- 🔧 Rebuild — автоматически отклонить всех ожидающих кандидатов-союзников + очистить канал
#🤝-ally-hereи категорию🤝 Ally+ пересоздать их. Роли проверяющих + настройки сообщений сохраняются. - 🗑 Disable Ally — очистить всю конфигурацию Ally Discord-стороны. Каналы Discord остаются, но становятся неуправляемыми. Обратимо повторным запуском настройки.
Каждую настройку можно также изменить на web-стороне в #Интеграция Discord → Integrations → Ally (см. Интеграция Discord). Изменения синхронизируются в обе стороны в реальном времени.
2. Кандидат-союзник — нажимает [Apply as Ally]
Для всех за пределами гильдии единственный видимый канал внутри категории 🤝 Ally — это #🤝-ally-here. В закреплённом сообщении есть кнопка [Apply as Ally] (или ваша пользовательская метка).
Когда кандидат нажимает кнопку:
- Бот создаёт приватный канал по шаблону имени тикета (по умолчанию
🤝-ally-<discord-username>). Видеть его могут только кандидат + роли проверяющих. - Бот публикует Welcome message в начале тикета — пользовательское вступление принимающей гильдии + вопросы заявки, если они заданы.
- Бот отвечает эфемерным nudge, направляя кандидата отвечать на вопросы в тикете.
Кандидат вводит ответы как обычные Discord-сообщения. Проверяющие видят эти сообщения в тикете; ответы не хранятся в базе данных AO Master (они живут только в транскрипте Discord).
3. Проверяющий — /ally review, /ally reject, /ally done
Три slash-команды охватывают всю сторону проверяющего. Все три ограничены ролями проверяющих, установленными в панели Manage Ally.
/ally review
Выполняется внутри канала-тикета союзника. Открывает мастер:
- Pick character from alliance — выпадающий список персонажей из ваших гильдий-партнёров альянса. Кандидат заявляет, за какого персонажа подаёт заявку; список ограничен гильдиями-партнёрами альянса, чтобы проверяющий не мог случайно одобрить кого-то из гильдии, не являющейся партнёром.
- Confirm — сводная карточка показывает выбранного персонажа + его исходную гильдию-партнёра (определяется в реальном времени из API Albion). Нажмите ✅ Confirm.
После подтверждения:
- Строка союзника добавляется в
#Alliesна web-стороне AO Master (статус: Linked). - Бот добавляет роль AO Ally к Discord-аккаунту кандидата (создаётся автоматически при первом включении Ally; цвет соответствует настроенному чипу Ally Role).
- Если для выбранной исходной гильдии существует маппинг Partner Role, бот также выдаёт эту роль (напр., кандидат из «Cozy Chilipi» получает и AO Ally, и роль Cozy Chilipi).
- Если Auto-Name включён, бот переименовывает Discord-никнейм кандидата в соответствии с выбранным персонажем Albion.
/ally reject
Выполняется в любом месте, где проверяющие могут публиковать (обычно внутри тикета). Использование:
/ally reject user:@<applicant> reason:<optional reason>- Ожидающая заявка кандидата меняется на Rejected.
- Бот отправляет кандидату DM с причиной (или стандартной, если вы её не указали).
- Тикет закрывается немедленно; транскрипт НЕ архивируется (отклонённые закрытия пропускают архивный форум по замыслу — отклонённые тикеты являются шумом).
/ally done
Выполняется внутри тикета ПОСЛЕ того, как /ally review одобрил кандидата. Происходят два действия:
- Полная переписка тикета зеркалируется — с оригинальными именами авторов + аватарами + каждым прикреплённым файлом — в приватный форум-тред внутри форум-канала
🗄-ally-archive. Форум и webhook, который бот использует для публикации в него, создаются автоматически при первом запуске/ally done(гильдия, которая никогда ничего не архивирует, не несёт пустой форум вокруг). - Канал-тикет удаляется.
Заголовок архивного треда соответствует имени канала-тикета, чтобы проверяющие могли искать в форуме по имени пользователя.
4. Отличия от Записаться
Два конвейера используют одну и ту же структурную основу, но у Ally есть несколько особенностей, которых нет в Записаться:
| Аспект | Записаться | Ally |
|---|---|---|
| Ограничение тиром | Free тир и выше | Pro тир и выше |
| Выбор персонажа | Текстовый поиск по Albion | Выбор из реестра альянса (ограничен гильдиями-партнёрами) |
| Выдача роли при одобрении | Discord-роль из таблицы маппинга | Универсальная роль AO Ally + опциональная Partner Role на основе исходной гильдии |
| Визуальный маркер на web | Обычная роль AO Master | Ally Role chip (метка + цвет) |
| Канал реестра на web | #Members | #Allies |
| Проверка дезертирства | нет | Ежедневная проверка; меняет статус на Left alliance, когда исходная гильдия союзника покидает альянс — см. Ally Role Sync |
| Slash-команды | /enlist review, /enlist reject, /enlist done | /ally review, /ally reject, /ally done |
| Канал закреплённой кнопки по умолчанию | #📋-enlist-here | #🤝-ally-here |
| Префикс канала-тикета | 🎯-enlist-… | 🤝-ally-… |
| Архивный форум | apply-archive | 🗄-ally-archive |
Всё, что не указано в таблице, работает одинаково — тот же паттерн мастера настройки, тот же макет панели, тот же поток архивного транскрипта, та же семантика Pause / Rebuild / Disable.
5. Когда функция Альянс «приостановлена»
Альянс ограничен тиром Pro. Если ваша гильдия опускается с Pro на более низкий тир (истекает подписка, понижение тира), конвейер входит в режим приостановки:
- Кнопка 🤝 Enable Ally в
#⚙️-guild-settingsзаменяется затемнённым состоянием[🔒 Alliance — Pro tier needed]. - Существующие тикеты союзников остаются открытыми, но новые кандидаты не могут подать заявку.
- Проверка дезертирства приостанавливается (ваш реестр не меняется только из-за снижения тира).
- Существующие союзники сохраняют роль AO Ally и строку в реестре.
Восстановление тира Pro автоматически возвращает конвейер к активному состоянию — повторная настройка не нужна.
6. Зеркало на web-стороне
Каждая настройка в панели Manage Ally Discord также находится в #Интеграция Discord → Integrations → Ally на web (см. Интеграция Discord). Кросс-поверхностные настройки (переключатель Receive new applicants, Custom apply questions, чип Ally Role) находятся в Настройки → Набор (внешняя вкладка Ally) и также отображаются на странице Ally в Интеграции Discord под карточкой Related settings.
Выбирайте любую удобную поверхность — они синхронизируются в реальном времени по одному каналу.
Связанное
- Процесс Записаться в Discord — эквивалент для участников (с полными пошаговыми скриншотами Discord; форма Ally их отражает).
- Настройки → Набор — внешняя вкладка Ally (вопросы заявки + чип Ally Role + коды приглашений).
- Интеграция Discord — хаб соединённого состояния (страница Ally находится под вкладкой Integrations).
- Справочник канала #Allies — страница реестра на стороне принимающей гильдии.
- Участники — Альянс — вид со стороны кандидата.
- Discord — Справочник slash-команд — полный справочник каждой slash-команды, включая
/ally review//ally reject//ally done.