*การแจ้งเตือนผู้ติดตาม YouTube ตรวจเป็นระยะและอาจล่าช้าหรือไม่ครบ เอกสารอ้างอิง API ไม่ได้รับประกันกรอบเวลาส่งสี่ชั่วโมงตายตัว ดู ข้อจำกัด API การติดตามอย่างเป็นทางการ.
Unix milliseconds. Sources convert supplied event times before sending the message; SSN supplies receipt time when no valid timestamp is available. Structured event times in meta also use Unix milliseconds, with missing or invalid times omitted or null. Duration fields keep their documented units.
โอเวอร์เลย์การค้าควรใช้ออบเจ็กต์ภาพข้อมูลใน meta (ตัวอย่างเช่น auction_update และ commerce_update) และหลีกเลี่ยงช่องข้อมูลระดับบนสุดที่เพิ่มเองโดยไม่มีมาตรฐาน
Network auction events from Whatnot and eBay include meta.captureId, an opaque page/connection marker. A change means consumers should review capture continuity. It is not an auction ID or proof of payment; it is reported with the next auction event.
API ไม่ส่งภาพตรากำหนดเอง ตราสำรองใช้ไอคอนอีโมจิตามที่ระบุด้านล่าง
Chat, paid-chat, and membership events include videoid, identifying the originating stream for targeted replies.
เมื่อ API รายงานอย่างชัดเจนว่า authorDetails.isChatModerator: true, ข้อมูลแชต Super Chat, Super Sticker, YouTube Gift และของขวัญสมาชิกจะรวม mod: true ไม่มีการอนุมานหรือแคชสถานะผู้ดูแลข้ามอีเวนต์
การแจ้งเตือนผู้ติดตามใหม่ใช้ myRecentSubscribers API (ตรวจทุก 5 นาที) หมายเหตุ: ผลอาจล่าช้าหรือไม่ครบ ระบุได้เฉพาะการติดตามที่มองเห็นแบบสาธารณะ
Data API ไม่ให้แบนเนอร์เปลี่ยนเส้นทาง YouTube ดังนั้น redirect ยังมีเฉพาะการจับ DOM มาตรฐาน
อีเวนต์
เมื่อใดที่ทำงาน
หมายเหตุข้อมูลที่รับส่ง
superchat
รายการ Super Chat จากประวัติ Data API หรือการตรวจสตรีมเป็นระยะ
การส่งต่อแชตจาก API ใช้ meta.plainText สำหรับข้อความธรรมดาควบคู่กับข้อมูลแบบสมบูรณ์ chatmessage เนื้อหา เป็นข้อความ ไม่ใช่ HTML และยังมีอีโมจิ Unicode ได้ ตราสมาชิกใช้สำรองเป็นอีโมจิ (⭐, 💝, 🏅, etc.) to remain consistent with DOM capture. Chat, paid support, and membership payloads include the native ID in meta.messageId when available, for deletion sync and pending bot reply cancellation.
การแจ้งเตือนผู้ติดตาม YouTube (new_follower)
ขณะนี้ Social Stream ตรวจพบผู้ติดตาม YouTube ใหม่ได้ด้วย myRecentSubscribers endpoint ของ API ทำงานคล้ายการแจ้งเตือนสมาชิก Streamlabs
hype_train มีเฉพาะเมทาดาทาและไม่รวม chatname หรือ chatmessage แดชบอร์ดควรอัปเดตการแสดงขบวนเดิมตาม meta.id แทนการเพิ่มทุกอัปเดตความคืบหน้าเป็นแชต ส่วน Meta Data Bar (meta.html) แสดงอีเวนต์เหล่านี้เป็นแถบความคืบหน้าด้านบน
type คือ obs; event คือ stream_stopped; meta.outputActive อาจเป็น false.
recording_started
OBS รายงานว่าเริ่มบันทึกแล้ว
type คือ obs; meta.obsEvent ระบุแหล่งอีเวนต์ OBS
recording_stopped
OBS รายงานว่าหยุดบันทึกแล้ว
type คือ obs; meta.outputState อาจมีสถานะ WebSocket ดิบ
scene_changed
OBS เปลี่ยนฉากโปรแกรมที่ใช้งาน
type คือ obs; meta.sceneName มีชื่อฉากเมื่อ OBS ให้มา
media_ended
อินพุตสื่อ OBS เล่นจบ
type คือ obs; meta.inputName และ meta.inputUuid ระบุอินพุตสื่อ
replay_buffer_saved
OBS บันทึกบัฟเฟอร์รีเพลย์
type คือ obs; meta.savedReplayPath อาจมีเส้นทางรีเพลย์ที่บันทึก
กล่องแจ้งเตือน Streamlabs
Socket alerts identify Streamlabs with meta.platform: "streamlabs". The alert kind stays in type และ event; meta.sourcePlatform identifies the upstream service when supplied.
Fan Club level: TikTok chat messages include meta.teamMemberLevel when an explicit Team level or numeric Fan Club badge level is available. It is a non-negative integer; 0 is an explicitly supplied zero, while an absent field means unknown. It excludes user-grade/gifter ranks and levels inferred from badge image filenames. Standard capture reads the numeric Fan Club badge metadata attached to each rendered chat message. The TikFinity activity-feed widget does not supply this field. For minimum-level filtering, use Compare Property → TikTok Team Level together with a TikTok source condition; messages with unknown levels do not match. The older meta.memberLevel field has capture-dependent meaning and should not be used for an exact Fan Club threshold.
ช่องเพิ่มเติมที่เลือกใช้ได้ ได้แก่ meta.catalogProductId (ค่าของแพ็กเก็ต product.productId), meta.parentProductId (product.parentId), meta.transactionType (ประเภทการขายของ Whatnot โดยไม่เปลี่ยนแปลง) และ meta.placeOrderErrorReason (Whatnot's supplied order/payment error code). These product references describe the catalog or parent listing; they do not replace an order ID. Stock quantity is not treated as purchased quantity. When product.breakInfo supplies them, meta.breakId, meta.breakSpotId, และ meta.breakFormat preserve the platform values, including numeric IDs. Missing fields are omitted; titles are not used to infer spot identity or random team assignments.
อีเวนต์ที่มีเฉพาะเมทาดาทา การจับเครือข่ายตั้ง meta.sourceMode เป็น network และให้ title, price, bidder, winner, bids, timer และ endingAt meta.ebay มี eventId, listingId, ระเบียนประกาศขาย GraphQL (listing), ประกาศขายปัจจุบันจากซ็อกเก็ตสาธารณะ (eventListing), และอัปเดตการประมูลล่าสุด (update). These preserve category, images, currencies, quantities, case-break details, auction results and timing fields without flattening away platform detail. The GraphQL record is a fetched snapshot; the socket listing and update carry newer live state. Auction start, will-start, and end updates accept both the original and V2 event names; the original name remains in meta.ebay.update.typename. A sold result identifies the auction winner, not confirmed payment. Initial/reconnect history is folded into the current snapshot rather than emitted as old wins. Removing all presented listings emits status: "idle" พร้อม cardCount: 0 เพื่อล้างการประมูล ทางสำรอง DOM คงช่องการ์ดตัวเล่นหรือตัวอย่างอีเวนต์
commerce_update
เมื่อส่วนภาพข้อมูลแค็ตตาล็อก/อีเวนต์สดเปลี่ยน
ภาพข้อมูลที่มีเฉพาะเมทาดาทาใน meta โหมดเครือข่ายรวม eventId, navigation.viewerCount และ playerCards สำหรับประกาศขายที่นำเสนอปัจจุบัน แต่ละรายการมีรายละเอียดรูปแบบเดียวกัน ebay ออบเจ็กต์เป็นภาพข้อมูลประมูล รายการการ์ดว่างล้างประกาศขายที่นำออกแล้ว ทางสำรอง DOM อาจรวม liveEvents, livePreview, currentEvent และ upcomingEvents.
reaction
เมื่อ eBay Live แสดงภาพเคลื่อนไหวหัวใจ/รีแอ็กชัน
ส่งตรงไปยังเป้าหมายรีแอ็กชันโดยเฉพาะ meta.reactionType คือ heart; eBay ไม่เปิดเผยชื่อรายผู้ใช้สำหรับภาพเคลื่อนไหว DOM เหล่านี้
meta includes reward/redemption id, title, cost, status, user input, and redeemer. Structured redemptions are shown once per redemption id during capture; rejected updates and redemptions from before capture started are ignored. New redemptions that arrive already accepted are supported when their original redemption time is supplied.
new_subscriber
channel.subscription.new.
membership กำหนดเป็นบทบาท subscriber; meta รวม { subscriber, plan }.
Forwards Lumni's chat and event rows with type: "lumni". Text-only mode converts HTML message bodies to plain text; donation display amounts stay in hasDonation, with optional numeric USD donoValue.
The Hide events setting suppresses event rows. joined also requires Capture "joined" stream events. Viewer updates require the viewer-count or hype setting.
Dock replies use the connected account's key to send plain-text messages of up to 300 characters. Disconnect stops polling and sending; Forget key removes the saved key for the selected server.
Connects with Socket.IO to the Hou.la event channel (https://api.hou.la/events, path /ws) using an event key (hle_) the creator generates in the Hou.la Studio. Open the page with the Social Stream Ninja extension or in SSApp. Messages use the normal Social Stream settings and destinations.
The event-key page is read-only. Neither mode synchronizes deletions; remove deleted messages from the dock manually. Message formatting follows the Text-only setting. Standard capture forwards new chat rows, excluding existing history, pending comments and visible deletion notices; use the event-key page for donation values, gifts, follows and viewer counts.
อีเวนต์
เมื่อใดที่ทำงาน
หมายเหตุข้อมูลที่รับส่ง
message
A new standard chat row, or a Hou.la comment event (an approved live comment).
chatname และ chatimg identify the commenter; event-key capture also supplies userid. chatmessage is plain text when textonly is enabled, otherwise escaped HTML. mod และ bot are set when available. Event-key capture adds hasDonation (100 coins) and numeric USD donoValue, estimated at $0.015 per coin, for paid comments; event stays blank.
gift
Hou.la gift event (a virtual gift sent during the live).
chatmessage is the gift name with its quantity (Dragon x3), hasDonation the coin total (150 coins), donoValue the numeric USD estimate at $0.015 per coin, and contentimg the gift image. meta มีค่า giftId, giftSlug, quantity, coins. Recent replays are dropped using the live and transaction ID.
new_follower
Hou.la follow event (a new follower during the live).
chatname / chatimg identify the follower.
viewer_update
Viewer count stamped on Hou.la event envelopes. While connected, the last known count is repeated every 30 seconds.
meta is the viewer integer. Sent only with capture enabled and either viewer counts or hype mode enabled. No count is sent before Hou.la supplies one.
การใช้งานในโค้ด: sources/instagram.js และ sources/instagramlive.js (identical copies), plus the optional Graph API bridge at sources/websocket/instagram.html
The API bridge polls Graph API comments for one chosen media item. A live video emits type: "instagramlive" and a post or Reel emits type: "instagram"; platform carries the same value. Comments are plain text (textonly: true) with an empty chatimg, userid when the API returns the author ID, and timestamp in Unix milliseconds when valid. meta.messageId is the native comment ID and meta.mediaId the media it belongs to. Comments that already exist when capture starts are shown on the page as history and not forwarded; hidden comments are skipped.
บนหน้าถ่ายทอดสด (/<user>/live/?broadcast_id=...), แชตสดมาจากเว็บ API ของ Instagram เอง โดยตรวจเป็นระยะจากต้นทางเดียวกันพร้อมคุกกี้เซสชัน: GET /api/v1/live/{broadcast_id}/get_comment/?last_comment_ts={ts} ทุกประมาณ 2 วินาที และ POST /api/v1/live/{broadcast_id}/heartbeat_and_get_viewer_count/ ทุกประมาณ 5 วินาทีเมื่อเปิดจำนวนผู้ชม หลังล้มเหลวต่อเนื่อง 3 ครั้ง (หรือเมื่อไม่มี broadcast_id ค้นพบได้) แหล่งข้อมูลกลับไปอ่าน DOM แชตที่แสดง
เปิด https://razo.tv/watch/USERNAME. In the desktop app, paste that URL into เพิ่มแหล่งข้อมูลอื่น (Add other source) and activate it. The signed-in dashboard chat popout and complete Chat overlay link from Creator Studio also work as source URLs.
Captures ordinary Razo chat, including loaded history, once per native message ID during the page session. Messages received while capture is off are skipped.
Chat uses type: "razo" และ platform: "razo", with display name, username, name color, image badges and message text or emotes. Text-only mode uses emote alt text.
Visible “Message removed” updates remove the corresponding captured message. Paid cards, activity notices, private staff/bot notices and imported multichat rows are excluded; use Razo for those features.
ต้องใช้ URL Live Stream API ของเจ้าของช่องจาก https://rumble.com/account/livestream-api เอกสาร Rumble ระบุว่า URL นี้มีคีย์ถ่ายทอดสด ไม่ต้องยืนยันตัวตนแยก และควรแชร์เฉพาะบุคคลภายนอกที่ไว้ใจ
ช่องทางรับส่งแบบอ่านอย่างเดียว เอกสาร Rumble Live Stream API สาธารณะไม่อธิบาย endpoint ส่งแชตอย่างเป็นทางการ แหล่งนี้จึงส่งต่อข้อความ/อีเวนต์เข้า Social Stream แต่ไม่ส่งแชตกลับ Rumble
livestreams[].chat มีค่าเฉพาะเมื่อสตรีมที่เลือกกำลังสด ใช้ ?streamId=... เพื่อเลือกตรึงสตรีมหนึ่งเมื่อ API ให้มากกว่าหนึ่ง ขณะนี้รหัสไม่ถูกต้องจะล้มเหลวแทนการสลับไปสตรีมอื่นเงียบ ๆ
แถวแชตใหม่ใช้ type/platform ของ wtv หรือ prime, ข้อความธรรมดา chatname, nameColor, และค่าที่ผ่านการทำให้ปลอดภัย chatmessage อีโมตในบรรทัดกลายเป็นภาพที่ปลอดภัยหรือข้อความ alt ในโหมดข้อความอย่างเดียว Prime ยังรวมค่าของแถว userid และรองรับทั้งลิงก์โปรไฟล์เมื่อเข้าสู่ระบบและป้ายชื่อผู้ใช้เมื่อออกจากระบบ อวาตาร์และตราเว้นว่างเมื่อไม่มีในโครงสร้างแถวที่ตรวจยืนยันแล้ว
ไม่รวมประวัติเริ่มต้น การ์ดปักหมุด และตัวอย่างตอบกลับ w.tv ใช้แชตแบบแสดงเฉพาะส่วน ให้เลื่อนไปข้อความล่าสุดเพื่อจับข้อมูล test ID ใน DOM เป็นดัชนีการแสดง ไม่ใช่รหัสข้อความดั้งเดิม Prime ข้ามประวัติเก่าที่โหลดเหนือข้อความเริ่มต้นและตัวแทนผู้ใช้ที่ถูกละเว้น
Cloud API capture emits plain-text chat and tip rows with type: "chaturbate". Tips carry hasDonation in tokens and numeric meta.tokens; they do not set a USD override. Anonymous tips use "Anonymous" and omit the sender identity. Media purchases use event: "purchase", the media name in subtitle, และ meta.mediaId และ meta.mediaType. meta.messageId preserves the native event ID; id is scoped to the broadcaster in meta.channel. Private messages and initial history are excluded. A tip amount does not identify a tip-menu purchase.
When Breaks has saved state, monetization_update รวม meta.monetization.breaks. It is null without an active break; otherwise version 1 contains revision, id, title, stage, visible, layout, columns, accent, showBuyers, showPrices, availableOnly, currency, highlight, highlightAt, and up to 120 spots. Spots expose only id, label, buyer, asking price, status, revealed result, description, and image. Buyer names and asking prices are omitted as empty/null when their display options are off. Notes, payment status, paid amounts, costs, stock, stock records, undo, and history are never included. These are host-managed assignments, not platform payment events. Event Flow Breaks results expose only the revision, active ID, and stage. Run a break.
Local Event Flow triggers break_started และ break_finished fire after a private workspace stage change commits. They use type และ platformsocialstream, chatname: "Breaks", and the public break title in chatmessage พร้อม textonly: true. They are sent directly to the host's Event Flow engine, not broadcast as chat rows. They contain no buyer, order, payment, packing or stock fields. Repeatedly saving the same stage does not fire another event; changing away and back can.
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
Patreon new pledges
Standard Patreon chat uses a patreon:chat:-prefixed message ID scoped to the chat, so separate messages with identical text remain distinct when duplicate filtering is enabled. When viewer counts are enabled and the page exposes its online-viewer counter, the source emits viewer_update with a numeric meta count.
The signed Patreon receiver maps members:pledge:create เป็น type/platform: "patreon" และ event: "new_subscriber". It requires a campaign/member identity and a current pledge_relationship_start on or after the connection was enabled. Free trials, gifted memberships, declined/former memberships and other event types are excluded.
membership และ subtitle contain the tier when available; chatname is the supplied name or Anonymous. chatmessage เป็นข้อความธรรมดา (textonly: true), with a labelled pledge amount only when both amount and campaign currency are supplied. No hasDonation หรือ donoValue is set: a new pledge is not a payment receipt. Emails, addresses, notes, raw member IDs and account URLs are excluded.
The stable patreon:-prefixed event ID is derived from campaign, member and pledge-chain start, preserving separate pledges with identical text. Delivery retries reuse that ID. Pending events and retry records are retained for seven days; workflows with irreversible external actions should also guard by event ID against interruption between processing and acknowledgment. Connect Patreon alerts.