โฟลว์ Ally บน Discord
ไปป์ไลน์ Ally คือวิธีมาตรฐานสำหรับคนจาก partner guild ที่จะสมัครเป็น ally บน Discord เป็นแฝดเชิงโครงสร้างของ โฟลว์ Enlist — ผู้สมัครคลิกหนึ่งครั้งเปิด ticket review ส่วนตัว reviewer รัน wizard สั้น ๆ เพื่อยืนยันว่าพวกเขาสมัครในชื่อตัวละครอะไร และ archive transcript จะลงใน forum เมื่อปิด
หน้านี้ walk ตลอดไปป์ไลน์จากที่นั่งของแต่ละ role — เจ้าของ ที่กำลังตั้งค่า ผู้สมัคร Ally ที่กดปุ่ม reviewer ที่รัน slash commands โครงสร้างคล้าย Enlist มาก ส่วน ความแตกต่างจาก Enlist ใกล้ท้ายบอกสิ่งที่เป็น Ally เฉพาะ
ข้อกำหนดเบื้องต้น
- บอทถูกจับคู่กับ AO Master guild ของคุณแล้ว — ดู ติดตั้ง + จับคู่
- กิลด์ของคุณอยู่ใน Pro tier ขึ้นไป (ไปป์ไลน์ Alliance ถูกล็อกตาม tier)
- คนที่ตั้งค่าต้องเป็น เจ้าของเซิร์ฟเวอร์ Discord หรือมีสิทธิ์ Manage Integrations ใน AO Master
- มี Discord role อย่างน้อยหนึ่งตัวที่จะทำหน้าที่ "reviewer" — ใครที่มี role นั้นสามารถดำเนินการกับ ticket ได้ สร้างใน Discord ก่อนถ้ายังไม่มี
1. เจ้าของ — ตั้งค่า Ally hub
Ally hub ถูกสร้างจากช่อง #⚙️-guild-settings เดียวกับ Enlist ข้อความปักหมุด Guild Settings ตอนนี้มีสี่ปุ่มในแถวแรก: [🔍 View Config] [🎯 Manage Enlist] [💰 Manage Regear] [🤝 Enable Ally]
กดปุ่มสีเขียว 🤝 Enable Ally จะมีแผงชั่วคราวปรากฏพร้อมสถานะ "Not set up" และปุ่มทำงานเดียว — ⚙ Setup
Setup wizard (2 ขั้นตอน)
wizard มีรูปแบบเหมือนกับ Enlist setup (รูปแบบ 2 ขั้นที่บันทึกไว้ใน โฟลว์ Enlist):
- เลือก reviewer Discord roles — dropdown multi-select ของ Discord role ในเซิร์ฟเวอร์พร้อมจำนวนสมาชิก wizard ปฏิเสธ
@everyoneและ managed bot roles ใครที่มี role ที่เลือกจะเห็น ally ticket และได้รับอนุญาตให้รัน/ally review//ally reject//ally done - ยืนยัน — การ์ดยืนยันสั้น ๆ แสดงสิ่งที่จะสร้าง: ช่อง
#🤝-ally-here+ หมวด🤝 Allyบวกปุ่ม[Apply as Ally]ที่ปักหมุด กด ✅ Confirm
หลัง ~5 วินาที แผงจะ re-render เป็น dashboard Manage Ally เต็มรูปแบบ
Dashboard Manage Ally
แผงหลังตั้งค่าคล้าย dashboard Manage Enlist พร้อม extras ที่เป็น Ally เฉพาะที่ด้านล่าง ปุ่มต่าง ๆ:
- ⚙ Reconfigure — รัน recruiter-role picker ใหม่
- ? Edit Questions — เปลี่ยนคำถามสมัครที่ผู้สมัคร ally ถูกถาม (editor ที่ใช้ร่วมกัน คำถามเดียวกันแสดงบนหน้าเว็บ
/ally/<code>ด้วย) - 📝 Edit Template / ✏️ Edit Ally Message / ✏️ Edit Ticket Message / ✏️ Edit Ally Button — กำหนดเนื้อหา pinned message welcome message ใน ticket label ปุ่ม
- 📋 Map Ally Channel / 📂 Map Ticket Category — ชี้ปุ่มปักหมุดหรือ ticket ใหม่ไปยัง Discord channel / category ที่มีอยู่แทนที่สร้างอัตโนมัติ
- 🚫 Pause Ally — หยุดรับผู้สมัครใหม่แต่คง ticket ที่กำลังดำเนินอยู่เปิดไว้
- 🔄 Refresh Pinned — re-render ข้อความปักหมุด
[Apply as Ally]ใน#🤝-ally-here - 🎮 Auto-Name: OFF / ON — toggle การเปลี่ยน Discord nickname ตอนอนุมัติ (ค่าเริ่มต้น ON)
- 🔧 Rebuild — auto-reject ผู้สมัคร ally ที่รออยู่ทุกคน + ล้างช่อง
#🤝-ally-hereและหมวด🤝 Ally+ สร้างใหม่ Reviewer roles + customization ข้อความถูกเก็บไว้ - 🗑 Disable Ally — ล้าง Ally Discord-side config ทั้งหมด ช่อง Discord ยังอยู่แต่ไม่ถูกจัดการ ย้อนกลับได้โดยรัน setup ใหม่
การตั้งค่าแต่ละอย่างแก้ไขได้บนเว็บที่ #การเชื่อม Discord → Integrations → Ally ด้วย (ดู การเชื่อม Discord) การเปลี่ยนแปลงซิงค์ทั้งสองทางแบบ realtime
2. ผู้สมัคร Ally — กด [Apply as Ally]
สำหรับทุกคนที่อยู่นอกกิลด์ ช่องเดียวที่พวกเขาเห็นใน หมวด 🤝 Ally คือ #🤝-ally-here ข้อความปักหมุดมีปุ่ม [Apply as Ally] (หรือ label ที่กำหนดเอง)
เมื่อผู้สมัครกดปุ่ม:
- บอทสร้างช่อง private ตามชื่อจาก Ticket channel name template (ค่าเริ่มต้น
🤝-ally-<discord-username>) มีเฉพาะผู้สมัคร + reviewer roles ที่เห็น - บอทโพสต์ Welcome message ที่ด้านบนของ ticket — intro ที่ host กำหนดเอง + คำถามสมัครที่ host ตั้งไว้
- บอทตอบด้วยข้อความชั่วคราวแนะนำผู้สมัครให้ตอบคำถามใน ticket
ผู้สมัครพิมพ์คำตอบเป็นข้อความ Discord ปกติ Reviewer เห็นข้อความเหล่านั้นใน ticket คำตอบไม่ถูกเก็บใน AO Master database (อยู่ใน Discord transcript เท่านั้น)
3. Reviewer — /ally review, /ally reject, /ally done
Slash command สามตัวครอบคลุมทั้งฝั่ง reviewer ทั้งสามตัวถูก gate ด้วย reviewer roles ที่ตั้งใน Manage Ally panel
/ally review
รันภายใน ally ticket channel เปิด wizard:
- เลือกตัวละครจาก alliance — dropdown แสดงตัวละครจาก alliance partner ของคุณ ผู้สมัครระบุว่ากำลังสมัครในชื่อตัวละครอะไร picker ขอบเขตอยู่แค่ partner guild ของ alliance เพื่อป้องกัน reviewer อนุมัติคนจาก guild ที่ไม่ใช่ partner โดยไม่ตั้งใจ
- ยืนยัน — การ์ดสรุปแสดงตัวละครที่เลือก + partner guild บ้านของตัวละคร (resolve สด ๆ จาก Albion API) กด ✅ Confirm
เมื่อยืนยัน:
- แถว ally ถูกเพิ่มใน
#Alliesฝั่งเว็บ AO Master (สถานะ: Linked) - บอทเพิ่ม role AO Ally ให้บัญชี Discord ของผู้สมัคร (สร้างอัตโนมัติตอนเปิด Ally ครั้งแรก มีสีตรงกับ Ally Role chip ที่คุณตั้งค่าไว้)
- ถ้ามี Partner Role mapping สำหรับ home guild ที่เลือก บอทจะมอบ role นั้นด้วย (เช่น ผู้สมัครจาก "Cozy Chilipi" จะได้ทั้ง AO Ally + role Cozy Chilipi)
- ถ้า Auto-Name เปิดอยู่ บอทจะเปลี่ยน Discord nickname ของผู้สมัครให้ตรงกับตัวละคร Albion ที่เลือก
/ally reject
รันที่ไหนก็ได้ที่ reviewer โพสต์ได้ (มักอยู่ใน ticket) วิธีใช้:
/ally reject user:@<applicant> reason:<optional reason>- คำขอเข้าร่วมที่รออยู่ของผู้สมัครเปลี่ยนเป็น Rejected
- บอท DM ผู้สมัครพร้อมเหตุผล (หรือเหตุผลเริ่มต้นถ้าไม่ได้ระบุ)
- ticket ปิดทันที transcript ไม่ถูก archive (การปิด reject ข้ามการ archive forum โดยออกแบบ — ticket ที่ถูก reject เป็น noise)
/ally done
รันภายใน ticket หลัง /ally review อนุมัติผู้สมัครแล้ว สองสิ่งเกิดขึ้น:
- บทสนทนาใน ticket ทั้งหมดถูก mirror — พร้อมชื่อผู้เขียนเดิม + avatar + ทุกไฟล์แนบ — เข้า forum thread ส่วนตัวใน
🗄-ally-archiveforum channel forum + webhook ที่บอทใช้โพสต์สร้างอัตโนมัติตอน/ally doneรันครั้งแรก (กิลด์ที่ไม่เคย archive จะไม่มี forum เปล่าวางรออยู่) - ช่อง ticket ถูกลบ
ชื่อ archive thread ตรงกับชื่อช่อง ticket เพื่อให้ reviewer ค้นหา forum ทีหลังตาม username ได้
4. ความแตกต่างจาก Enlist
สอง flow ใช้โครงสร้างเดียวกัน แต่ Ally มีบางจุดที่ไม่มีฝั่ง Enlist:
| ด้าน | Enlist | Ally |
|---|---|---|
| ล็อก tier | Free tier ขึ้นไป | Pro tier ขึ้นไป |
| Character picker | ค้นหาข้อความอิสระใน Albion | Alliance roster picker (ขอบเขตอยู่แค่ partner guild) |
| Role ที่ได้เมื่ออนุมัติ | Discord role จาก mapping table | Role สากล AO Ally + role Partner ตัวเลือก ตาม home guild |
| เครื่องหมายภาพบนเว็บ | Regular AO Master role | Ally Role chip (label + สี) |
| ช่อง roster บนเว็บ | #สมาชิก | #Allies |
| defection cron | ไม่มี | ตรวจทุกวัน เปลี่ยนสถานะเป็น Left alliance เมื่อ home guild ออกจาก alliance — ดู Ally Role Sync |
| Slash commands | /enlist review, /enlist reject, /enlist done | /ally review, /ally reject, /ally done |
| ช่องปักหมุด default | #📋-enlist-here | #🤝-ally-here |
| prefix ช่อง ticket | 🎯-enlist-… | 🤝-ally-… |
| Archive forum | apply-archive | 🗄-ally-archive |
ทุกอย่างที่ไม่ได้อยู่ในตารางทำงานเหมือนกัน — รูปแบบ setup wizard เดียวกัน layout แผงเดียวกัน flow archive transcript เดียวกัน semantics Pause / Rebuild / Disable เดียวกัน
5. เมื่อฟีเจอร์ Alliance "ถูก hold"
Alliance ถูกล็อกกับ Pro tier ถ้ากิลด์ลดจาก Pro ลงมา (subscription หมดอายุ downgrade) ไปป์ไลน์จะเข้า hold mode:
- ปุ่ม 🤝 Enable Ally ใน
#⚙️-guild-settingsจะถูกแทนที่ด้วยสถานะ[🔒 Alliance — Pro tier needed]สีเทา - ticket ที่เปิดอยู่ยังคงเปิดแต่ผู้สมัครใหม่สมัครไม่ได้
- defection cron หยุดทำงาน (roster ไม่เกิดการเปลี่ยนแปลงเพียงเพราะคุณลด tier)
- ally ที่มีอยู่ยังคง role AO Ally และแถว roster ของตัวเอง
การคืน Pro tier จะเปิดไปป์ไลน์กลับมาเป็น active โดยอัตโนมัติ — ไม่ต้องตั้งค่าใหม่
6. มิเรอร์ฝั่งเว็บ
การตั้งค่าทุกอย่างใน Manage Ally Discord panel ก็มีที่ #การเชื่อม Discord → Integrations → Ally บนเว็บด้วย (ดู การเชื่อม Discord) การตั้งค่า cross-surface (toggle รับผู้สมัครใหม่ คำถามสมัครที่กำหนดเอง Ally Role chip) อยู่ที่ Settings → รับสมัครสมาชิก (แท็บนอก Ally) และถูก surface บน Discord Integration Ally sub-page ภายใต้การ์ด Related settings ด้วย
เลือก surface ที่สะดวก — ซิงค์ realtime ผ่านช่องเดียวกัน
ลิงก์ที่เกี่ยวข้อง
- โฟลว์ Enlist บน Discord — ฝั่งเทียบเท่าสำหรับสมาชิก (พร้อมภาพหน้าจอ Discord ทุกขั้นตอน รูปแบบ Ally คล้ายกัน)
- Settings → รับสมัครสมาชิก — แท็บนอก Ally (คำถามสมัคร + Ally Role chip + รหัสเชิญ)
- การเชื่อม Discord — hub ที่จับคู่แล้ว (หน้าย่อย Ally อยู่ใต้แท็บ Integrations)
- อ้างอิงช่อง #Allies — หน้า roster ฝั่ง host
- Members — Alliance — มุมมองฝั่งผู้สมัคร
- ภาคผนวก slash command Discord — reference เต็มของทุก slash command รวมถึง
/ally review//ally reject//ally done