สิทธิ์ (Scopes)
สิทธิ์กำหนดว่าบอททำงานที่ไหน และทำอะไรได้บ้าง บอทต้องผ่านทั้งสองชั้นจึงจะรับหรือส่งข้อความได้
สองประเภทของสิทธิ์
พื้นฐาน
ใช้ได้ทันที
เมื่อบัญชี Developer ได้รับอนุมัติแล้ว เลือกเปิดได้เองใน Console
ต้องอนุมัติ
ขอรายบอท
เข้าถึงกลุ่ม เซิร์ฟเวอร์ หรือโลกจริง ต้องให้ HeloSChat ตรวจเหตุผลก่อน
พื้นที่ใช้งาน
| Scope | พื้นที่ | ประเภท |
|---|---|---|
| dm | แชทส่วนตัว (DM) คุย 1:1 กับผู้ใช้ | พื้นฐาน |
| group | กลุ่ม ห้องกลุ่มที่บอทเป็นสมาชิก | ต้องอนุมัติ |
| server | เซิร์ฟเวอร์ Server channel ที่บอทเป็นสมาชิก | ต้องอนุมัติ |
ความสามารถ
| Scope | ทำอะไรได้ | DM | กลุ่ม | เซิร์ฟเวอร์ | ประเภท |
|---|---|---|---|---|---|
| messages.read | อ่านข้อความ รับ message.create ทุกข้อความในพื้นที่ที่เปิด | ✓ | ✓ | ✓ | พื้นฐาน |
| messages.mention | อ่านเฉพาะตอนถูก @ ใน DM ข้อความถือว่าส่งถึงบอทอยู่แล้ว จึงส่งให้เสมอ | - | ✓ | ✓ | พื้นฐาน |
| messages.send | ส่งข้อความ POST /v1/channels/:id/messages | ✓ | ✓ | ✓ | พื้นฐาน |
| messages.attachments | ส่งไฟล์และรูป แนบ attachments ในข้อความออก | ✓ | ✓ | ✓ | พื้นฐาน |
| messages.components | ส่งปุ่มในข้อความ ใส่ components ในข้อความออก | ✓ | ✓ | ✓ | พื้นฐาน |
| cards.create | สร้าง Service Card สร้างการ์ดที่กดได้ และรับ card.action | ✓ | ✓ | ✓ | ต้องอนุมัติ |
| qr.create | ออก QR ต่อโลกจริง QR อยู่นอกห้องแชท จึงไม่ผูกกับพื้นที่ใดพื้นที่หนึ่ง | นอกห้องแชท | ต้องอนุมัติ | ||
ขอสิทธิ์ที่ต้องอนุมัติ
- เปิดหน้าบอทใน Console แท็บ สิทธิ์
- เลือกสิทธิ์ที่ต้องการ แล้วอธิบายว่าจะใช้ทำอะไร ผู้ใช้กลุ่มไหนได้รับผล
- สถานะจะเป็น “รอตรวจสอบ” จนกว่าทีม HeloSChat จะอนุมัติหรือปฏิเสธพร้อมเหตุผล
- ก่อนอนุมัติ การเรียก API ที่ใช้สิทธิ์นั้นจะได้
403 missing_scope
curl -X POST "https://bots.gugarhices.com/v1/developers/bots/$BOT_ID/scopes" \
-H "Authorization: Bearer $DEVELOPER_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"scopes": ["dm", "messages.read", "messages.send", "qr.create"],
"reason": "ใช้ QR เช็คชื่อสมาชิก ผู้ใช้สแกนในแอปแล้วหัวหน้าอนุมัติ"
}'เอาสิทธิ์ออกจากบอทเมื่อไหร่ก็ได้ สิทธิ์จะหายทันที ถ้าต้องการกลับมาใช้อีกต้องขออนุมัติใหม่