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.
實作: 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=...),直播聊天來自 Instagram 自己的 Web API,使用工作階段 cookie 在同源進行輪詢: 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 作為備援。
透過以下方式輪詢帳號本身的活動動態: POST /api/v1/news/inbox/ 在任何 Instagram 頁面上約每 45 秒一次。第一次輪詢僅初始化去重集合,因此絕不會重播累積記錄;限時動態依據以下欄位去重: tuuid.
開啟 https://razo.tv/dashboard/chat-popout while signed in, or use https://razo.tv/overlay/chat/USERNAME for read-only capture.
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.
Event Flow 在 Event Type 和 Other Event 觸發條件中提供這些事件名稱。贊助觸發條件仍檢查 hasDonation;Gift Sub 觸發條件保留會員語意。Compare Property 接受巢狀路徑,例如 meta.commerce.recipient。動作範本接受 {meta.commerce.quantity} 和 {meta.commerce.currency},以及現有的 {donation}, {subtitle},以及 {meta}。巢狀路徑區分大小寫,缺失值顯示為空,並禁止遍歷原型。
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.