เอกสารอ้างอิงอีเวนต์สด
หน้านี้อธิบายข้อมูลอีเวนต์มาตรฐานที่ Social Stream Ninja ส่งสำหรับแพลตฟอร์มหลัก ใช้เป็นแหล่งอ้างอิงร่วมเมื่อเชื่อมแหล่งใหม่ แก้ปัญหาการเชื่อมต่อ หรือจัดป้าย UI ให้ตรงกัน สำหรับตารางสรุปสั้นที่เน้นผู้ใช้ข้อมูล ดู ความเข้ากันได้ของอีเวนต์และการแจ้งเตือน.
ในหน้านี้
ข้ามไปกฎช่องข้อมูลร่วม การทำงานของแต่ละแพลตฟอร์ม หรือหมายเหตุความเข้ากันได้ท้ายหน้า
สำคัญ: อีเวนต์ที่ใช้ได้ขึ้นอยู่กับแหล่งข้อมูล สิทธิ์ และการตั้งค่าจับข้อมูล หากต้องการซ่อนแถวที่ระบุอีเวนต์ในแผงด็อกหรือโอเวอร์เลย์ Featured ให้เพิ่ม &hideevents หรือ &hideallevents หากต้องการซ่อนอีเวนต์ที่เลือก ใช้ &filterevents=subscription_gift,new_follower,gifted ตัวกรองเหล่านี้ซ่อนแถวที่มีการชำระเงินซึ่งมีค่าได้ด้วย event; แถวบริจาคปกติที่ไม่มีตัวระบุอีเวนต์จะไม่ตรงกับตัวกรองอีเวนต์ ตัวกรองข้อความอื่นยังมีผล
เลือกวิธีจับข้อมูล: สำหรับ YouTube, Twitch และ Kick, โหมด WebSocket โดยทั่วไปครอบคลุมอีเวนต์มากกว่า การจับ DOM มาตรฐานอ่านแถวและการ์ดที่แสดงจริงในหน้า YouTube Super Chats, Super Stickers และของขวัญ Jewel มีเส้นทางจับข้อมูลทั้งสองโหมด อีเวนต์ของขวัญ ทิป และสมาชิกอื่นแตกต่างตามแหล่ง ดูตารางแพลตฟอร์มสำหรับเส้นทางที่รองรับและการตั้งค่าที่จำเป็น
รูปแบบข้อมูล: แถวแชตแบบบริจาคควรใช้ hasDonation และตัวเลือกเพิ่มเติม donoValue อย่าตั้ง event: "donation" เพียงเพราะแถวแชต/ทิปปกติมีมูลค่า ใช้ชื่ออีเวนต์เฉพาะสำหรับการกระทำแพลตฟอร์มจริงหรือประเภทสินค้าแบบชำระเงินเท่านั้น เช่น superchat, supersticker, gift, หรือ jeweldonation ใช้ meta เฉพาะข้อมูลมีโครงสร้างเพิ่มเติมที่ผู้รับต้องใช้จริง และไม่มีช่องเดิมรองรับอยู่แล้ว
ฟีเจอร์ที่ใช้ได้โดยย่อ
ใช้ตารางนี้ดูประเภทแจ้งเตือนที่แต่ละวิธีจับข้อมูลส่งได้ในปัจจุบัน หมายเหตุข้อมูลแบบละเอียดอยู่ด้านล่าง
Multi-Stream Alert Box โดยเฉพาะจัดกลุ่มอีเวนต์สดเป็นหมวดแจ้งเตือนหลักหกหมวด: Follow, Subscription/Member, Donation, Bits/Cheers, Raid/Host, และ Purchase, พร้อมสองหมวดหมู่ที่เลือกเปิดใช้ได้ (Auction และ Hype Train) ที่เปิดผ่านพารามิเตอร์ URL โดยสร้างหมวดหมู่เหล่านั้นจากค่าที่มีอยู่ event, membership, subtitle, hasDonation, และ meta ช่องข้อมูลที่อธิบายที่นี่ ไม่ต้องมีรูปแบบข้อมูลแยก
| แหล่งข้อมูล |
ผู้สมัครสมาชิก / สมาชิกใหม่ |
ผู้ติดตามใหม่ |
การบริจาค |
จำนวนและข้อมูลเพิ่มเติม |
| YouTube (สะพานเชื่อม Data API) |
การเข้าร่วมสมาชิก ต่ออายุ และของขวัญ |
การแจ้งเตือนสมาชิกแต่ละคน* + ยอดรวม |
Super Chats และ Super Stickers |
ยอดผู้ชม สมาชิก และยอดวิว (ตรวจเป็นระยะ) |
| Twitch – การจับ DOM |
บรรทัดชุดของขวัญและประกาศผู้รับของขวัญ |
- |
ระบุบิตผ่าน hasDonation |
จำนวนผู้ชม การ์ดรางวัล และการ์ดไฮไลต์ชุมชน |
| Twitch – EventSub/Websocket |
สมัครสมาชิก ต่ออายุ และของขวัญทันที |
ติดตามทันที + ยอดผู้ติดตาม |
Cheers, Power-ups และการแลกแต้มช่อง |
ยอดผู้ชม/สมาชิก/ผู้ติดตาม สถานะสตรีม ประกาศโฆษณา |
| TikTok Live |
- |
การ์ดติดตาม (เมื่อ TikTok แสดง) |
ของขวัญที่แปลงเป็นยอดเหรียญ |
จำนวนผู้ชม การแจ้งเตือนเข้าร่วม และการไลก์รัว |
| YouNow |
- |
กิจกรรมแฟนและผู้ชม |
- |
จำนวนผู้ชมจากแผงผู้ชมสด |
| Favorited Studio |
- |
- |
- |
จำนวนผู้ชมจากแท็บผู้ชมสด |
| Whatnot |
- |
- |
- |
จำนวนผู้ชม การแจ้งเตือนเข้าร่วม เมทาดาทาประมูลสด สินค้า และภาพข้อมูลแจกของรางวัล |
| eBay Live |
- |
- |
- |
จำนวนผู้ชม จำนวนผู้ติดตาม ภาพข้อมูลการ์ดอีเวนต์สด เมทาดาทาประมูลส่วนท้าย (เมื่อมีให้) หัวใจรีแอ็กชัน และเมทาดาทาอีเวนต์ที่จะมาถึง |
| กล่องแจ้งเตือน Streamlabs |
สมาชิก ของขวัญ สปอนเซอร์ การติดตาม |
Cheer/บิต การบริจาค (พร้อมสกุลเงิน) |
Cheer/บิต การบริจาค (hasDonation) |
ขณะเปิดกล่องแจ้งเตือน ใช้ผ่านได้ด้วย sources/websocket/streamlabs.html โทเค็นซ็อกเก็ต |
| OBS Flow Actions |
- |
- |
- |
อีเวนต์เอาต์พุต ฉาก บัฟเฟอร์รีเพลย์ และสื่อจบของ OBS สำหรับ Event Flow เมื่อ actions.html เชื่อมต่อกับ OBS WebSocket |
| Kick – DOM |
- |
- |
- |
จำนวนผู้ชมพร้อมประกาศระบบรางวัล/ของขวัญพื้นฐาน ใช้สะพานเชื่อม Kick สำหรับการแจ้งเตือนที่ละเอียดขึ้น |
| Kick – Websocket/สะพานเชื่อม |
สมาชิกใหม่ ต่ออายุ และของขวัญ |
การแจ้งเตือนติดตาม + ยอดผู้ติดตาม |
อีเวนต์สนับสนุน/ทิป (ยอด + สกุลเงิน) |
สถานะสตรีม การแลกรางวัล และเมทาดาทาโปรไฟล์ |
| Facebook Live |
- |
- |
Stars เมื่อมองเห็นใน DOM |
แถวแชต Stars และการตรวจจำนวนผู้ชม |
| Rumble – การจับ DOM |
- |
- |
ราคา Rant ที่มองเห็น |
แชต เรดขาเข้า และการตรวจจำนวนผู้ชม |
| Rumble – Websocket/URL ของ API |
สมาชิกใหม่และสมาชิกแบบของขวัญ |
การแจ้งเตือนติดตาม + ยอดผู้ติดตาม |
Rants/ทิป (ยอด + สกุลเงิน) |
ยอดผู้ชม ยอดสมาชิก สถานะสด และฟีดแชต |
| Streamplace |
- |
- |
- |
จำนวนผู้ชมพร้อมชื่อแชต สี ตรา การตอบกลับ และลิงก์ |
| WorldsWave |
- |
- |
ป้ายการบริจาคเมื่อมี |
แชตสดที่แสดง พร้อมอัปเดตจำนวนผู้ชมที่เลือกเปิดใช้ |
| CHZZK |
- |
- |
แถวบริจาคชีสที่มองเห็น |
แถวแชต ภาพตรา อีโมต และการตรวจจำนวนผู้ชม |
| BEAM |
- |
- |
- |
แถวแชตและการตรวจจำนวนผู้ชม เมื่อหน้าแชตอย่างเดียวแสดงตัวนับผู้ชม |
| Seal Team Sloth |
- |
- |
- |
แถวแชตป๊อปเอาต์ที่แสดง พร้อม viewer_update ตรวจเมื่อเปิดจำนวนผู้ชม |
| Castyr |
- |
- |
- |
แถวแชตป๊อปเอาต์ที่แสดง พร้อมอัปเดตจำนวนผู้ชมที่เลือกเปิดใช้ |
| RPLAY |
- |
- |
- |
เข้าสู่ระบบแล้ว /live/chat/box/ ป๊อปเอาต์: type: "rplay" แชต อวาตาร์ ภาพตราระดับ และอีโมต ทิปเหรียญคงยอด/หน่วยไว้ใน hasDonation สำหรับการแปลง USD ร่วม โดยไม่มีอีเวนต์บริจาค ตัวเลือกที่เปิดใช้ได้ viewer_update การตรวจใช้จำนวนเต็ม meta จาก endpoint สตรีมสาธารณะของ RPLAY ไม่รวมแถว Twitch ที่ส่งต่อมา |
| FLEX TV |
- |
- |
- |
แถวแชตที่แสดงพร้อมชื่อ สีผู้เขียน ภาพตรา และเมทาดาทาสมาชิก |
*การแจ้งเตือนผู้ติดตาม YouTube ตรวจเป็นระยะและอาจล่าช้าหรือไม่ครบ เอกสารอ้างอิง API ไม่ได้รับประกันกรอบเวลาส่งสี่ชั่วโมงตายตัว ดู ข้อจำกัด API การติดตามอย่างเป็นทางการ.
ภาพรวมช่องข้อมูล
data ในที่นี้หมายถึงออบเจ็กต์ข้อความ ไม่ใช่ชั้นหุ้มเพิ่มเติมที่ต้องใส่ แถวแชตและอีเวนต์ที่มีเฉพาะเมทาดาทามีรูปแบบต่างกัน ตัวนับและภาพข้อมูลสถานะอาจไม่ใส่ chatname/chatmessage ในตารางแพลตฟอร์ม ข้อความ อธิบายแถวแชตปกติ ไม่ใช่ค่าตามตัวอักษร event: "message".
| ช่องข้อมูล |
รูปแบบ |
การใช้งาน |
data.type |
สตริง |
ตัวระบุแหล่งข้อมูลที่โอเวอร์เลย์ ตัวกรอง และ Event Flow ใช้ Instagram คงแชตสดเป็น instagramlive และความคิดเห็นที่ไม่ใช่แชตสดเป็น instagram ดู คู่มือประเภทแหล่งข้อมูล สำหรับรูปแบบย่อย แหล่งทั่วไป และการกำหนดเส้นทางขาออก |
data.chatname |
สตริง |
ชื่อแสดงที่แหล่งข้อมูลให้มา ใช้ในการประมวลผลข้อความและเอาต์พุตที่ไม่ใช่โอเวอร์เลย์ นามแฝงชื่อแสดงผู้ใช้ที่ตั้งไว้อาจแทนค่านี้เฉพาะในสำเนาข้อมูลส่งไปแผงด็อกและโอเวอร์เลย์ |
data.username |
สตริง |
ชื่อผู้ใช้ต้นทางเมื่อมี ข้อมูลแผงด็อกหรือโอเวอร์เลย์ที่ใช้นามแฝงอาจเพิ่มช่องนี้เพื่อคงค่าต้นฉบับ chatname สำหรับการกระทำกับผู้ใช้ ข้อความมาตรฐานยังคงเดิม |
data.userid |
สตริง |
รหัสผู้ใช้เฉพาะแพลตฟอร์ม การกระทำกับผู้ใช้ใช้ค่านี้ก่อน username และ chatname. |
data.platform | สตริง (ไม่บังคับ) | การเชื่อมต่อบางตัวรวมค่านี้ร่วมกับ type อะแดปเตอร์แหล่งข้อมูลหลายตัวไม่ใส่ค่านี้ ใช้ type สำหรับกำหนดเส้นทางแหล่งข้อมูล |
data.id | สตริง | ตัวเลข (ไม่บังคับ) | รหัสข้อความหรืออีเวนต์ ความหมายขึ้นอยู่กับแหล่งข้อมูลและช่องทางรับส่ง อย่าถือว่าเป็นรหัสดูแลแชตดั้งเดิมของแพลตฟอร์มเสมอ ใช้ meta.messageId เมื่ออะแดปเตอร์ให้สำหรับซิงก์การลบ |
data.donoValue | ตัวเลข (ไม่บังคับ) | ค่าเทียบเท่า USD แบบตัวเลขที่แหล่งข้อมูลให้มา รวมค่าประมาณ ค่าที่ถูกต้อง (รวมศูนย์) ใช้แทนการแปลง currency.js หากไม่มี ผู้ใช้ข้อมูลประเมิน USD จาก hasDonation และบริบทแหล่งข้อมูล ยอดและหน่วยต้นฉบับคงอยู่ใน hasDonation และเมทาดาทาผู้ให้บริการเดิม |
data.chatbadges | อาร์เรย์ | สตริง (ไม่บังคับ) | URL ภาพตราหรือออบเจ็กต์ตรา (type: "img" พร้อม src, type: "svg" พร้อม html, หรือ type: "text" พร้อม text) รีเลย์เก็บข้อความบนตราไว้ตามเดิมในช่องเพิ่มเติม rawText และสร้างค่าที่ escape แล้ว text สำหรับโอเวอร์เลย์เก่า ในการส่งต่อรอบหลังให้สร้างใหม่สำหรับ text จาก rawText; อย่า escape text อีกครั้ง ตัวแสดงผลปัจจุบันแสดง rawText ตามตัวอักษรเมื่อมี และคงการจัดการข้อความเข้ารหัสแบบเดิมเมื่อไม่มี นี่คือช่องรูปแบบการแทนค่า ไม่ใช่สิทธิ์แสดง HTML แหล่งเก่าอาจส่งสตริง HTML เดียวแทนอาร์เรย์ โอเวอร์เลย์แสดงตรารับทั้งสองรูปแบบและทำ HTML ตรากับ URL ให้ปลอดภัยในเครื่อง รวมกรณีผู้ส่งเป็นส่วนขยายเก่า ตราที่ไม่ถูกต้องต้องไม่ขัดขวางการแสดงข้อความแชตหรือสมาชิก |
data.event |
สตริง | บูลีน |
ตัวระบุกิจกรรมระบบ (เช่น viewer_update, subscription_gift, giftpurchase) แชตปกติควรเว้นว่าง/false เพื่อให้โอเวอร์เลย์แยกประกาศระบบจากข้อความสนทนาได้ |
data.chatmessage |
สตริง |
เนื้อหาข้อความ มี HTML ที่ปลอดภัย/แสดงผลได้เฉพาะเมื่อ data.textonly เป็น false |
data.textonly |
บูลีน |
มีผลเฉพาะ data.chatmessage. true หมายถึงแสดง chatmessage เป็นข้อความธรรมดา โดยคงแท็กตามตัวอักษรและข้อความที่ดูเหมือน entity อย่าถอดรหัส ทำ HTML sanitization หรือเพิ่มแท็กจัดรูปแบบในเนื้อหานั้น ให้ตกแต่งอีเวนต์บนองค์ประกอบที่แสดง false หมายถึง chatmessage อาจมี HTML ที่ปลอดภัย/แสดงผลได้ ข้อความเก่าที่ไม่มีแฟล็กยังคงพฤติกรรม HTML นั้น ช่องปกติอื่นเป็นข้อความธรรมดา ยกเว้นช่องสื่อ เช่น chatimg และ contentimg แสดงช่องข้อความธรรมดาด้วย textContent, หรือ escape หนึ่งครั้งเมื่อสร้างเทมเพลต HTML อย่าลบเนื้อหาหรือถอดรหัสซ้ำ ๆ |
data.contentimg |
สตริง (ไม่บังคับ) |
ภาพเนื้อหาหรือ URL สื่อที่รองรับ ในส่วนขยายและแอปเดสก์ท็อป ตัวเลือกที่เปิดใช้ได้ allowExternalGifs การตั้งค่าเติมช่องว่างด้วยลิงก์ GIF โดยตรงแบบ HTTP(S) แรกในข้อความหรือในลิงก์ HTML เส้นทาง URL ต้องลงท้ายด้วย .gif (ไม่แยกตัวพิมพ์ใหญ่เล็ก); คงพารามิเตอร์คำค้นและแฟรกเมนต์ไว้ ไม่ต้องใช้คีย์ API และคง chatmessage และไฟล์แนบเดิม และเคารพ removeContentImage ตัวเลือกเพิ่มเติม hideExternalGifUrl การตั้งค่าเพิ่ม meta.hideExternalGifUrl: true; แผงด็อกและโอเวอร์เลย์ Featured จะซ่อนลิงก์ GIF ที่ตรงกันหลังภาพโหลดสำเร็จเท่านั้น โดยคงข้อความรอบข้างและข้อมูลต้นฉบับไว้ ภาพที่โหลดไม่สำเร็จหรือหมดเวลาจะยุบพื้นที่ไฟล์แนบและคงลิงก์ให้เห็น โอเวอร์เลย์เฉพาะ GIF ลองแสดงภาพโดยตรงหากดึงข้อมูลไบต์ภาพไม่ได้ และใช้เวลาแสดงที่ตั้งไว้เมื่อหาเวลาภาพเคลื่อนไหวไม่ได้ หากโหลดล้มเหลวหรือค้างจะเลื่อนคิวต่อ ไม่เพิ่ม event หรือเปลี่ยนแหล่งข้อมูล type ภาพภายนอกไม่ผ่านการกรองเนื้อหาและอาจโหลดไม่ได้หากโฮสต์บล็อกการฝัง |
data.membership |
สตริง |
สถานะสมาชิกที่อ่านได้ เช่น MEMBERSHIP, new_sponsor, gift_recipient หน้าต่าง ๆ ใช้ค่านี้สำหรับตรา ตัวกรอง และประกาศ |
data.subtitle |
สตริง |
คำอธิบายเสริม (ระยะเวลาสมาชิก การอัปเกรดระดับ ผู้มอบของขวัญ...) ให้สั้นและเป็นข้อความอย่างเดียว เพื่อให้โอเวอร์เลย์วางใต้ชื่อแสดงได้ |
data.hasDonation |
สตริง |
ยอดเงินหรือของขวัญเสมือน ($5.00, 500 bits, 300 coins) เติมค่าแม้เมื่อ data.event ว่างเพื่อให้โอเวอร์เลย์บริจาคตรวจพบ |
data.meta |
ตัวเลข | ออบเจ็กต์ | สตริง (แบบเดิม) |
ใช้จำนวนเต็มสำหรับตัวนับเดี่ยว (ผู้ชม ผู้ติดตาม สมาชิก) และออบเจ็กต์สำหรับบริบทที่ละเอียดกว่า อีเวนต์เก่าบางตัว เช่น Twitch DOM community_highlight, มีค่าสตริง ตรวจรูปแบบของอีเวนต์นั้นก่อนอ่านคุณสมบัติออบเจ็กต์ รายละเอียดแบบมีโครงสร้างใหม่ควรอยู่ในออบเจ็กต์ |
data.firsttime |
บูลีน |
ตั้งเป็น true เมื่อเปิดการตรวจผู้แชตครั้งแรก เปิดฐานข้อมูลในเครื่อง และนี่เป็นข้อความแชตแรกที่บันทึกสำหรับผู้ใช้/แหล่งนั้น แผงด็อกใช้เพื่อไฮไลต์ครั้งแรกและตัวกรองเสียงเตือนครั้งแรก การตั้งค่าตราครั้งแรกที่เลือกใช้ได้จะเติมตราใบไม้หน้าค่า chatbadges. |
data.lastactivity |
ตัวเลข |
เวลา Unix หน่วยวินาทีของกิจกรรมแชตก่อนหน้าที่บันทึกไว้สำหรับผู้ใช้นั้น เมื่อเปิดการตรวจผู้แชตครั้งแรกและฐานข้อมูลในเครื่อง ไม่ใส่สำหรับผู้ใช้ใหม่เอี่ยม |
SOOP - การจับ DOM ของตัวเล่น
การใช้งานในโค้ด: sources/sooplive.js รองรับรูปแบบรวม play.sooplive.com ตัวเล่นและรูปแบบเดิม play.sooplive.co.kr URL โดยยังรู้จักเลย์เอาต์แชตส่วนกลางแบบเดิมเมื่อมีการให้บริการ
แชตสาธารณะส่ง type/platform: "sooplive", ข้อความธรรมดา chatname/userid, nameColor, และค่าที่ผ่านการทำให้ปลอดภัย chatmessage ไม่รวมแถวเดิม รหัสข้อความซ้ำ สำเนาแปล และข้อความกระซิบส่วนตัว อีโมตกลายเป็นภาพที่ปลอดภัยหรือข้อความ alt ในโหมดข้อความอย่างเดียว
พร้อม showviewercount หรือ hypemode เปิดอยู่, viewer_update มีค่าจำนวนเต็ม meta จากค่าของตัวเล่น #nAllViewer หน้าต่างแชตอย่างเดียวอาจไม่แสดงจำนวนนี้ SSApp ใช้ตัวเล่นเต็มเมื่อเปิดป๊อปอัปแยก เพราะป๊อปอัป SOOP ปัจจุบันพึ่งหน้าที่เปิดมัน
Gosh - การจับแชตช่อง
การใช้งานในโค้ด: sources/gosh.js เปิด https://gosh.com/USERNAME โดยให้แชตมองเห็น หรือวาง URL นั้นใน Add other source ของ SSApp ไม่ต้องใช้แชตป๊อปเอาต์
แถวแชตใหม่ส่ง type/platform: "gosh", ข้อความธรรมดา chatname, nameColor, และค่าที่ผ่านการทำให้ปลอดภัย chatmessage ภาพและ GIF ในบรรทัดคง URL แบบ HTTP(S) ที่ปลอดภัย เมื่อใช้ textonlymode, ภาพกลายเป็นข้อความ alt หรือ [image] เมื่อไม่มีข้อความ alt อวาตาร์ ตรา การบริจาค และสมาชิกคงว่างเมื่อไม่มีในแถวที่จับ
เลื่อนแชตแบบแสดงเฉพาะส่วนไปที่ข้อความล่าสุด ไม่รวมประวัติเดิม แถวที่แสดงซ้ำ และประกาศระบบที่ไม่มีผู้เขียน ดัชนีการแสดงอยู่ภายในและไม่ส่งเป็นรหัสข้อความดั้งเดิม ไม่มีการอนุมานอีเวนต์ติดตาม บริจาค จำนวนผู้ชม หรือดูแลแชต
Livacha - การจับห้องแชต
การใช้งานในโค้ด: sources/livacha.js เปิด https://livacha.com/chat/ROOM โดยให้แชตมองเห็น หรือวาง URL ห้องใน Add other source ของ SSApp
แถวแชตใหม่ส่ง type/platform: "livacha", ข้อความธรรมดา chatname, chatimg, nameColor, และค่าที่ผ่านการทำให้ปลอดภัย chatmessage URL อวาตาร์และภาพในบรรทัดแบบสัมพัทธ์จะกลายเป็น URL HTTP(S) แบบเต็ม ย่อหน้า การขึ้นบรรทัด และรายการจะรวมเป็นข้อความแชตเดียว เมื่อใช้ textonlymode, ภาพกลายเป็นข้อความ alt หรือ [image].
ใช้รหัสข้อความภายในเพื่อหลีกเลี่ยงจับการแก้ไขและแถวที่ถูกสร้างใหม่ซ้ำ ข้ามประวัติเริ่มต้นและข้อความเก่าที่แทรกด้านบน เวลาและเมนูรีแอ็กชันอยู่นอกเนื้อหาที่จับ ไม่มีการอนุมานอีเวนต์บริจาค สมาชิก ดูแลแชต หรือจำนวนผู้ชม
Stream.space - การจับ DOM รุ่นทดลอง
การใช้งานในโค้ด: sources/streamspace.js จับคู่เฉพาะ https://beta.stream.space/chat-popup.php?channel=USERNAME และค่าที่เทียบเท่า https://stream.space ป๊อปอัป
แถวแชตใหม่ที่แสดงส่ง type: "streamspace", platform: "streamspace", ข้อความธรรมดา chatname/userid, chatmessage, อวาตาร์ chatimg, ระดับแบบภาพ chatbadges, และ nameColor อีโมตในบรรทัดจะสร้างใหม่เป็นภาพที่ปลอดภัย หรือข้อความ alt เมื่อ textonlymode เปิดอยู่ ไม่รวมประวัติเดิม ประกาศต้อนรับ ตัวอย่างตอบกลับ และรายการปักหมุดซ้ำ
viewer_update มีค่าจำนวนเต็ม meta อ่านจาก #popupViewersNum เมื่อ showviewercount หรือ hypemode เปิดอยู่ ไม่มีการอนุมานอีเวนต์บริจาค สมาชิก หรือดูแลแชต
รุ่นทดลอง: ป๊อปอัปเบตายังค้างที่ Loading ระหว่างตรวจสอบ SSApp โหลดป๊อปอัปและจับอัปเดตผู้ชมได้ แต่ยังไม่ยืนยันการส่งแชตสดและป๊อปอัปใช้งานจริง SSN จับข้อความที่เว็บไซต์ไม่แสดงไม่ได้
w.tv และ Prime - การจับ DOM
การใช้งานในโค้ด: sources/wtv.js บน https://w.tv/USERNAME/chat และ sources/prime.js บน https://prime.gs/USERNAME?chat_popout=1.
แถวแชตใหม่ใช้ type/platform ของ wtv หรือ prime, ข้อความธรรมดา chatname, nameColor, และค่าที่ผ่านการทำให้ปลอดภัย chatmessage อีโมตในบรรทัดกลายเป็นภาพที่ปลอดภัยหรือข้อความ alt ในโหมดข้อความอย่างเดียว Prime ยังรวมค่าของแถว userid และรองรับทั้งลิงก์โปรไฟล์เมื่อเข้าสู่ระบบและป้ายชื่อผู้ใช้เมื่อออกจากระบบ อวาตาร์และตราเว้นว่างเมื่อไม่มีในโครงสร้างแถวที่ตรวจยืนยันแล้ว
ไม่รวมประวัติเริ่มต้น การ์ดปักหมุด และตัวอย่างตอบกลับ w.tv ใช้แชตแบบแสดงเฉพาะส่วน ให้เลื่อนไปข้อความล่าสุดเพื่อจับข้อมูล test ID ใน DOM เป็นดัชนีการแสดง ไม่ใช่รหัสข้อความดั้งเดิม Prime ข้ามประวัติเก่าที่โหลดเหนือข้อความเริ่มต้นและตัวแทนผู้ใช้ที่ถูกละเว้น
ป๊อปอัปทั้งสองไม่มีจำนวนผู้ชมสตรีมที่ยืนยันได้ อะแดปเตอร์เหล่านี้จึงไม่ส่งอัปเดตผู้ชมหรืออนุมานอีเวนต์บริจาค สมัครสมาชิก หรือดูแลแชต
ขอบเขตการรองรับและข้อจำกัดความเข้ากันได้
เอกสารนี้อธิบายข้อมูลที่ใช้งานจริง ไม่ได้รับประกันว่าทุกแพลตฟอร์มส่งทุกอีเวนต์ ค่าว่าง hasDonation การกำหนดค่าในแหล่งข้อมูลไม่ได้ยืนยันว่ารองรับการบริจาค การมองเห็น DOM สิทธิ์บัญชี สวิตช์จับข้อมูล และความพร้อม API ยังเป็นตัวกำหนดว่าจะได้รับอะไร การส่งต่อการลบเฉพาะแต่ละแหล่ง อย่าสมมติว่าซิงก์การดูแลแชตได้ทุกที่
ความไม่ตรงกันและช่องว่างที่ติดตาม
| คู่ / ส่วน |
ความไม่ตรงกัน / ช่องว่างที่พบ |
ผลกระทบ |
| Twitch: แบบมาตรฐานกับ Websocket |
ร่วมกัน: reward, subscription_gift, viewer_update, hype_train, และค่าที่เลือกเปิดใช้ watch_streak เฉพาะ Standard: giftpurchase, knock, community_highlight เฉพาะ Websocket: new_subscriber, resub, cheer, powerup, raid, new_follower, follower_update, subscriber_update. |
channel_points ขณะนี้เป็นชื่อเรียกเดิมที่เลิกแนะนำสำหรับการแลกรางวัล Twitch การเชื่อมต่อใหม่ควรอิง reward. |
| Kick: แบบมาตรฐานกับ Websocket |
แบบมาตรฐานส่งตัวระบุขนาดเล็ก (gift, reward, ค่าบูลีน true, viewer_update) Websocket เพิ่มอีเวนต์อย่างเป็นทางการเกี่ยวกับติดตาม สมัครสมาชิก ของขวัญ แลกรางวัล KICKs ดูแลแชต และสถานะถ่ายทอดสด และยังจัดการความเข้ากันได้กับรูปแบบเดิม raid ข้อมูล แต่ขณะนี้ Kick ไม่มีการสมัคร raid/host อย่างเป็นทางการ |
โหมด Websocket ให้ข้อมูลมากกว่า ควรตรวจระบบอัตโนมัติที่อิงชื่ออีเวนต์เฉพาะโหมดมาตรฐานเมื่อเปลี่ยนโหมด อย่ากำหนดให้ต้องมีอีเวนต์เรด Kick |
| YouTube: แบบมาตรฐานกับ Websocket |
ร่วมกัน: superchat, supersticker, jeweldonation, sponsorship, resub, giftpurchase, giftredemption, viewer_update เฉพาะ Standard: thankyou, redirect เฉพาะ Websocket: membermilestone, new_follower, subscriber_update, view_update, likes_update (เลือกเปิดใช้) |
ชื่อสมาชิก/อีเวนต์หลักสอดคล้องกันทั้งสองแบบ Super Chat, Super Sticker และ Jewels ใช้ hasDonation, ส่วนการซื้อ/แลกของขวัญสมาชิกไม่ใช้ |
| ทุกส่วนแสดงผล |
แหล่งข้อมูลจำนวนมากเติมค่า hasDonation โดยไม่ตั้ง data.event. |
ถูกต้องแล้ว การแสดงการบริจาคควรอิง hasDonation, พร้อม data.event สงวนไว้สำหรับความหมายระบบ/อีเวนต์ |
ชื่อเรียกแทนและชื่อเดิมเฉพาะแหล่งข้อมูล
การจับคู่เหล่านี้เฉพาะแหล่ง/บริบทที่ระบุ ไม่ใช่การแทนที่ทั่วระบบ การรองรับชื่อเรียกแทนของผู้รับข้อมูลต่างกันตามหน้า แหล่ง TikTok DOM และ TikFinity ปัจจุบันยังส่ง followed; Velora ใช้ subscription และ channel_points, และ Streamlabs ใช้ subscription ยอมรับข้อกำหนดของแหล่งข้อมูลปัจจุบันและชื่อเรียกเดิมที่เกี่ยวข้อง แทนการเปลี่ยนชื่อทุกอีเวนต์ที่ตรงกัน
| ชื่อเรียกแทน / ชื่อเดิม |
ค่ามาตรฐานที่ใช้แทน |
บริบท |
subscription | new_subscriber | สมาชิกใหม่ Twitch/Kick |
subgift | subscription_gift | สมาชิกแบบของขวัญ Twitch |
membership | sponsorship | สมาชิกใหม่ YouTube (ทั่วไป) |
new_member | sponsorship | สมาชิกใหม่ YouTube |
new_membership | sponsorship | สมาชิกใหม่ YouTube |
newmember | sponsorship | สมาชิกใหม่ YouTube |
new-membership | sponsorship | ตัวดึง DOM ของ YouTube (รูปแบบมีขีดกลาง) |
upgraded_membership | resub | อัปเกรดระดับ YouTube |
upgraded-membership | resub | ตัวดึง DOM ของ YouTube (รูปแบบมีขีดกลาง) |
membership_upgrade | resub | อัปเกรดระดับ YouTube |
membership_milestone | membermilestone | แชตฉลองเหตุการณ์สำคัญ YouTube |
member_milestone | membermilestone | แชตฉลองเหตุการณ์สำคัญ YouTube (รูปแบบขีดล่าง) |
gift_membership | giftpurchase | ชุดของขวัญ YouTube |
membership_gift | giftpurchase | ชุดของขวัญ YouTube |
giftmemberships | giftpurchase | ชุดของขวัญ YouTube (รูปแบบพหูพจน์) |
gifted_membership | giftredemption | ได้รับของขวัญ YouTube |
gifted_memberships | giftpurchase | ชุดของขวัญ YouTube (รูปแบบพหูพจน์) |
community_gift | giftpurchase | ชุดของขวัญชุมชน |
channel_points | reward | การแลกรางวัล Twitch websocket (ชื่อเรียกเดิม) |
followed | new_follower | เอาต์พุต TikTok DOM/TikFinity ปัจจุบัน ให้รับทั้งสองชื่อเมื่อรวมโหมดจับข้อมูล TikTok |
การใช้เอกสารนี้
- เมื่อเพิ่มอีเวนต์ใหม่ ให้ใช้คำศัพท์ที่มีอยู่ (
subscription_gift, viewer_update, ฯลฯ) เมื่อทำได้ หากจำเป็นต้องแตกต่าง ให้บันทึกไว้ที่นี่พร้อมเหตุผล
- คงค่า
data.meta ให้คาดเดาได้: ควรใช้คีย์แบบแบน อย่ายัดข้อมูลหลายชนิดรวมในสตริง และระบุหน่วยเสมอ (currency, bits, duration).
- อัปเดตหน้านี้พร้อมการเปลี่ยนข้อมูลที่รับส่ง อัปเดตคำแนะนำเอเจนต์เฉพาะเมื่อกฎพัฒนาร่วมเปลี่ยน
- ตรวจการเปลี่ยนข้อมูลที่รับส่งทั้งกับแหล่งที่ส่ง และโอเวอร์เลย์หรือตัวเรียก Event Flow ที่รับ
- การจับข้อมูลขึ้นอยู่กับการรองรับและการตั้งค่าของแหล่ง หากต้องการซ่อนแถวที่ระบุอีเวนต์ในแผงด็อกหรือโอเวอร์เลย์ Featured ให้เพิ่ม
&hideevents หรือ &hideallevents หากต้องการซ่อนอีเวนต์ที่เลือก ใช้ &filterevents=subscription_gift,new_follower,gifted.
- สำหรับ YouTube, Twitch และ Kick ให้เปิด โหมด WebSocket เพื่อการรองรับอีเวนต์เฉพาะแพลตฟอร์มที่กว้างที่สุด การจับของขวัญ/บริจาค YouTube (รวมของขวัญและ super chats) ใช้ได้ทั้งโหมด Standard และ WebSocket โดย WebSocket เพิ่มประเภทอีเวนต์อื่น การรองรับจริงยังต่างตามแพลตฟอร์ม บทบาทบัญชี และขอบเขตสิทธิ์ที่อนุญาต
กลับด้านบน
โอเวอร์เลย์สร้างรายได้
ทิป NinjaBacker ใช้ platform: "ninjabacker", type: "ninjabacker", chatname, ข้อความธรรมดา chatmessage, textonly: true, ค่าที่มีคำนำหน้าระบุแหล่งข้อมูล id, ค่าที่จัดรูปแบบแล้ว hasDonation, และค่าตัวเลข donoValue เป็นแถวแบบบริจาคปกติที่ไม่มี event ค่าที่ใช้แทน meta.ninjabacker มีค่า ISO currency และค่าในหน่วยหลัก amount ทิปนิรนามใช้ชื่อแสดง Anonymous แหล่งข้อมูลใช้ SSE สด (ไม่เล่นย้อนหลัง) หรือระบบรับ signed webhook บน SSN API ที่เลือกเปิดได้ (เข้าคิวส่งได้นานสูงสุดเจ็ดวัน) การส่งที่เชื่อถือได้ใช้ค่าคงที่ ninjabacker:delivery:DELIVERY_ID id ทั้งสองโหมดไม่รับรายการย้อนกลับจากคืนเงิน/ข้อพิพาท ข้อมูลรับรองตัวรับและ signing secret ไม่เข้าสู่ข้อมูลอีเวนต์ ค่า callbackId ที่ผู้เรียกควบคุมไม่ใช่ตัวตนการชำระเงินและไม่ส่งต่อ ทิปทดสอบจากแดชบอร์ดไม่รวมในแถวบริจาค โดยส่ง event: "monetization_test" พร้อม meta.ninjabackerTest ที่มี id และ at (มิลลิวินาที Unix) สำหรับการแจ้งเตือนตัวอย่างโดยเฉพาะเท่านั้น
event: "monetization_update" เป็นภาพข้อมูลที่มีเฉพาะเมทาดาทาจาก type/platform: "socialstream". meta.monetization.wishlist มี enabled, qr, position, rank, total, url สาธารณะ และ item ปัจจุบัน (name, amount, currency, image, url สาธารณะ) หรือ null meta.monetization.ninja มี enabled, qr, position, username และ url ให้ทิปสาธารณะ ไม่รวม Tip ID ส่วนตัวเด็ดขาด meta.monetization.ebay มี enabled, qr, position, display (cycle/cheapest/first), seconds, การตั้งค่าประกาศที่เลือกเปิดได้ และ items สาธารณะ แต่ละรายการมี id, name, amount, currency, image, url, auction, startingBid, endsAt, available, bought และ updatedAt เวลาเป็นมิลลิวินาที Unix ไม่รวมข้อมูลรับรองผู้ขายหรือตัวตนผู้ซื้อ
การซื้อจากรายการอยากได้ที่ผู้ดำเนินรายการยืนยันยังรวม meta.wishlistPurchase พร้อม id, name, supporter หากมี และ at (มิลลิวินาที Unix) เป็นการยืนยันของผู้ดำเนินรายการ ไม่ใช่การแจ้งเตือนชำระเงิน Amazon และไม่นับเป็นบริจาคเงิน โอเวอร์เลย์ควรตัดซ้ำตาม id และข้ามประกาศซื้อเก่า
คำสั่งซื้อ Shopify ที่ชำระแล้ว
ตัวรับ Shopify ที่ลงลายเซ็นซึ่งเลือกเปิดใช้ได้ส่ง platform/type: "shopify" และ event: "purchase" เฉพาะสำหรับ orders/paid พร้อม financial_status: "paid", ยอดรวมบวก, test: false, ไม่มีการยกเลิก และมีเวลาการอัปเดตล่าสุดจากเนื้อหาที่ลงลายเซ็น การแจ้งเตือนทดสอบ ยังไม่ชำระ เก่า ยกเลิก และคืนเงินไม่ส่งการกระทำซื้อ ไม่มีการอนุมานเจตนาให้ของขวัญ
chatname เป็น Anonymous ไม่รวมช่องลูกค้า หมายเหตุส่วนตัว และ URL คำสั่งซื้อ chatmessage เป็นข้อความธรรมดาพร้อม textonly: true; subtitle เก็บชื่อสินค้าสาธารณะสูงสุดสามชื่อ meta.commerce มี orderTotal และ currency ในสกุลเงินร้านค้า พร้อม quantity เมื่อทราบจำนวนที่ถูกต้องครบถ้วน ผู้รับและจุดประสงค์สินค้าจริง/ดิจิทัลยังไม่ตั้ง ไม่มี hasDonation หรือ donoValue ถูกตั้งค่า id เป็นแฮชคงที่แบบทึบ จำกัดขอบเขตตามร้าน/คำสั่งซื้อพร้อมคำนำหน้า Shopify ไม่ใช่รหัสคำสั่งซื้อดิบ
การซื้อใช้เส้นทางกิจกรรม หมวด Purchase ใน multi-alerts และ Event Flow ที่มีอยู่ การโปรโมตสินค้าใช้ตัวเดิม meta.monetization.commerce แค็ตตาล็อก การนำเข้าสินค้าหรือตั้งป้ายโปรโมตเป็น Gift ไม่สร้างอีเวนต์ซื้อหรือของขวัญ การตั้งค่า Shopify และข้อจำกัดการส่ง.
ของขวัญและการค้า
ใช้ event: "gift" สำหรับของขวัญ, giftcontribution สำหรับการจ่ายเงินสมทบของขวัญ, giftfunded สำหรับการระดมทุนสำเร็จ และ purchase สำหรับการขายสินค้า ชื่อเหล่านี้ไม่ขึ้นกับผู้ให้บริการหรือเป็นสินค้าจริง/ดิจิทัล สงวนชื่อเดิม giftpurchase อีเวนต์สำหรับสมาชิกแบบของขวัญ Throne เคยใช้ชื่อนั้นผิดและขณะนี้ส่ง gift แหล่งสร้างอีเวนต์สมาชิกเดิมไม่เปลี่ยน ตัวกรองชื่ออีเวนต์ Throne กำหนดเองควรเปลี่ยนเป็น gift; ไม่ต้องเปลี่ยนตัวกรองการบริจาค
hasDonation ยังเป็นสัญญาณเพื่อความเข้ากันได้สำหรับการสนับสนุนที่ชำระเงิน พร้อม donoValue ที่เก็บมูลค่า USD ที่ให้มาหรือประเมิน ของขวัญและการร่วมสมทบคงช่องเหล่านั้นไว้ การระดมทุนสำเร็จไม่ใส่ทั้งคู่เพื่อไม่ให้นับเงินสมทบซ้ำ การขายสินค้าปกติไม่ใส่เป็นค่าเริ่มต้น โดยคงข้อกำหนด eBay อย่าอนุมานเจตนาให้ของขวัญจากร้านค้า URL รายการอยากได้ หรือสินค้าจริง การซื้อให้ผู้ซื้อเองหรือผู้รับอื่นยังเป็นการขาย เว้นแต่แหล่งระบุชัดว่าให้ของขวัญครีเอเตอร์
ค่าร่วมเพิ่มเติม meta.commerce ช่องข้อมูลคือ recipient (creator, buyer, other), itemType (physical, digital, service), quantity (จำนวนสินค้าบวก), currency (สกุลเงิน ISO), goalAmount (เป้าหมายระดมทุนในหน่วยหลัก ไม่ใช่รายได้ใหม่) และ orderTotal (ยอดรวมคำสั่งซื้อที่ชำระแล้วซึ่งทราบค่า ในหน่วยหลักของสกุลเงิน; เป็นการค้า ไม่ใช่รายได้บริจาค) ละรายละเอียดที่ไม่ทราบ เก็บชื่อสินค้าไว้ใน subtitle, ภาพใน contentimg, และข้อความผู้สนับสนุนใน chatmessage เมทาดาทาผู้ให้บริการเดิมยังใช้ได้ Throne ให้ผู้รับและสกุลเงิน พร้อม goalAmount เมื่อสำเร็จ ส่วน eBay ให้จำนวน ทั้งคู่ไม่เดาประเภทสินค้าหรือเปิดเผยข้อมูลส่วนตัวผู้รับ
ฟีดกิจกรรมแสดงอีเวนต์เหล่านี้แม้ไม่มีข้อความผู้สนับสนุน Multi-alerts ใช้รูปแบบบริจาคสำหรับของขวัญและการร่วมสมทบ รวมการแจ้งเตือน Gift Fully Funded แยกที่ไม่มีมูลค่าเงิน การซื้อมีหมวด Purchase แยก เปิดเป็นค่าเริ่มต้น พร้อม purchasestyle, purchasesound, purchaseaccent, และ disablepurchases ตัวควบคุม URL การแจ้งเตือนซื้อไม่เปลี่ยนยอดบริจาค
Event Flow มีชื่ออีเวนต์เหล่านี้ในตัวเรียก Event Type และ Other Event ตัวเรียก Donation ยังคงตรวจ hasDonation; ตัวเรียก Gift Sub คงความหมายสมาชิก Compare Property รับเส้นทางซ้อน เช่น meta.commerce.recipient เทมเพลตการกระทำรับ {meta.commerce.quantity} และ {meta.commerce.currency}, ควบคู่กับค่าที่มีอยู่ {donation}, {subtitle}, และ {meta} เส้นทางซ้อนแยกตัวพิมพ์ใหญ่เล็ก ค่าที่ขาดแสดงว่าง และห้ามไล่ผ่าน prototype
Webhook ร้านค้าครีเอเตอร์และโอเวอร์เลย์โปรโมต
การชำระ Donation สาธารณะของ Ko-fi คง hasDonation และได้รับค่า USD donoValue การชำระค่าสมัครสมาชิกใช้ new_subscriber หรือ resub, โดยระบุระดับใน membership Shop Order และ Commission ใช้ purchase โดยไม่มีค่าบริจาค ยังคงไม่รวมอีเวนต์ Ko-fi ส่วนตัว JSON ที่เข้ารหัสฟอร์มถอดรหัสหนึ่งครั้ง ชื่อและข้อความเป็นข้อความธรรมดา
Buy Me a Coffee donation.created คงการสนับสนุนทางเงิน; extra_purchase.created และ commission_order.created กลายเป็น purchase. wishlist_payment.created กลายเป็น giftcontribution โดยใช้เฉพาะยอดชำระนั้น; meta.commerce.completed บันทึกแฟล็กสำเร็จของผู้ให้บริการโดยไม่ส่งแถวเงินอีกครั้ง membership.started กลายเป็น new_subscriber พร้อมระดับใน membership, เลิกใช้ผิดวัตถุประสงค์สำหรับ hasDonation สำหรับชื่อระดับ ยอดตอนเริ่มสมัครสมาชิกไม่ถือเป็นการเรียกเก็บที่ชำระแล้วแยกอีกครั้ง อีเวนต์ทดสอบ คืนเงิน ล้มเหลว และการอัปเดต/วงจรสถานะที่ไม่รองรับไม่สร้างการแจ้งเตือนชำระเงิน ไม่รวมหมายเหตุผู้สนับสนุนที่ซ่อนไว้
Fourthwall รองรับ ORDER_PLACED (purchase), GIFT_PURCHASE (gift, recipient other), DONATION (แถวบริจาคปกติ) และ SUBSCRIPTION_PURCHASED (new_subscriber) ยอดคำสั่งซื้อเดิมยังคง hasDonation เพื่อความเข้ากันได้ย้อนหลัง โดยระบุว่า meta.commerce.legacyDonationValue: true; เป็นข้อยกเว้นชัดเจนจากค่าเริ่มต้นใหม่สำหรับการขายสินค้า คำสั่งซื้อที่ใช้บัตรของขวัญส่งการแจ้งเตือนซื้อโดยไม่มีค่าบริจาค เพราะอนุมานยอดเรียกเก็บใหม่จากยอดคำสั่งซื้อไม่ได้อย่างน่าเชื่อถือ และนับการซื้อของขวัญไปแล้ว ไม่ใช้ชื่อเรียกเก็บเงินและอีเมลเป็นตัวตนสาธารณะ อีเวนต์ทดสอบจากแดชบอร์ดและการอัปเดตคำสั่งซื้อไม่สร้างการแจ้งเตือนชำระเงิน
อะแดปเตอร์เหล่านี้คงการส่งต่อ การกระทำบอต Event Flow และการเลือกเส้นทางปลายทางเดิม พร้อม meta.webhookId การตัดรายการซ้ำ โดยให้ชื่อสาธารณะ ข้อความธรรมดา และชื่อสินค้าที่ทราบใน subtitle, และค่า ISO meta.commerce.currency ควบคู่กับค่าบริจาคแบบตัวเลขเมื่อเกี่ยวข้อง ไม่เพิ่มระบบบัญชีคืนเงินหรือการยืนยันตัวตนตัวรับใหม่ ให้ใช้เส้นทาง webhook เดิมที่ตั้งค่าของผู้ให้บริการ
meta.monetization.commerce ใน monetization_update มี enabled, qr, position, display (first/cycle), seconds และอาร์เรย์ items สาธารณะ แต่ละรายการมี name, url, image, amount หากทราบ (null เมื่อไม่ทราบ), currency และ purpose (shop/gift/support/membership) เป็นรายละเอียดโปรโมตที่ผู้ดำเนินรายการป้อน ไม่ใช่หลักฐานชำระเงิน การเพิ่มหรือแก้ไขรายการไม่ส่งอีเวนต์บริจาคหรือซื้อ โอเวอร์เลย์ทั่วไปใช้ mode=commerce; view=both|showcase|card|alerts แยกการโปรโมตจากกิจกรรม พารามิเตอร์ URL เพิ่มเติม style, scale, cardevery, cardfor และ onlytype ควบคุมการแสดงผล โหมดผู้ให้บริการเดิมยังรับตัวควบคุม view และกำหนดเวลา ดู คู่มือตั้งค่า.
อีเวนต์ของขวัญ Throne
การเชื่อมต่อ Monetization ที่เลือกเปิดใช้ส่งต่ออีเวนต์ Throne ที่ลงลายเซ็นพร้อม platform และ type ตั้งเป็น throne ทั้งสามใช้ค่าการส่งที่คงที่ id, ข้อความธรรมดา chatname, chatmessage พร้อม textonly: true, ชื่อสินค้าใน subtitle, และภาพย่อ HTTPS เพิ่มเติมใน contentimg.
| อีเวนต์ | ความหมาย | ยอดบริจาค / อันดับ |
|---|
gift | ของขวัญที่ซื้อแล้ว | hasDonation และค่า USD donoValue; อันดับของขวัญ +1 |
giftcontribution | การร่วมสมทบสำหรับของขวัญ | เฉพาะยอดร่วมสนับสนุน ไม่เพิ่มอันดับ |
giftfunded | ของขวัญระดมทุนสำเร็จ | ไม่มี hasDonation หรือ donoValue, ป้องกันการนับการสนับสนุนก่อนหน้าซ้ำ; อันดับของขวัญ +1 |
meta.throne มี itemName, creator (ชื่อผู้ใช้สาธารณะ), completed, currency และค่าในหน่วยหลัก amount สำหรับ giftfunded, ยอดเงินอธิบายเป้าหมาย ไม่ใช่รายได้ใหม่ ผู้ให้ของขวัญนิรนามยังคงเป็น Anonymous; ของขวัญชุมชนที่สำเร็จใช้ Community ไม่ส่งต่อช่องข้อมูลชำระเงินและจัดส่งส่วนตัว
monetization_update ภาพข้อมูลมีเพิ่มด้วย meta.monetization.throne: enabled, username, url, qr, position, rank, และ gifts ภาพข้อมูลเหล่านี้ไม่มี URL ของ webhook หรือข้อมูลรับรองการรับฟัง
คำสั่งเสียงผู้ดำเนินรายการ (พรีวิวเดสก์ท็อป)
ส่วน Event Flow เมื่อฉันพูดว่า... ตัวเรียกรับคำสั่งไมโครโฟนในเครื่องที่เชื่อถือได้จาก SSApp บริบทการกระทำภายในใช้ chatname: "Host", type: "hostvoice", วลีที่รู้จำได้ใน chatmessage, และ textonly: true ไม่ใช่อีเวนต์แพลตฟอร์มขาเข้าหรือช่องทางรับส่งแชตใหม่ การส่งช่องเหล่านี้ผ่านแชตไม่เรียกตัวเรียกเสียง
ต้องใช้แอปเดสก์ท็อปที่อัปเดต เริ่มไมโครโฟนอย่างชัดเจน และเปิดการกระทำหลังโหมด Test ดู การตั้งค่าพรีวิวและสถานะตรวจยืนยัน.
การควบคุมการแสดงสินค้า
ที่มีอยู่ monetization_update ภาพข้อมูลอาจรวม meta.monetization.commerce.live: null เพื่อใช้กำหนดการที่บันทึกไว้ หรือ {mode: "show" | "hide", url?: "https://...", until: 0 | epochMilliseconds} Show จับคู่ URL สินค้าที่บันทึกไว้แบบตรงตัว หากไม่มีสินค้าจะไม่แสดงการ์ด ค่า until ที่เป็นบวกจะหมดอายุและกลับสู่กำหนดการที่บันทึกไว้ ค่าเป็นศูนย์คงอยู่จนเปลี่ยนหรือ SSN เริ่มใหม่ Hide ระงับการโปรโมต ไม่ใช่การแจ้งเตือนกิจกรรมที่ชำระเงิน
commerce.viewerURL เป็น URL ร้านค้าแบบอ่านอย่างเดียวที่เผยแพร่ หรือสตริงว่าง เมื่อมี QR โปรโมตจะลิงก์ไปที่นั่น ไม่มีเซสชัน SSN หรือคีย์เผยแพร่ สินค้ายังคงอยู่ใน commerce.items ส่วนควบคุมแสดงผล การนำเข้า หรือการเผยแพร่ไม่ส่งอีเวนต์บริจาค/ซื้อ ดู การควบคุมสินค้า สำหรับใช้กับ Event Flow และ API ระยะไกล
ส่วน Event Flow commerceControl การกระทำรอคำตอบโดยตรง/Chrome (สูงสุดแปดวินาที) สำหรับข้อมูลอีเวนต์ทั่วไป จะคงอีเวนต์และเพิ่ม meta.commerceControlResult: {success: true, commerce: controlState} หรือ {success: false, error: "..."} สำหรับค่าตัวเลข อาร์เรย์ หรือค่าอื่นที่ไม่ใช่ออบเจ็กต์ที่มีอยู่ใน meta, เมทาดาทาไม่เปลี่ยน และส่งข้อมูลวินิจฉัยกลับเป็น commerceControlResult ในผลการกระทำแทน การควบคุมที่ล้มเหลวหยุดการกระทำถัดไปในสายเดียวกันโดยไม่ระงับอีเวนต์ชำระเงินต้นฉบับ การหมดเวลาไม่ได้ยืนยันว่าการควบคุมไม่มีผล ตรวจสถานะก่อนลองคำสั่งแบบอ้างอิงค่าปัจจุบัน เช่น Next ซ้ำ ความสำเร็จยืนยันสถานะเลือก/ซ่อน/กำหนดเวลาในเครื่อง ไม่เคยยืนยันการมองเห็นใน OBS หรือการซิงก์หน้าสาธารณะ
ขั้นตอนงาน Stream Deck / API แบบมีชื่อ
ส่วน ตัวเรียกขั้นตอนงานแบบมีชื่อ สร้างข้อความ Event Flow ภายในพร้อม type: "api", event: "workflow_trigger", chatname: "Stream Deck / API", ค่าว่างของ chatmessage, และ textonly: true ส่วนค่าของมัน meta.workflow ออบเจ็กต์มีชื่อตัวเรียกและ JSON ที่ผู้เรียกให้มา data ออบเจ็กต์ อ่านค่าผ่านเทมเพลต เช่น {meta.workflow.data.minutes} ประเมินเฉพาะโฟลว์ที่บันทึกและเปิดใช้ซึ่งตรงกับตัวเรียกนั้นอย่างชัดเจน ไม่ใช่อีเวนต์ผู้ชม/แชตขาเข้าและไม่เผยแพร่เป็นแชต การคัดลอกช่องเหล่านี้เข้าแชตไม่ทำให้ตัวเรียกที่ระบุชื่อทำงาน
รุ่นนำร่องผู้ชม NinjaChatter
ตัวเชื่อมต่อส่วนขยายแบบจับคู่รุ่นทดลองส่งแถวสำหรับแสดงผลเท่านั้นพร้อม type: socialstreamchat, platform: ninjachatter, และ textonly: true. meta.ninjachatter มีค่า origin: audience, ข้อมูลเชิงบรรยาย provider, และค่าสาธารณะ room ID แถวเหล่านี้ข้ามการตอบแพลตฟอร์ม บอต ตัวเรียก Event Flow และแต้ม ผู้ให้บริการที่แสดงไม่ได้หมายถึงการอนุญาต การจับแหล่ง NinjaChatter แบบเดิมรวม meta.ninjachatter.room สำหรับตัดรายการซ้ำเฉพาะห้อง
Cheer ใช้เส้นทางรับสิทธิ์และผลลัพธ์แยกที่ยืนยันตัวตน ไม่ใช้คำสั่งแชตพิเศษ ค่าที่ตั้งไว้แบบคงที่ส่งอีเวนต์โอเวอร์เลย์ Actions เดิม show_text ข้อความนานสามวินาที การรับหมายถึงช่องทางยอมรับ ไม่ได้ยืนยันการแสดงใน OBS ข้อมูลผู้ชมไม่สามารถเลือกการกระทำตามอำเภอใจ รุ่นนำร่องปิดอยู่ตามค่าเริ่มต้นใน NinjaChatter ส่วน Electron คงรีเลย์เดิมจนกว่าจะยืนยันความพร้อมของขอบเขตจับคู่ส่วนตัวใหม่
กระดานช่องการค้าและการขายล่าสุด
ตัวเดิม monetization_update อีเวนต์ (type/platform: socialstream) ยังรวม meta.monetization.boards ส่วนค่าของมัน board มี title, style (spots/teams), columns (1–20), visible, และสูงสุด 120 รายการของ spots แต่ละช่องมีค่าสตริง id, ข้อความธรรมดา label, status (available/claimed/revealed) และ result (ข้อความธรรมดา ว่างจนกว่าจะเปิดเผย) การจองและเปิดเผยเป็นสถานะแสดงผลที่ผู้ดำเนินรายการป้อน ไม่ใช่หลักฐานซื้อหรือการจัดสรรแบบสุ่ม
boards.sales เก็บระเบียนล่าสุดสูงสุด 100 รายการ: id, title, ตัวเลือกเพิ่มเติม amount (null เมื่อไม่ทราบ), currency, quantity, source, และ at (มิลลิวินาที Unix เมื่อบันทึก) automatic เลือกเปิดการรวบรวม, salesVisible ควบคุมการแสดงและ revision เพิ่มเมื่อเปลี่ยน การรวบรวมอัตโนมัติรับเฉพาะ purchase อีเวนต์จาก Shopify, ผู้ขาย eBay, Fourthwall, Ko-fi และ Buy Me a Coffee ไม่รวมอีเวนต์ส่วนตัว/ทดสอบ ไม่ถือเมทาดาทาประมูล ทิป ของขวัญ หรือการจองช่องเป็นการซื้อ ระเบียนอัตโนมัติไม่ใช้ยอดคำสั่งซื้อ ราคาประกาศขาย หรือยอดบริจาคแทนราคาสินค้า ระเบียนที่ป้อนเองใช้ source: "Host confirmed".
สถานะคงอยู่ในพื้นที่เก็บข้อมูลสร้างรายได้ส่วนตัวของการติดตั้งนี้ ภาพข้อมูลสาธารณะไม่รวมรหัสตัดการส่งซ้ำ ตัวตนผู้ซื้อ และข้อมูลลับ การขายที่แสดงอย่างชัดเจนเก็บรหัสอีเวนต์ไว้เพื่อนำออก การคืนเงินต้องให้ผู้ดำเนินรายการนำออก รหัสซื้อซ้ำถูกจำแยกไว้ (สูงสุด 2,000) แม้ล้างประวัติที่แสดงแล้ว ส่วนเดิม getCommerceState คำตอบรวม commerce.boards; commerceControl รับคำสั่งกระดาน/การขายที่อธิบายไว้ใน คู่มือกระดาน การแก้ไขด้วยตนเองเผยแพร่สถานะที่อัปเดต แต่ไม่สร้างอีเวนต์ซื้อ ยอดบริจาค หรือรางวัลแบบเสียเงิน โอเวอร์เลย์ซ่อนเมื่อไม่มีภาพข้อมูลจากผู้ดำเนินรายการนาน 35 วินาที
ส่วนเพิ่มของขั้นตอนผู้ขาย: commerce.boards.board.id ระบุรุ่นของกระดาน การสั่งด้วยตนเอง saleAdd อาจให้ค่า boardId และ spotId เพื่อบันทึกการขายและจองช่องนั้นเป็นการทำงานเดียวกัน การขายเชื่อมโยงซ้ำที่ยังอยู่ในประวัติล่าสุดจะถูกปฏิเสธ saleRemove พร้อม reopenSpot: true คืนช่องนั้นให้ว่างเฉพาะเมื่อรุ่นกระดานยังตรงกัน รายการขายสาธารณะไม่ใส่ช่องเชื่อมโยงสำหรับผู้ดำเนินการเหล่านี้ ตัวเลือกเพิ่มเติม platform ในการขายที่ป้อนเองคงแหล่งข้อมูลไว้สำหรับกรอง ส่วน source: "Host confirmed" ระบุวิธียืนยัน amount เป็นยอดรวมของรายการ รวมค่า quantity ค่าของอะแดปเตอร์คำสั่งซื้อที่ชำระแล้วของ eBay meta.ebayPurchase.quantity คงไว้
salesSettings.auctionSource เลือกเปิดตัวช่วยสินค้า Whatnot หรือ eBay Live ค่าของคำตอบควบคุม commerce.auction มีเพียง source, title, priceText, status และ at จากข้อมูลล่าสุดที่จับได้ auction_update, หรือ null หมดอายุหลังห้านาที และล้างเมื่อเปลี่ยนแหล่งข้อมูล ได้รับภาพข้อมูลว่าง หรือเริ่มใหม่ ตัวช่วยมีให้เฉพาะผู้ดำเนินการ ไม่บันทึกถาวรและไม่รวมในการเผยแพร่ให้ผู้ชม โดยทิ้งตัวตนผู้เสนอราคา/ผู้ชนะ สคริปต์แหล่งข้อมูลและข้อมูลอีเวนต์ประมูลไม่เปลี่ยน การคัดลอกร่างไม่ได้ยืนยันการชำระเงินหรือสร้างรายการขาย