Enlist flow บน Discord
Enlist คือทางหลักในการเข้ากิลด์ AO Master จาก Discord ผู้สมัครคลิกหนึ่งครั้งเปิด ticket ตรวจสอบส่วนตัว recruiter เดิน wizard สั้น ๆ เพื่อยืนยันตัวละคร Albion มอบวอร์โรลเริ่มต้น และสร้างบัญชี AO Master ในขั้นเดียว จากนั้น recruiter ปิด ticket และ transcript เต็มไปอยู่ใน forum channel เพื่อเก็บประวัติ
หน้านี้พา pipeline ทั้งหมด — ตั้งแต่ owner ตั้งครั้งแรก ตั้งแต่ ผู้สมัคร คลิกปุ่ม จนถึง recruiter รัน slash command สองอันที่อนุมัติและปิด แต่ละช่วงมีเซกชันของตัวเองด้านล่าง
สิ่งที่ต้องเตรียมก่อน
- บอทจับคู่กับกิลด์ AO Master แล้ว — ดู ติดตั้ง + จับคู่
- คนที่ตั้งค่าเป็น server owner ของ Discord หรือมีสิทธิ์ Manage Integrations ใน AO Master
- มี Discord role 1 อันที่จะรับบท "recruiter" — ใครที่มี role นั้นรีวิว ticket ได้ ถ้ายังไม่มีให้สร้างใน Discord ก่อน
1. Owner — ตั้ง Enlist hub
hub ถูก provision จาก #⚙️-guild-settings คลิกสองครั้งเพื่อเปิดแผง Manage Enlist อีกสองครั้งเลือก role recruiter และยืนยัน บอทสร้างช่อง
เปิดแผง Manage Enlist
เปิด #⚙️-guild-settings แล้วคลิกปุ่มสีเขียว 🎯 Enable Enlist ในข้อความ pinned Guild Settings (ปุ่มอ่านว่า 🎯 Manage Enlist เมื่อตั้ง Enlist แล้ว) แผง ephemeral ปรากฏ:

ปุ่มเหล่านั้นส่วนใหญ่จะเทาทำงานไม่ได้จนกว่า provisioning จะเสร็จ คลิกปุ่มสีเขียว ⚙ Setup ในแถว 1
ขั้น 1 — เลือก Discord role ของ recruiter
หน้าจอแรกของ wizard ถามว่า Discord role อันไหนรีวิว ticket ได้

เปิด dropdown เพื่อดู role ของเซิร์ฟเวอร์พร้อมจำนวนสมาชิก live ข้างชื่อ:

เลือกหนึ่งหรือหลาย role ใครก็ตามที่มี role เหล่านี้จะเห็น ticket ของผู้สมัครและรัน /enlist review กับ /enlist done ใน ticket ได้ หลังคลิกออกจาก dropdown wizard ไปต่อเอง
อย่าเลือก @everyone หรือ role ของบอทที่ระบบจัดการ
wizard ปฏิเสธทั้งคู่ — ผู้สมัครจะเห็น ticket ทุกอันซึ่งทำลายความเป็นส่วนตัวของช่องต่อผู้สมัครหนึ่งคน
ขั้น 2 — ยืนยัน
การ์ดยืนยันสั้น ๆ แสดงรายการสิ่งที่กำลังจะเกิด

คลิก ✅ Confirm การ์ดเปลี่ยนเป็น state ทำงานขณะบอทสร้างช่อง (โดยทั่วไปไม่ถึง 5 วินาที)

เสร็จ — แผง re-render เป็น state "Accepting applicants"
เมื่อ provisioning เสร็จ ข้อความเดิมอัปเดตอีกครั้ง คราวนี้เป็นแดชบอร์ด Manage Enlist เต็ม:

sidebar Discord ของคุณตอนนี้มี category 🎯 Enlist ใหม่พร้อมช่องเดียวข้างใน — #📋-enlist-here forum archive ยังไม่มีโดยตั้งใจ: สร้างเมื่อ recruiter รัน /enlist done ครั้งแรก เพื่อไม่ให้กิลด์ที่ไม่เคย archive มี forum ว่างค้างไว้
ปิดแผงนี้ด้วย ✖ Close ปรับแต่งข้อความ pinned, ticket welcome body, ป้ายปุ่ม หรือ template ชื่อช่องสำหรับ ticket ใหม่ ให้กลับมาผ่าน #⚙️-guild-settings → 🎯 Manage Enlist แล้วใช้ปุ่ม Edit … ที่ตรงกัน — หรือเปลี่ยนการตั้งค่าเดียวกันบนเว็บที่ Management → การเชื่อม Discord → Enlist
2. ผู้สมัคร — คลิก [Enlist]
สำหรับทุกคนที่ยังไม่อยู่ในกิลด์ จุดเข้าคือ #📋-enlist-here — ช่องเดียวที่พวกเขาเห็นใน category 🎯 Enlist
![มุมมองช่อง Discord ของ #📋-enlist-here sidebar ซ้ายแสดงเซิร์ฟเวอร์ Minion Test พร้อม category: Events, Server Boosts, # welcome, ▼ AO Master (มี #⚙️-guild-settings), ▼ Enlist (มี #📋-enlist-here ที่เลือกอยู่) แผงหลัก: intro ของช่อง "Welcome to # 📋-enlist-here" และข้อความ pinned ของบอทชื่อ "📋 Enlist into this guild — Click below to open a private review ticket with our recruiters. They'll chat with you about your build, schedule, and what region/timezone you play. The ticket is only visible to you and the recruiter team." ปุ่มน้ำเงิน [✉ Enlist] อยู่ใต้ข้อความ](/images/discord-enlist-flow/05-enlist-here-pinned.jpg)
คลิก [✉ Enlist] Discord แสดง indicator "thinking" สั้น ๆ ขณะบอทสร้างช่องส่วนตัวของคุณ:

หนึ่งวินาทีต่อมาบอทตอบด้วยลิงก์ไป ticket ใหม่ (เห็นเฉพาะคุณ):

คลิกลิงก์ช่อง คุณอยู่ใน ticket ตรวจสอบส่วนตัวของคุณแล้ว บอท tag คุณและ role recruiter และโพสต์ข้อความต้อนรับพร้อม checklist สิ่งที่ต้องบอก recruiter:

จากนี้เป็นการสนทนา Discord ปกติ — ตอบคำถาม ถามอะไรก็ได้เกี่ยวกับกิลด์ รอ recruiter ตอบ ticket ไม่มีอายุ ค้างอยู่จนกว่า recruiter ปิด
ชื่อช่องมาจาก template
ค่า default ticket channel ชื่อ enlist-{your-discord-username} (ดังนั้นในตัวอย่างกลายเป็น #enlist-siam-bot) owner เปลี่ยน template ผ่าน 🎯 Manage Enlist → 📝 Edit Template ได้ — placeholder {user} แทน username Discord ของผู้สมัคร และ {number} คือ counter ที่นับทุก ticket ใหม่ ชื่อช่องจริงในกิลด์ของคุณขึ้นกับสิ่งที่ owner เลือก
3. Recruiter — รัน /enlist review
เมื่อการสนทนาใน ticket ไปถึงจุด "ตกลง รับคนนี้เข้ามา" recruiter เปลี่ยนจาก chat เป็น slash-command wizard ทุกอย่างด้านล่างเป็น ephemeral — เห็นเฉพาะคุณ ผู้สมัครไม่เห็น
พิมพ์ /enlist เพื่อดู Enlist subcommand สาม:

เลือก /enlist review แล้วกด Enter
ขั้น 1 — หาตัวละคร Albion ของผู้สมัคร
modal เปิดถามชื่อตัวละครของผู้สมัคร

พิมพ์ชื่อที่ผู้สมัครบอกคุณ การ match บางส่วนใช้ได้ — บอทเรียก live search API ของ Albion แล้วได้ผลลัพธ์มาสูงสุดสิบราย

คลิก Submit
ขั้น 2 — เลือกตัวละครที่ถูกต้องจากผลค้นหา
บอทแทนที่ modal ด้วยการ์ดผลลัพธ์ candidate แต่ละคนแสดงชื่อในเกม + Albion ID + กิลด์ที่สังกัด (หรือ 🏃 Solo)

เปิด dropdown เพื่อเลือก:

ถ้าคนที่ใช่ไม่อยู่ในหน้านี้ — หรือถ้าคุณรู้ Albion character_id ของเขาแล้ว (เช่นจากบทสนทนาใน ticket) — ใช้ตัวช่วยใต้ dropdown:
- 🔁 Search again เปิด modal ค้นหาอีกครั้งด้วยชื่อใหม่
- 📝 Enter ID directly เปิด modal ที่คุณวาง Albion
character_id(สตริง hex 32 ตัว) ใช้เมื่อชื่อในเกมมีอักขระพิเศษหรือผลลัพธ์เยอะเกินไป - < Back / Next > เลื่อนหน้าเมื่อผลลัพธ์มีมากกว่าสิบ
ขั้น 3 — ยืนยันตัวละคร
หลังเลือก บอทแสดงสรุปบรรทัดเดียวให้คุณตรวจทาน
![Discord ephemeral message ชื่อ "🛡 Step 3 — Confirm character" ด้านล่าง: "Discord user: @TheGamer", "Albion: 🎮 Zilo [_7ocp2L3QBO9MNk3sZGmKw] · ASIA · ⚔ MIN1ONS" หมายเหตุตัวเอียง: "Confirm to lock in this character and move to war-role selection." สามปุ่ม: ✅ Confirm character (เขียว) · 🔁 Re-select · Cancel](/images/discord-enlist-flow/09-review-step3-summary.jpg)
ถ้าไม่ตรงกับที่ผู้สมัครบอก คลิก 🔁 Re-select กลับไป dropdown ผลลัพธ์ ไม่อย่างนั้นคลิก ✅ Confirm character
ขั้น 4 — มอบวอร์โรล (ไม่บังคับ)
บอทโหลดรายการวอร์โรลของกิลด์จาก Settings → War Roles บนเว็บแล้วแสดงเป็น multi-select
![Discord ephemeral message ชื่อ "🛡 Step 4 — War roles" บรรทัด: "🛡 Zilo [_7ocp2L3QBO9MNk3sZGmKw]" เนื้อหา: "Pick the war roles to assign on approval. Skip to leave the applicant without war roles (staff can add them later from the Members panel)." dropdown "Pick war roles (multiple allowed)" (ย่ออยู่) ปุ่มด้านล่าง: Skip — no war roles · 🔙 Back · Cancel](/images/discord-enlist-flow/10-review-step4-war-roles.jpg)
เปิด dropdown เพื่อดูตัวเลือก — ตรงตามวอร์โรลที่ตั้งไว้ฝั่งเว็บ

ติ๊กส่วนผสมใดก็ได้ role ที่เลือกแสดงเป็นชิปใต้ dropdown:

ไม่ต้องเลือกที่นี่ก็ได้
Skip — no war roles เป็นทางเลือกปกติ — recruiter มักมอบวอร์โรลภายหลังจากแผง #Members บนเว็บเมื่อได้เห็นสมาชิกใหม่เล่นแล้ว ถ้ากิลด์ยังไม่ได้ตั้งวอร์โรลใด ๆ dropdown นี้จะว่าง Skip เป็นตัวเลือกเดียว
หลังเลือก (หรือข้าม) wizard ไปขั้นสุดท้าย
ขั้น 4.5 — เลือก locker (เฉพาะเมื่อกิลด์บังคับ)
ถ้ากิลด์เปิด Require Locker ไว้ (เว็บ: Settings → Lockers) wizard แทรกขั้นเลือก locker เพิ่มระหว่างวอร์โรลกับการอนุมัติสุดท้าย จะเห็นการ์ดถามว่ากลุ่ม locker ไหน พร้อมตัวเลือก ⚡ Quick Assign ที่เลือก locker ที่ว่างที่สุดให้อัตโนมัติ เลือกกลุ่ม → เลือก locker → ไปต่อ
กิลด์ที่ไม่ได้ track locker ข้ามขั้นนี้ทั้งหมด
ขั้น 5 — อนุมัติสุดท้าย
การ์ดสรุปรวมการตัดสินใจทุกอย่างไว้ให้คุณ sanity-check ก่อนกด
![Discord ephemeral message ชื่อ "🛡 Step 5 — Approve applicant" สี่แถวข้อมูล: Discord user: @TheGamer · Albion: 🛡 Zilo [_7ocp2L3QBO9MNk3sZGmKw] · ASIA · ⚔ MIN1ONS · Web role: Member (guild default) · War roles: DPS, SUPPORT, TANK หมายเหตุตัวเอียง: "On approve: member is created, character is linked, default web role + selected war roles are assigned, the join request is marked approved." ปุ่ม: ✅ Approve (เขียว) · 🔙 Back · Cancel](/images/discord-enlist-flow/11-review-step5-final-approve.jpg)
คลิก ✅ Approve
ยังไม่ได้ตั้ง web role เริ่มต้น?
ถ้าคุณยังไม่ได้ตั้ง web role "guild default" ที่ Settings → Roles → Use as default การ์ดอนุมัติจะเปลี่ยนบรรทัด Web role เป็นคำเตือน และบอทสร้างผู้สมัครโดย ไม่มี web role ใด ๆ เขาจะยังเป็นสมาชิกของกิลด์ แต่ไม่มีสิทธิ์ใด ๆ — คุณต้องมอบ role ให้จากแผง #Members บนเว็บหลังอนุมัติ
4. หลัง Approve — ticket ยังเปิดอยู่
ข้อความ wizard ทั้งหมดเป็น ephemeral สิ่งแรกที่ทุกคน (ผู้สมัคร + recruiter) เห็นใน ticket channel คือการยืนยันสาธารณะของบอท:

ไม่กี่วินาทีต่อมา ผู้สมัครได้รับ Discord role ที่กำหนดผ่านสาย role sync เว็บ ↔ Discord ถ้า Auto-Name เปิด (toggle ในแผง Manage Enlist) ชื่อเล่น Discord บนเซิร์ฟเวอร์นี้ของเขาจะเปลี่ยนเป็นชื่อตัวละคร Albion
ช่องไม่ปิดอัตโนมัติเมื่อ Approve โดยตั้งใจ — recruiter มักอยากคุยกับผู้สมัครต่อหลังอนุมัติ (ต้อนรับ, "นี่มารยาท discord ของเรา", นัดอีเวนต์แรก ฯลฯ) ปิดช่องเมื่อพร้อม — โดยรัน /enlist done
5. Recruiter — ปิดด้วย /enlist done
เมื่อคุยใน ticket จบ พิมพ์ /enlist done:

กด Enter บอทตอบแบบ ephemeral แล้วลบช่อง:

ticket channel หายไปภายในหนึ่งหรือสองวินาที ก่อนหายไป บอท mirror ทุกข้อความในการสนทนาเข้าไปใน forum thread ใน archive forum ที่จัดการอัตโนมัติ:

forum ค่า default คือ 🗄 enlist-archive (ถ้าคุณเปลี่ยน template ชื่อช่องให้ขึ้นต้นด้วยคำอื่น เช่น apply-{user} ชื่อ forum จะ match — 🗄 apply-archive) ticket ที่ปิดแต่ละอันกลายเป็น thread หนึ่งอันที่ tag ✅ Approved หรือ ❌ Rejected พร้อมชื่อ recruiter และชื่อช่องเดิมในเนื้อหา transcript เก็บชื่อ avatar timestamp และไฟล์แนบของเจ้าของข้อความเดิมไว้
ค้นหาใบสมัครเก่า เปิด forum แล้วใช้แถบค้นหาหรือกรอง tag ด้านบน
ปฏิเสธผู้สมัคร
ปฏิเสธสองทาง:
- slash command
/enlist reject— ส่งผู้สมัครด้วยuser:@theirnameและเสริมreason:why(ไม่บังคับ) บอท DM ผู้สมัครพร้อมเหตุผล (ถ้าใส่) ปิด ticket และ archive transcript เหมือน/enlist done— แต่ thread ผลลัพธ์ใน forum tag ❌ Rejected แทน ✅ Approved - Cancel กลางการรีวิว — ถ้าคลิก Cancel ที่ไหนใน wizard
/enlist reviewwizard ปิดแต่ ticket ยังเปิด ผู้สมัครไม่รู้ว่าคุณเกือบอนุมัติ ตัดสินใจต่างหากแล้วรัน/enlist rejectหรือปิดบทสนทนาอย่างสุภาพก่อน
ไม่มีปุ่ม Reject ใน ticket บนการ์ดอนุมัติ — ปุ่ม Cancel แค่ปิด wizard ไม่ได้ปฏิเสธผู้สมัคร โดยตั้งใจ: ปฏิเสธต้องเป็นการตัดสินใจครั้งที่สองอย่างจงใจ
ปรับแต่ง pipeline
ทุกอย่างด้านล่างมาจากแผง 🎯 Manage Enlist (#⚙️-guild-settings → 🎯 Manage Enlist) หรือหน้าเว็บที่เทียบเท่าที่ Management → การเชื่อม Discord → Enlist ทั้งสองแก้ config ตัวเดียวกัน
| ตัวควบคุม | เปลี่ยนอะไร |
|---|---|
| ⚙ Reconfigure | เปลี่ยน Discord role ของ recruiter รัน wizard ขั้น 1 / ขั้น 2 อีกครั้ง |
| ❓ Edit Questions | สูงสุด 3 คำถามสั้นที่แสดงให้ผู้สมัครเป็น modal ก่อน ticket เปิด คำตอบโพสต์เข้า ticket เป็นข้อความแยกเพื่อให้ recruiter เห็นทันที |
| 📝 Edit Template | template ชื่อช่องสำหรับ ticket ใหม่แต่ละอัน ค่า default enlist-{user} placeholder: {user} (Discord username ของผู้สมัคร), {number} (counter ต่อกิลด์) |
| ✏ Edit Enlist Message | body pinned ใน #📋-enlist-here — สิ่งที่ผู้สมัครอ่านก่อนคลิกปุ่ม |
| ✏ Edit Ticket Message | body "While you wait, please tell us:" ที่โพสต์ภายใน ticket ใหม่ทุกอัน |
| ✏ Edit Enlist Button | ป้ายปุ่ม ค่า default "Enlist" บางกิลด์เลือก "Apply" หรือคำที่แปลเป็นภาษาท้องถิ่น |
| 📋 Map Enlist Channel / 📂 Map Ticket Category | ชี้ pipeline ไปที่ช่อง/category Discord เดิมแทน default ที่บอทสร้าง ไม่ทำลาย — ที่เดิมยังอยู่ |
| 🚫 Pause Enlist | หยุดรับผู้สมัครใหม่ชั่วคราว ticket เดิมยังทำงาน toggle ปิดด้วยปุ่มเดียวกัน (จะเปลี่ยนเป็น ✅ Resume Enlist) |
| 🔄 Refresh Pinned | โพสต์ปุ่ม [Enlist] pinned ใน #📋-enlist-here ใหม่ ใช้ถ้า Discord admin เผลอลบ |
| 🎮 Auto-Name: ON / OFF | เมื่อ ON /enlist review จะเปลี่ยนชื่อเล่นของผู้สมัครบนเซิร์ฟเวอร์ Discord เป็นชื่อตัวละคร Albion ที่เลือกตอนอนุมัติด้วย บอทต้องมีสิทธิ์ Manage Nicknames บนเซิร์ฟเวอร์ (ให้ผ่าน scope Administrator ของ /guild pair) เงียบ ๆ ข้ามถ้า Discord บล็อกการเปลี่ยนชื่อ (เช่นกับ server owner) |
| 🔧 Rebuild | ลบและสร้างช่องใหม่ (#📋-enlist-here + category 🎯 Enlist) config ยังอยู่ ticket ที่เปิดอยู่ถูกปฏิเสธอัตโนมัติ พร้อม DM ถึงผู้สมัคร เขาต้องคลิก [Enlist] อีกครั้งหลัง rebuild |
| 🗑 Disable Enlist | ล้าง config และเปลี่ยนแผงกลับเป็น "Not set up" ช่องยังอยู่ — ลบเองถ้าไม่อยากได้ |
อะไรอยู่ที่ไหน
| Action | วิธี | ที่ไหน | ใครทำได้ |
|---|---|---|---|
| สมัคร | คลิกปุ่ม [✉ Enlist] | #📋-enlist-here (ใน category 🎯 Enlist) | ใครก็ตามที่เห็นช่อง |
| คุยกับผู้สมัคร | พิมพ์เลย | ticket ต่อผู้สมัคร (#enlist-{username} ค่า default) | ผู้สมัคร + role recruiter |
| อนุมัติ | /enlist review | ใน ticket | role recruiter |
| ปฏิเสธ | /enlist reject user:@… [reason:…] | ที่ไหนก็ได้ที่บอทเห็น | role recruiter |
| ปิด + archive ticket | /enlist done | ใน ticket | role recruiter |
| อ่านใบสมัครเก่า | เปิด thread | forum 🗄 enlist-archive | role recruiter |
| ตั้ง / เปลี่ยน config Enlist (ฝั่ง Discord) | แผง 🎯 Manage Enlist | #⚙️-guild-settings | Manage Integrations |
| ตั้ง / เปลี่ยน config Enlist (ฝั่งเว็บ) | Management → การเชื่อม Discord → Enlist | AO Master เว็บ | Manage Integrations |
ลิงก์ที่เกี่ยวข้อง
- ติดตั้ง + จับคู่ — ตั้งบอทก่อนหน้านี้
- ภาพรวมช่อง Discord — category 🎯 Enlist บรรจุอะไรและเข้ากับโครงสร้างช่องโดยรวมอย่างไร
- การจัดการสมาชิกบน Discord — surface "สมาชิกทำอะไรบน Discord" รวม
/whoamiและวิธี role sync ทำงานหลังอนุมัติ - ภาคผนวก slash command — แถว reference ของ
/enlist review,/enlist reject,/enlist done - Settings → การเชื่อม Discord — เว็บมิเรอร์ของ pairing + Enlist config
- Settings → War Roles — แหล่งของรายการวอร์โรลที่ขั้น 4 อ่าน
- Settings → Roles & Permissions — ตั้ง web role default ของกิลด์เพื่อขั้น 5 ไม่เตือน "no roles"