รองรับแชท Twitch ผ่านการเชื่อมต่อ IRC OpenClaw เชื่อมต่อในฐานะผู้ใช้ Twitch (บัญชีบอท) เพื่อรับและส่งข้อความในช่องต่างๆDocumentation Index
Fetch the complete documentation index at: https://docs.openclaw.ai/llms.txt
Use this file to discover all available pages before exploring further.
Plugin ที่รวมมาด้วย
Twitch จัดส่งมาเป็น Plugin ที่รวมมาด้วยใน OpenClaw รุ่นปัจจุบัน ดังนั้นบิลด์แบบแพ็กเกจปกติจึงไม่ต้องติดตั้งแยกต่างหาก
- npm registry
- Local checkout
การตั้งค่าแบบรวดเร็ว (ผู้เริ่มต้น)
ตรวจสอบว่า Plugin พร้อมใช้งาน
OpenClaw รุ่นแพ็กเกจปัจจุบันรวม Plugin นี้อยู่แล้ว การติดตั้งแบบเก่าหรือแบบกำหนดเองสามารถเพิ่มได้ด้วยคำสั่งข้างต้น
สร้างข้อมูลประจำตัว
ใช้ Twitch Token Generator:
- เลือก Bot Token
- ตรวจสอบว่าเลือกสโคป
chat:readและchat:writeแล้ว - คัดลอก Client ID และ Access Token
ค้นหา ID ผู้ใช้ Twitch ของคุณ
ใช้ https://www.streamweasels.com/tools/convert-twitch-username-to-user-id/ เพื่อแปลงชื่อผู้ใช้เป็น ID ผู้ใช้ Twitch
กำหนดค่าโทเค็น
- Env:
OPENCLAW_TWITCH_ACCESS_TOKEN=...(บัญชีเริ่มต้นเท่านั้น) - หรือ config:
channels.twitch.accessToken
คืออะไร
- ช่อง Twitch ที่ Gateway เป็นเจ้าของ
- การกำหนดเส้นทางแบบกำหนดได้แน่นอน: การตอบกลับจะย้อนกลับไปที่ Twitch เสมอ
- แต่ละบัญชีแมปกับคีย์เซสชันแยก
agent:<agentId>:twitch:<accountName> usernameคือบัญชีของบอท (ผู้ยืนยันตัวตน),channelคือห้องแชทที่จะเข้าร่วม
การตั้งค่า (ละเอียด)
สร้างข้อมูลประจำตัว
ใช้ Twitch Token Generator:- เลือก Bot Token
- ตรวจสอบว่าเลือกสโคป
chat:readและchat:writeแล้ว - คัดลอก Client ID และ Access Token
ไม่ต้องลงทะเบียนแอปด้วยตนเอง โทเค็นจะหมดอายุหลังจากหลายชั่วโมง
กำหนดค่าบอท
- Env var (บัญชีเริ่มต้นเท่านั้น)
- Config
การควบคุมการเข้าถึง (แนะนำ)
allowFrom สำหรับรายการอนุญาตแบบเข้มงวด ใช้ allowedRoles แทนหากคุณต้องการการเข้าถึงตามบทบาท
บทบาทที่ใช้ได้: "moderator", "owner", "vip", "subscriber", "all"
ทำไมต้องใช้ ID ผู้ใช้? ชื่อผู้ใช้สามารถเปลี่ยนได้ ซึ่งทำให้มีการแอบอ้างได้ ID ผู้ใช้เป็นค่าถาวรค้นหา ID ผู้ใช้ Twitch ของคุณ: https://www.streamweasels.com/tools/convert-twitch-username-to-user-id/ (แปลงชื่อผู้ใช้ Twitch ของคุณเป็น ID)
การรีเฟรชโทเค็น (ไม่บังคับ)
โทเค็นจาก Twitch Token Generator ไม่สามารถรีเฟรชโดยอัตโนมัติได้ - ให้สร้างใหม่เมื่อหมดอายุ สำหรับการรีเฟรชโทเค็นอัตโนมัติ ให้สร้างแอปพลิเคชัน Twitch ของคุณเองที่ Twitch Developer Console และเพิ่มลงใน config:การรองรับหลายบัญชี
ใช้channels.twitch.accounts พร้อมโทเค็นแยกตามบัญชี ดู การกำหนดค่า สำหรับรูปแบบที่ใช้ร่วมกัน
ตัวอย่าง (บัญชีบอทหนึ่งบัญชีในสองช่อง):
แต่ละบัญชีต้องมีโทเค็นของตัวเอง (หนึ่งโทเค็นต่อช่อง)
การควบคุมการเข้าถึง
- รายการอนุญาต ID ผู้ใช้ (ปลอดภัยที่สุด)
- ตามบทบาท
- ปิดข้อกำหนด @mention
การแก้ปัญหา
ก่อนอื่น ให้รันคำสั่งวินิจฉัย:บอทไม่ตอบกลับข้อความ
บอทไม่ตอบกลับข้อความ
- ตรวจสอบการควบคุมการเข้าถึง: ตรวจสอบว่า ID ผู้ใช้ของคุณอยู่ใน
allowFromหรือเอาallowFromออกชั่วคราวแล้วตั้งค่าallowedRoles: ["all"]เพื่อทดสอบ - ตรวจสอบว่าบอทอยู่ในช่อง: บอทต้องเข้าร่วมช่องที่ระบุใน
channel
ปัญหาเกี่ยวกับโทเค็น
ปัญหาเกี่ยวกับโทเค็น
“Failed to connect” หรือข้อผิดพลาดการยืนยันตัวตน:
- ตรวจสอบว่า
accessTokenเป็นค่าโทเค็นการเข้าถึง OAuth (โดยทั่วไปขึ้นต้นด้วยคำนำหน้าoauth:) - ตรวจสอบว่าโทเค็นมีสโคป
chat:readและchat:write - หากใช้การรีเฟรชโทเค็น ให้ตรวจสอบว่าตั้งค่า
clientSecretและrefreshTokenแล้ว
การรีเฟรชโทเค็นไม่ทำงาน
การรีเฟรชโทเค็นไม่ทำงาน
ตรวจสอบล็อกสำหรับเหตุการณ์รีเฟรช:หากคุณเห็น “token refresh disabled (no refresh token)”:
- ตรวจสอบว่าให้
clientSecretแล้ว - ตรวจสอบว่าให้
refreshTokenแล้ว
Config
การกำหนดค่าบัญชี
ชื่อผู้ใช้บอท
โทเค็นการเข้าถึง OAuth ที่มี
chat:read และ chat:writeTwitch Client ID (จาก Token Generator หรือแอปของคุณ)
ช่องที่จะเข้าร่วม
เปิดใช้งานบัญชีนี้
ไม่บังคับ: สำหรับการรีเฟรชโทเค็นอัตโนมัติ
ไม่บังคับ: สำหรับการรีเฟรชโทเค็นอัตโนมัติ
การหมดอายุของโทเค็นเป็นวินาที
เวลาประทับที่ได้รับโทเค็น
รายการอนุญาต ID ผู้ใช้
การควบคุมการเข้าถึงตามบทบาท
ต้องมี @mention
ตัวเลือกผู้ให้บริการ
channels.twitch.enabled- เปิด/ปิดการเริ่มต้นช่องchannels.twitch.username- ชื่อผู้ใช้บอท (config บัญชีเดียวแบบย่อ)channels.twitch.accessToken- โทเค็นการเข้าถึง OAuth (config บัญชีเดียวแบบย่อ)channels.twitch.clientId- Twitch Client ID (config บัญชีเดียวแบบย่อ)channels.twitch.channel- ช่องที่จะเข้าร่วม (config บัญชีเดียวแบบย่อ)channels.twitch.accounts.<accountName>- config หลายบัญชี (ฟิลด์บัญชีทั้งหมดข้างต้น)
การทำงานของเครื่องมือ
เอเจนต์สามารถเรียกtwitch พร้อมการทำงาน:
send- ส่งข้อความไปยังช่อง
ความปลอดภัยและการปฏิบัติการ
- ปฏิบัติต่อโทเค็นเหมือนรหัสผ่าน — อย่าคอมมิตโทเค็นลงใน git
- ใช้การรีเฟรชโทเค็นอัตโนมัติ สำหรับบอทที่ทำงานระยะยาว
- ใช้รายการอนุญาต ID ผู้ใช้ แทนชื่อผู้ใช้สำหรับการควบคุมการเข้าถึง
- ตรวจสอบล็อก สำหรับเหตุการณ์รีเฟรชโทเค็นและสถานะการเชื่อมต่อ
- จำกัดสโคปโทเค็นให้น้อยที่สุด — ขอเฉพาะ
chat:readและchat:write - หากติดขัด: รีสตาร์ท Gateway หลังจากยืนยันว่าไม่มีกระบวนการอื่นเป็นเจ้าของเซสชัน
ขีดจำกัด
- 500 อักขระ ต่อข้อความ (แบ่งเป็นส่วนอัตโนมัติที่ขอบเขตคำ)
- Markdown จะถูกตัดออกก่อนแบ่งเป็นส่วน
- ไม่มีการจำกัดอัตรา (ใช้ขีดจำกัดอัตราในตัวของ Twitch)
ที่เกี่ยวข้อง
- การกำหนดเส้นทางช่อง — การกำหนดเส้นทางเซสชันสำหรับข้อความ
- ภาพรวมช่อง — ช่องทั้งหมดที่รองรับ
- กลุ่ม — พฤติกรรมแชทกลุ่มและการกำหนดให้ต้อง mention
- การจับคู่ — การยืนยันตัวตน DM และโฟลว์การจับคู่
- ความปลอดภัย — โมเดลการเข้าถึงและการเสริมความปลอดภัย