Kaynağınız için etkinlik adlarını, yük alanlarını ve yakalama gereksinimlerini bulun. Desteklenen uyarılara hızlı bir genel bakış için bkz. Olaylar ve Uyarı Uyumluluğu.
Yakalama ayarları, filtreler ve yük kuralları
Önemli: Olay kullanılabilirliği kaynağa, izinlere ve yakalama ayarlarına bağlıdır. Panelde veya öne çıkarılan katmanlarda olay işaretli satırları gizlemek için şunu ekleyin: &hideevents veya &hideallevents. Seçilen olayları gizlemek için şunu kullanın: &filterevents=subscription_gift,new_follower,gifted. Bu filtreler şu alanı taşıyan ücretli satırları da gizleyebilir: event; olay işareti olmayan sıradan bağış satırları olay filtreleriyle eşleşmez. Diğer mesaj filtreleri uygulanmaya devam eder.
Yakalama yöntemini seçin: YouTube, Twitch ve Kick için WebSocket modu genellikle daha geniş olay kapsamı sağlar. Standart DOM yakalama, sayfada gerçekten görüntülenen satırları ve kartları okur. YouTube Super Chat, Super Sticker ve Jewel hediyelerinin iki modda da yakalama yolları vardır; diğer hediye, bağış ve üyelik olayları kaynağa göre değişir. Desteklenen yollar ve gerekli ayarlar için platform tablolarına bakın.
Otomasyon mu Oluşturuyorsunuz? Şuna göz atın: Etkinlik Akışı Kılavuzu bu olay yüklerini özel tetikleyicilerde, uyarılarda ve iş akışlarında nasıl kullanacağınızı öğrenmek için. Kılavuz şu öğeyi içerir: Şablon Değişkenleri Başvurusu metin biçimlendirme içindir. Hediye tutarları, seri sayımı ve düzenlenebilir oyun örnekleri için Oyunlar ve ödüller oluşturun.
Yük biçimi: Bağış türü sohbet satırları şunu kullanmalıdır: hasDonation ve isteğe bağlı donoValue. Şunu ayarlamayın: event: "donation" sırf normal bir sohbet/bağış satırının değeri var diye ayarlamayın; belirli olay adlarını yalnızca şu örnekler gibi gerçek platform eylemleri veya ücretli öğe türleri için kullanın: superchat, supersticker, gift, veya jeweldonation. Kullanın: meta yalnızca tüketicilerin gerçekten ihtiyaç duyduğu ve mevcut alanların henüz kapsamadığı ek yapılandırılmış veriler için.
Özelliklerin Kullanılabilirliğine Hızlı Bakış
Her yakalama yönteminin şu anda hangi uyarı türlerini sağladığını görmek için bu tabloyu kullanın. Ayrıntılı yük notları aşağıdadır.
Özel Çoklu Yayın Uyarı Kutusu, canlı olayları altı temel uyarı kategorisine ayırır: Follow, Subscription/Member, Donation, Bits/Cheers, Raid/Host, ve Purchase, ayrıca iki isteğe bağlı kategori (Auction ve Hype Train) URL parametreleriyle etkinleştirilir. Bu kategorileri mevcut alandan türetir: event, membership, subtitle, hasDonation, ve meta burada belgelenen alanlardır; ayrı bir yük biçimi gerekmez.
Kaynak
Yeni Aboneler / Üyeler
Yeni Takipçiler
Bağışlar
Sayılar ve Ekler
YouTube (Data API köprüsü)
Üyeliğe katılma, yenileme ve hediyeler
Bireysel abone uyarıları* + toplamlar
Super Chat ve Super Sticker
İzleyici, abone ve görüntüleme toplamları (yoklama ile)
Twitch – DOM yakalama
Hediye paketi satırları ve hediye alıcısı bildirimleri
-
Şu alanla işaretlenen Bits: hasDonation
İzleyici sayısı, ödül kartları ve topluluk vurgu kartları
Twitch – EventSub/Websocket
Anlık abonelikler, yenilemeler ve hediyeler
Anlık takipler + toplam takipçi sayısı
Cheers, Power-ups ve kanal puanı kullanımları
İzleyici/abone/takipçi toplamları, yayın durumu, reklam bildirimleri
TikTok Live
-
Takip kartları (TikTok gösterdiğinde)
Toplam jeton sayısına dönüştürülmüş hediyeler
İzleyici sayısı, katılma uyarıları ve beğeni fırtınaları
YouNow
-
Hayran ve izleyici etkinliği
-
Canlı izleyici panelinden izleyici sayısı
Favorited Studio
-
-
-
Canlı izleyiciler sekmesinden izleyici sayısı
Whatnot
-
-
-
İzleyici sayısı, katılma uyarıları, canlı açık artırma meta verileri, ürünler ve çekiliş anlık görüntüleri
eBay Live
-
-
-
İzleyici sayısı, takipçi sayısı, canlı etkinlik kartı anlık görüntüleri, açık artırma altbilgi meta verileri (sunulduğunda), tepki kalpleri ve yaklaşan etkinlik meta verileri
Streamlabs Uyarı Kutusu
Abonelikler, hediyeler, sponsorlar, takipler
Cheer/bits, bağışlar (para birimiyle)
Cheer/bits, bağışlar (hasDonation)
Bir uyarı kutusu açıkken; ayrıca şu yolla kullanılabilir: sources/websocket/streamlabs.html soket belirteci
OBS Flow Actions
-
-
-
Şu koşulda Etkinlik Akışı için OBS çıkış, sahne, tekrar arabelleği ve medya bitiş olayları: actions.html OBS WebSocket'e bağlıdır
Kick – DOM
-
-
-
İzleyici sayısı ve temel ödül/hediye sistem bildirimleri; daha zengin uyarılar için Kick köprüsünü kullanın
Kick – Websocket/Köprü
Yeni abonelikler, yenilemeler ve hediyeler
Takip uyarıları + toplam takipçi sayısı
Destek/bağış olayları (miktar + para birimi)
Yayın durumu, ödül kullanımları ve profil meta verileri
Facebook Live
-
-
DOM'da görünür olduğunda Stars
Sohbet satırları, Stars ve izleyici sayısı sorguları
Rumble – DOM yakalama
-
-
Görünür Rant fiyatları
Sohbet, gelen baskınlar ve izleyici sayısı sorguları
Rumble – Websocket/API URL'si
Yeni abonelikler ve hediye abonelikler
Takip uyarıları + toplam takipçi sayısı
Rant/bağış (miktar + para birimi)
İzleyici toplamları, abone toplamları, canlı durum ve sohbet akışı
Streamplace
-
-
-
İzleyici sayısı ve sohbet adları, renkler, rozetler, yanıtlar ve bağlantılar
WorldsWave
-
-
Mevcut olduğunda bağış etiketleri
İşlenmiş canlı sohbet ve isteğe bağlı izleyici sayısı güncellemeleri
CHZZK
-
-
Görünür cheese bağış satırları
Sohbet satırları, rozet resimleri, ifadeler ve izleyici sayısı sorguları
BEAM
-
-
-
Yalnızca sohbet sayfası izleyici sayacı sunduğunda sohbet satırları ve izleyici sayısı sorguları
Seal Team Sloth
-
-
-
İşlenmiş açılır sohbet satırları ve viewer_update izleyici sayıları etkinken yoklar
Castyr
-
-
-
İşlenmiş açılır sohbet satırları ve isteğe bağlı izleyici sayısı güncellemeleri
RPLAY
-
-
-
Oturum açılmış /live/chat/box/ açılır pencere: type: "rplay" sohbet, avatarlar, seviye rozeti resimleri ve ifadeler. Jeton bağışları miktarını/birimini şu alanda korur: hasDonation ortak USD dönüştürmesi için; bağış olayı olmadan. İsteğe bağlı viewer_update yoklamaları tam sayı şu alanı kullanır: meta RPLAY'in herkese açık yayın uç noktasından. Aktarılan Twitch satırları hariç tutulur.
FLEX TV
-
-
-
Adlar, yazar renkleri, rozet resimleri ve üye meta verileri içeren işlenmiş sohbet satırları
Chat capture and viewer counts on chat and watch pages
*YouTube abone uyarıları sorgulanır ve gecikmeli veya eksik olabilir. API referansı sabit dört saatlik teslim süresi vadetmez. Bkz. resmî abonelik API sınırları.
Alanlara Genel Bakış
data burada mesaj nesnesini ifade eder; eklenecek fazladan bir sarmalayıcıyı değil. Sohbet satırları ve yalnızca meta veriden oluşan olaylar farklı biçimlere sahiptir: sayaçlar ve durum anlık görüntüleri şu alanı içermeyebilir: chatname/chatmessage. Platform tablolarında, mesaj normal bir sohbet satırını tanımlar, gerçek bir şu değeri değil: event: "message".
Alan
Biçim
Kullanım
data.type
metin
Katmanlar, filtreler ve Etkinlik Akışı tarafından kullanılan kaynak tanımlayıcısı. Instagram canlı sohbeti şu değer olarak korur: instagramlive ve canlı olmayan yorumları şu değer olarak tutar: instagram. Bkz. Kaynak Türleri Kılavuzu varyantlar, genel kaynaklar ve giden yönlendirme için.
data.chatname
metin
Source-provided display name used by message processing and non-overlay outputs. A configured user display-name alias may replace this value only in copied dock and overlay transport payloads. The opt-in Show display name (username) setting appends the username when a source supplies both names and they differ, ignoring capitalization, for example 알렌 (allenhklee). These copies retain the source name in meta.sourceDisplayName for moderation matching. Custom aliases take priority; username remains the account login.
data.username
metin
Varsa kaynaktaki kullanıcı adı. Takma ad uygulanmış panel veya katman yükü, özgün şu alanı korumak için bu alanı ekleyebilir: chatname kullanıcı eylemleri için; standart mesaj değişmeden kalır.
data.userid
metin
Platforma özgü kullanıcı tanımlayıcısı. Kullanıcı eylemleri bu değeri şu alan yerine tercih eder: username ve chatname.
data.platform
metin (isteğe bağlı)
Bazı entegrasyonlar bunu şu alanla birlikte içerir: type. Birçok kaynak bağdaştırıcısı bunu eklemez; şunu kullanın: type kaynak yönlendirmesi için.
data.id
metin | sayı (isteğe bağlı)
Mesaj veya olay tanımlayıcısı. Anlamı kaynağa ve taşıma yöntemine bağlıdır; her zaman platformun yerel moderasyon kimliği olduğunu varsaymayın. Şunu kullanın: meta.messageId bağdaştırıcı bunu silme eşitlemesi için sunduğunda.
data.donoValue
sayı (isteğe bağlı)
Tahminler dahil olmak üzere kaynağın sağladığı sayısal USD karşılığı. Geçerli bir değer (sıfır dahil), currency.js dönüştürmesinin önüne geçer. Bu değer yoksa tüketiciler USD tutarını hasDonation ve kaynak bağlamından tahmin eder. Özgün tutarlar ve birimler hasDonation ve mevcut sağlayıcı meta verilerinde kalır.
data.chatbadges
dizi | metin (isteğe bağlı)
Rozet resmi URL'leri veya rozet nesneleri (type: "img" şununla: src, type: "svg" şununla: html, veya type: "text" şununla: text). Aktarım, metin rozetinin birebir etiketini isteğe bağlı şu alanda korur: rawText ve kaçış uygulanmış şu alanı üretir: text eski katmanlar için. Sonraki aktarım geçişlerinde şu alanı yeniden oluşturun: text şuradan: rawText; şuna kaçış uygulamayın: text yeniden. Güncel işleyiciler şunu gösterir: rawText mevcut olduğunda olduğu gibi kullanın; aksi halde eski kodlanmış metin işleme yöntemini koruyun. Bu bir gösterim alanıdır, HTML görüntüleme izni değildir. Eski kaynaklar dizi yerine tek bir HTML metni gönderebilir. Rozet görüntüleyen katmanlar iki biçimi de kabul eder ve gönderen eski bir uzantı olsa da rozet HTML'sini ve URL'lerini yerel olarak temizler. Geçersiz rozetler sohbet veya üyelik mesajının görüntülenmesini engellememelidir.
data.event
metin | boolean
Sistem etkinliği tanımlayıcısı (örneğin viewer_update, subscription_gift, giftpurchase). Katmanların sistem bildirimlerini konuşma metninden ayırabilmesi için normal sohbette bu alan boş/false bırakılmalıdır.
data.chatmessage
metin
Mesaj gövdesi. Yalnızca şu koşulda temizlenmiş/görüntülenebilir HTML içerebilir: data.textonly false olduğunda.
data.textonly
boolean
Yalnızca şuna uygulanır: data.chatmessage. true şunu görüntüle anlamına gelir: chatmessage düz metin olarak işlenir; gerçek etiketler ve HTML varlığına benzeyen metinler korunur; bu gövdeyi çözmeyin, HTML temizlemesi yapmayın veya biçimlendirme etiketleri eklemeyin. Olay stilini görüntülenen öğeye uygulayın. false şu anlama gelir: chatmessage temizlenmiş/görüntülenebilir HTML içerebilir; bu bayrağı olmayan eski mesajlar aynı HTML davranışını korur. Şu örnekler gibi medya alanları hariç, diğer normal alanlar düz metindir: chatimg ve contentimg. Düz metin alanlarını şununla gösterin: textContent, ya da HTML şablonu oluştururken bir kez kaçış uygulayın; içeriklerini temizlemeyin veya tekrar tekrar çözmeyin.
data.contentimg
metin (isteğe bağlı)
İçerik resmi veya desteklenen medya URL'si. Eklentide ve masaüstü uygulamasında isteğe bağlı allowExternalGifs ayarı, mesaj metnindeki veya HTML bağlantısındaki ilk doğrudan HTTP(S) GIF bağlantısından boş alanı doldurur. URL yolu şu uzantıyla bitmelidir: .gif (büyük/küçük harfe duyarsız); sorgu parametreleri ve parçalar korunur. API anahtarı gerektirmez ve şunu korur: chatmessage ve mevcut ekleri kullanır; şu ayara uyar: removeContentImage. İsteğe bağlı hideExternalGifUrl ayarı şunu ekler: meta.hideExternalGifUrl: true; panel ve öne çıkarılan katman eşleşen GIF bağlantısını yalnızca resim yüklendikten sonra gizler; çevresindeki metni ve özgün yükü korur. Başarısız veya zaman aşımına uğrayan resimler ek kapsayıcısını kapatır ve bağlantıyı görünür bırakır. Yalnızca GIF katmanı, resim baytları alınamazsa doğrudan resim göstermeyi dener; animasyon zamanlaması bilinmiyorsa yapılandırılmış gösterim süresini kullanır. Başarısız veya takılan yüklemeler kuyruğu ilerletir. Şu alanı eklemez: event veya kaynağın şu alanını değiştirin: type. Harici resimlere içerik filtresi uygulanmaz; barındıran site gömmeyi engelliyorsa yüklenmeyebilir.
data.membership
metin
Şunun gibi okunabilir üyelik durumu: MEMBERSHIP, new_sponsor, gift_recipient. Arayüzler bunu rozetler, filtreler ve duyurular için kullanır.
data.subtitle
metin
Ek açıklayıcı bilgi (üyelik süresi, seviye yükseltmeleri, hediye eden...). Katmanların görünen adın altına yerleştirebilmesi için kısa ve yalnızca metin olarak tutun.
data.hasDonation
metin
Parasal veya sanal hediye miktarı ($5.00, 500 bits, 300 coins). Şu durumda bile doldurun: data.event bağış katmanlarının algılayabilmesi için boştur.
data.meta
sayı | nesne | metin (eski)
Tek sayaçlar (izleyici, takipçi, abone) için düz tam sayılar, daha zengin bağlam için nesneler kullanın. Twitch DOM'un şu olayı gibi bazı eski olaylar: community_highlight, bir dize taşır. Nesne özelliklerini okumadan önce olaya özgü biçimi kontrol edin; yeni yapılandırılmış ayrıntılar bir nesnede yer almalıdır.
data.firsttime
boolean
Şu değere ayarlanır: true ilk kez yazan algılama etkin, yerel veritabanı etkin ve bu, o kullanıcı/kaynak için saklanan ilk sohbet mesajı olduğunda. Panel bunu ilk kez yazanları vurgulamak ve ilk kez yazan bip filtreleri için kullanır; isteğe bağlı ilk kez yazan rozeti ayarı şu alanın başına yaprak rozeti ekler: chatbadges.
data.lastactivity
sayı
İlk kez yazan algılama ve yerel veritabanı etkin olduğunda, o kullanıcının daha önce saklanan son sohbet etkinliğinin saniye cinsinden Unix zaman damgası. Tamamen yeni kullanıcılar için eklenmez.
Meta Kuralları
Katman kontrol taşıması, yakalanan sohbet/olaylardan ayrıdır. Güncellenmiş alıcılar şunu kullanır: ssnControl bir teslimat öğesi içeren zarf: id, öne çıkarma target, isteğe bağlı yanıt kanalı ve anlık görüntü istemci kimliği. Mevcut öne çıkarma gövdeleri korunur. Herkese açık öne çıkarma kontrolleri kanal 7'yi kullanır; Actions kanal 6'yı korur. Poll ve Map durumu bir sunucu alanı içerir: epoch, revision ve reset işaretçisi; Timer, Ticker ve Spotify şunu kullanır: ssnState bir epoch ve revision ile. Bu işaretçiler geri yüklenmiş oy/sohbet geçmişini değil, sunucu durumunu açıklar. Kaynaklar yakalanan mesajlara kontrol zarfı alanları eklememelidir. Alındı onayı, eylemin tamamlandığını veya OBS'de görünür olduğunu göstermez. Bkz. geçiş durumu desteklenen özellikler, yanıt uzlaşması ve yeniden bağlantı sınırları için.
Phrase Guess yerel şu öğeyi kullanır: {response: text} server2 sohbet yanıtları için istek ve {action: "phraseGuessResponse", value: {type: "bot", chatname: name, chatmessage: text}} yalnızca panel duyuruları için. Sunucu gelen server3 mesajlarını etkinleştirmelidir; sunucu kontrolünü devre dışı bırakmak bu istekleri yine engeller. Panel duyuruları şu alanı içeren normal bot sohbet satırları olarak iletilir: textonly: true, bunları yakalama kaynağının sohbet girişlerine göndermeden. Eski API modu mevcut komut biçimini korur.
Panoları ve otomasyonları uyumlu tutmak için şu yapıyı genişletirken bu kurallara uyun: data.meta:
viewer_update, follower_update, subscriber_update, ve likes_update düz bir tam sayı kullanır: meta değeri. likes_update platformun güvenilir toplamıdır: tüketiciler bunu eklemek yerine görüntülenen değeri buna ayarlamalıdır. Arka plan betiği izleyici sayılarını şu alanda birleştirir: viewer_updates şu anahtara göre düzenlenmiş nesneyle: data.type.
giveaway_state yönetilen gösterimler için sunucunun oluşturduğu, yalnızca meta veriden oluşan bir anlık görüntüdür. meta.giveaway sürüm 2 şunu içerir: giveawayId, kalıcı roundId/epoch, artan generation yeni turlar boyunca, revision bir tur içinde, status, open, draw, keyword, count, ticketCount, dondurulmuş config, en fazla 120 önizleme entrants, ve son 20 winners. Girdiler şu alanı sunar: id, name, platform ve tickets; kazananlar şunu ekler: drawnAt ve kazanılan points. Coin Flip Pot şunu ekler: outcome; Number Hunt şunu ekler: number herkese açık şu alanla: low, high ve son guesses, asla sır değil. Tüketiciler çekiliş kimliğine göre filtreler ve eski nesilleri/revizyonları atar. Bunlar gösterim örnekleridir; tam bilet defteri veya ödeme talimatı değildir. Cüzdan anahtarları, bakiyeler ve rezervasyonlar izleyici anlık görüntülerine girmez. Sunucu şu kanala yayımlar: giveaway P2P etiketi ve etkin katman WebSocket akışları; bu, OBS'de görünür olduğu anlamına gelmez. Kılavuz.
meta.giveawayControlResult Etkinlik Akışı çekiliş eyleminin sonucunu içerir (ok, isteğe bağlı error, giveaway veya simulated). meta.giveawayHandled otomatik sohbet komutunun yeniden ücretlendirmemesi için, katılım/satın alma akışı eyleminin zaten işlediği çekiliş kimliklerini listeler. Düzenleyici şunu ekler: meta.economyTest simüle edilmiş çekiliş eylemleri için; bu bir kaynak platform olayı veya yetkilendirme kimlik bilgisi değildir.
video_stats yapılandırılmış bir şu öğeyi kullanır: meta harici kodlayıcı/sunucu sağlığı nesnesi; şu alanı içerir: provider, label, online, bitrateKbps, rttMs, bufferMs, paket kaybı/düşürme sayaçları ve isteğe bağlı codec ayrıntıları.
Bağış türü olaylar açıklayıcı bir nesne içerebilir; örneğin { amount, currency, supporter } Kick için, { bits } Twitch cheer'leri için. Üyelik olaylarının kaynağa özgü kendi meta verileri vardır; bunlar otomatik olarak parasal bağış sayılmaz.
Normalleştirilmiş Stripe, Ko-fi, Buy Me a Coffee ve Fourthwall webhook mesajları, sağlayıcı kapsamlı şu alanı içerir: meta.webhookId, sağlayıcının sabit olay kimliğinden kopyalanır; böylece sonraki sayfalar yeniden deneme ve karma aktarım kopyalarını bastırabilir.
Twitch baskınları şu alanı iletir: { fromId, fromLogin, viewers }. Diğer kaynaklar farklıdır: Whatnot şunu kullanır: meta.numRaiders, SharePlay ise isteğe bağlı şu alanı kullanır: meta.fromLogin/meta.viewers. Baskın meta verilerini okumadan önce kaynağa özgü satırı kontrol edin.
Twitch EventSub ödül kullanımları şu alanı sunar: meta.rewardId, cost, rewardTitle, redemptionId, ve eski alias hazırlanan mesajla birlikte sunulur. DOM ödül kartları ve diğer kaynaklar daha az veya farklı alanlar sağlayabilir.
user_banned moderasyon bileşenleri için yalnızca meta veriden oluşur. Şu alanı bilinçli olarak içermez: chatname ve chatmessage; kullanın: meta.username, meta.displayName, meta.avatarUrl, ve meta.profileUrl.
Kaynak kontrolü silme eşitlemesini destekleyen sohbet aktarımları, platformun yerel sohbet kimliğini şu alanda sunmalıdır: meta.messageId panelin dahili şu alanına dayanmak yerine: data-mid değeri.
Kaynak silmeleri şunu kullanır: {delete: {type, id}} bilinen bir panel mesaj kimliği için veya {delete: {type, meta: {messageId}}} platformun yerel mesaj kimliği için. Bilinen bir kimlik yalnızca eşleşen mesajları kaldırır. Yalnızca hedef kullanıcı biliniyorsa şunu gönderin: {delete: {type, userid}} veya {delete: {type, chatname}} o kullanıcının o platformdaki mesajlarını kaldırmak için. Hedef kullanıcı yerine asla moderatörün kimliğini kullanmayın. Gelen silmeler isteğe bağlı panelden platforma moderasyon eşitleme ayarını gerektirmez.
SSApp kaynak kimliği meta verileri şunu ekleyebilir: meta.ssnAccountRole, meta.ssnSourceId, ve meta.ssnSession bir kaynağa normal olmayan bir hesap rolü atandığında.
Etkinlik Akışı şu alanı ayarlayarak vurgulama isteyebilir: meta.featured = true sohbet yükünde ayarlanır; bu, mesajı panel/öne çıkan katmanlarında otomatik olarak öne çıkarır.
AI Event Overlay: Şu eylem: showAiEventOverlay tetikleyen mesajın bir kopyasını şu etikete gönderir: aievent-CONFIGURATION_ID ve şunu ekler: meta.aiEventOverlay: {profile: "CONFIGURATION_ID"}. Mevcut mesaj alanları ve nesne biçimindeki meta veriler korunur; skaler meta veriler şu alanda saklanır: meta.value. Bu, hedefli bir gönderimdir; yeni bir platform olayı değildir. Özgün mesaj değiştirilmez. Ayrıntılar için: kurulum kılavuzu.
İsteğe bağlı meta.aiEventOverlay.variation kaydedilmiş katman ayarlarında onaylanan ifadeyi birebir seçer. İzleyici metni ve meta veriler, oluşturma tamamlandıktan sonra şablon alanlarına yerleştirilir.
AI Event Overlay görüntüleme istekleri bir profil ve o profile ait özel görüntüleme belirteci gerektirir. Ayarlar ve API anahtarları yalnızca yerel SSN açılır penceresinden yönetilir. Yanıtlar şu biçimi kullanır {aiEventResponse: {target, value}} veya {aiEventResponse: {target, error}}. Oluşturulan sonuçların alanları template, duration, warnings, isteğe bağlı medya verisi URL’lerinin alanları ise image/audio.
Puanla ödenen yapay zekâ katmanı ödülleri aiEventPresentation (id, profile, expiresAt, result, message) kullanır ve alındığını aiEventDelivered (teslimat kimliği) ile onaylar. Puan kesintisi kayıtları ve iade tutarları ana makinede kalır.
Etkinlik Akışı şu alanı ayarlayarak panelde sabitleme isteyebilir: meta.pinned = true; isteğe bağlı meta.pinnedTarget bu sabitlemeyi, eşleşen şu alana sahip panelle sınırlar: label.
Etkinlik Akışı termal yazdırma sonucunu şu alana kaydeder: meta.thermalPrintResult (success ve isteğe bağlı code/error), sohbet olayını ve diğer meta verileri koruyarak. Meta verisi sayı veya başka bir nesne dışı değer olan olaylarda tanı bilgisi işlem sonucunda kalır ve olay değişmez.
İsteğe bağlı SSN çıkartma ödülleri:event: "sticker" yalnızca şu hedefe gönderilir: stickers katman etiketi, sadakat puanı düşüldükten sonra kullanılır. Şu alanı ayarlar: platform ve type özgün mesajın şu alanına: type, ve şunu korur: chatname, boş alanla: chatmessage, textonly: true, ve contentimg paketlenmiş göreli bir resim yolu veya sunucunun onayladığı bir HTTPS medya URL'si içerir. meta.sticker şunu içerir: id, pack, name, cost, duration (saniye), motion, redemptionId, ve expiresAt (Unix milisaniyesi). Bu, platform bağışı veya yerel kanal puanı olayı değil, SSN ödülüdür. Bkz. galeri ve kurulum kılavuzu.
Çıkartma oynatıcısı bir kontrol paketi döndürür: {action: "stickerReceipt", meta: {sticker: {redemptionId, success}}} resim yüklendiğinde veya başarısız olduğunda gönderene gönderilir. Yalnızca bağlı bir şu öğeden gelen alındılar: stickers eşinin bekleyen bir ödül kullanımını çözmesini sağlar. Başarısız veya onaylanmamış teslimat iadeyi tetikler; bu kontrol paketi bir sohbet olayı değildir. Her oturumda tek bir etkin çıkartma gösterimi önerilir.
Yapay zekâ sahne katmanı komutları şunu kullanır: { action: "aiOverlay", target, meta } veya panelden kontrol edilen yardımcı sunucu oynatımı şunu kullanır: { action: "cohostOverlay", target, meta }; şu gibi tüm komut ayrıntılarını koruyun: command, text, emotion, avatar, ve tts şunun içinde: meta.
Bir platform birden fazla sayacı birlikte sunuyorsa, açık anahtarlara sahip yapılandırılmış bir nesne tercih edin (meta.viewer_count, meta.follower_count) kullanın; dizelere farklı anlamlar yüklemeyin.
Ticaret katmanları şu alanın altındaki anlık görüntü nesnelerini kullanmalıdır: meta (örneğin auction_update ve commerce_update) ve gelişigüzel üst düzey alanlardan kaçının.
Platform Kapsamı
YouTube – Standart DOM Yakalama
Uygulama: sources/youtube.js
Canlı sohbet sekmesini açık tutun. Yakalama, o oturumda görüntülenen üyelik ve hediye kartlarını okur; izleyicinin kanal sahibi veya moderatör olması gerekmez. Hesap erişimi ve seçilen sohbet görünümü hangi satırların görünür olduğunu etkileyebilir.
İzleyiciler gösterilirken İzleyici Sayısı ve Sohbet Etkinliği katmanını açmak, izleyici sayılarını otomatik olarak ister. İzleyici sayısını göster ve Etkin sohbet katılımcılarını takip et ayarları da veri toplamayı etkinleştirir.
Takipçi uyarıları ve ek olaylar için, eklenti ayarlarında WebSocket modunu etkinleştirin.
Olay
Ne Zaman Tetiklenir
Yük Notları
sponsorship
Açık sohbet metni içermeyen üyelik karşılama başlığı (yeni üyeler, ulaşan hediye paketleri); yapılandırılmış karşılama kartlarını veya yerelleştirilmiş “… topluluğuna hoş geldiniz” metnini içerir.
membership çevrilmiş “MEMBERSHIP” ile doldurulur; subtitle algılandığında seri/seviye bilgisi içerir; nameColor izin verildiğinde üyelik yeşilini kullanır.
giftpurchase
Hediye paketi satın alma afişi (ytd-sponsorships-live-chat-gift-purchase).
membership şu hale gelir: gift_giver; subtitle bilindiğinde hediye sayısını taşır; şu alan yoktur: hasDonation veya donoValue.
giftredemption
Alıcılar için hediye kullanım duyurusu.
membership “MEMBERSHIP” olur; subtitle “… tarafından hediye edildi” ifadesini içerir.
resub
“… seviyesine yükseltti” ifadesini içeren yükseltme afişleri.
subtitle yeni seviye etiketini yakalar; membership “MEMBERSHIP” olarak kalır.
membermilestone
Başka bir etkinlik türü henüz belirlenmemişse sohbet metni içeren üyelik dönüm noktası kartları.
chatmessage üyenin mesajını içerir; membership üyelik etiketini taşır ve subtitle tespit edildiğinde üyelik süresini içerir. Bu, yeni üyelik satın alımı veya hediyesi değil, bir dönüm noktası mesajını belirtir.
superchat, supersticker, jeweldonation
Super Chat, Super Sticker, bağış duyuru kartları ve Jewels destekli YouTube Gifts (yt-gift-message-view-model).
hasDonation değeri taşır; event YouTube ücretli öğe türünü tanımlar. YouTube Gifts şunu kullanır: N Jewels mevcut olduğunda veya 1 YouTube Gift YouTube sayıyı gizlediğinde. Hediye resimleri şunu kullanır: contentimg, hediye etiketlerinde şu kullanılır: subtitle, asgari hediye ayrıntıları da şu alana yansıtılır: meta.youtubeGift.
jeweldonation hediye efekti
YouTube, canlı sohbetin üzerinde animasyonlu bir Jewel hediyesi gösterir (ytls-gift-overlay-item-view-model).
Animasyonun normal hediye satırını çoğaltmadan oynatılabilmesi için doğrudan özel GIF/medya hedefine gönderilir. contentimg animasyonlu varlığı ve şunu taşır: meta.youtubeGift.animationUrl/animationDescription efekt ayrıntılarını korur.
reaction
YouTube'un canlı emoji çeşmesinde izleyici tepkisi görünür.
Doğrudan özel tepki hedefine gönderilir. Anonim emoji ve resim URL'si şu alanda korunur: chatmessage/contentimg ve şu alanın altında: meta.reactionType/reactionImage. Bilinen canlı çeşitler ❤, 😄, 🎉, 😳 ve 💯 içerir.
thankyou
Bağış tutarı varken sohbet metni sağlanmadığında kullanılan yedek mesaj.
Korur: hasDonation ve katmanlar için otomatik olarak “Bağışınız için teşekkürler!” metnini ekler.
redirect
YouTube yönlendirme afişi canlı sohbette görünür (baskın bildirimine en yakın karşılık).
Şuradan yalnızca DOM yakalama: yt-live-chat-banner-redirect-renderer. Şunu ayarlar: event şu değere: redirect ve şunu kullanır: membership etiket olarak kullanılır; böylece katmanlar bunu diğer sistem bildirimleri gibi görüntüler.
viewer_update
Social Stream'in izleyici uç noktasını 30 saniyede bir sorgular (kota hatalarında sayfadan veri toplamaya döner).
meta canlı izleyici tam sayısıdır; birleştirilmiş şu alana katkıda bulunur: viewer_updates arka plan betiğinde.
Üyelik blokları ayrıca şunu ayarlar: membership moderatör/üye sohbeti için; buna karşılık subtitle ay sayılarını veya seviye adlarını taşır. sourceName/sourceImg şu işlemden sonra doldurulur: getChannelInfo başarılı olduğunda. Standart DOM sohbeti artık şunu içerir: meta.messageId YouTube, panelin silme eşitlemesinde kullandığı yerel canlı sohbet mesaj kimliğini sunduğunda.
YouTube – Websocket/Data API Yakalama
Uygulama: sources/websocket/youtube.html, paylaşılan yardımcılar şu konumda: shared/
Varsayılan OAuth kapsamları: youtube.readonly ve youtube.channel-memberships.creator. İsteğe bağlı yazma erişimi şunu ekler: youtube.force-ssl sohbet gönderme, moderasyon, yasaklama ve yayın ayrıntısı düzenlemeleri için; YouTube yalnızca sohbet yazma kapsamı sunmadığından Google bunu geniş YouTube yönetim izni olarak gösterebilir.
Kanal istatistikleri ayar başına anahtarlara uyar (showsubscount, showviewercount).
API özel rozet görsellerini iletemez; yedek rozetler aşağıda belirtilen emoji simgelerini kullanır.
API açıkça şu durumu bildirdiğinde: authorDetails.isChatModerator: true, sohbet, Super Chat, Super Sticker, YouTube Gift ve üyelik hediyesi yükleri şunu içerir: mod: true. Moderatör durumu olaylar arasında çıkarılmaz veya önbelleğe alınmaz.
Yeni abone uyarıları şunu kullanır: myRecentSubscribers API (5 dakikada bir sorgulanır). Not: Sonuçlar gecikmeli veya eksik olabilir; yalnızca herkese açık abonelikler belirlenebilir.
YouTube yönlendirme afişleri Data API tarafından sunulmadığından, redirect yalnızca Standart DOM yakalama üzerinden kullanılabilir olmaya devam eder.
Olay
Ne Zaman Tetiklenir
Yük Notları
superchat
Data API geçmişinden veya yayın yoklamasından alınan Super Chat girdileri.
hasDonation sitedeki miktarı korur (para birimi + değer); event şudur: superchat. Eski WebSocket sürümleri şunu kullanırdı: event: "donation" bu satır için; bu nedenle tüketiciler bunu eski alternatif ad olarak kabul etmeye devam edebilir.
supersticker
Super Sticker (yalnızca yedek mesaj metni; API'den resim gelmez).
hasDonation miktarı tutar; chatmessage çözülmüş açıklama metnini içerir.
jeweldonation
YouTube giftEvent izleyiciler Jewels kullanarak Gifts aldığında gönderilen mesajlar.
hasDonation şunu tutar: N Jewels, veya 1 YouTube Gift YouTube sayıyı gizlediğinde; contentimg sunulduğunda hediye varlığı URL'sini kullanır; subtitle hediye etiketini taşır; meta.youtubeGift ek hediye ayrıntılarını taşır.
sponsorship
Şu yolla katılan yeni üye: newSponsorEvent.
membership şu hale gelir: new_sponsor veya new_member; meta şunu içerir: originalEventType, süreler ve seviye bilgileri.
resub
Üyelik yenilemeleri veya seviye yükseltmeleri.
membership şu hale gelir: renewed_member (yenilemeler) veya upgraded_member (yükseltmeler); subtitle seviyeyi gösterir.
giftpurchase
API üzerinden satın alınan hediye paketleri.
membership şu değere ayarlanır: gift_giver; subtitle sayıyı/seviyeyi listeler; şu alan yoktur: hasDonation veya donoValue.
giftredemption
Hediye kullanım bildirimleri.
membershipgift_recipient; varsayılan rozet 🎁 olur; subtitle hediye edilen seviyeyi belirtir.
membermilestone
Dönüm noktası sohbet mesajları (memberMonth veya displayMessage mevcut olduğunda).
membershipmember_milestone; subtitle ayları + seviyeyi özetler; meta ham dönüm noktası eşlemesini yakalar.
viewer_update
İzleyici raporlama etkin olduğunda yayın istatistikleri (eşzamanlı izleyiciler).
meta tam sayı adettir; DOM betiklerinin davranışını yansıtır, böylece sonraki tüketiciler iki akışı birleştirebilir. Şunu kullanan bir panel: &showviewercount izleyici sayısı toplamayı 70 dakikalığına ister ve genel ayarı kalıcı olarak değiştirmeden bu isteği her saat yeniler.
likes_update
Şu koşulda resmî video istatistikleri yoklaması: Platform beğeni toplamlarını gönder etkin olduğunda.
meta videonun geçerli beğeni sayısının tam sayı değeridir. Sayı değiştiğinde ve tüketicilerin güncel kalması için değişmediği süre boyunca düzenli olarak gönderilir. Genel captureliketotals ayarı bunu etkinleştirir; eski captureyoutubelikes uyumluluk alternatif adı olarak kalır. Açılır pencerenin panel başına şu ayarını etkinleştirmek: &showlikecount seçeneği bu genel yakalama ayarlarını da kalıcı olarak etkinleştirir; URL parametresini manuel eklemek ise yalnızca görüntülemeyi kontrol eder. Gösterim seçeneğini kapatmak genel toplamayı devre dışı bırakmaz.
subscriber_update
Şu durumda kanal istatistiği sorgusu (aboneler): showsubscount açıkça devre dışı bırakılmadığında.
meta toplam abone sayısıdır; arayüz pano sayaçlarını günceller.
view_update
Şu durumda kanal istatistiği sorgusu (tüm zamanların görüntülemeleri): showviewercount veya hype modu etkin olduğunda.
meta görüntüleme sayısının tam sayı değeridir.
live_chat_ended
Bağlı yayının canlı sohbeti kullanılamaz hale gelir.
meta.streamTitle yayın meta verileri önbelleğe alındığında doldurulur.
user_banned
userBannedEvent canlı sohbet API'sinden veya gRPC akışından.
Moderasyon bileşenleri için yalnızca meta veriden oluşan olay. meta kullanıcı adı/görünen ad, kanal kimliği, avatar/profil URL'si, moderatör, yasaklama/zaman aşımı süresi ve kalıcılık bilgisini içerir.
new_follower
Şu yolla algılanan yeni abone: myRecentSubscribers API (5 dakikada bir sorgulanır).
chatname abonenin kanal adıdır; chatmessage YouTube kaynak sayfasında abone uyarı mesajları etkinleştirilmedikçe boştur. meta şunu içerir: channelId, title, subscribedAt, gruplanmış patlamalar ise şunu ekler: grouped, count, others, ve subscribers. Not: Sonuçlar gecikmeli veya eksik olabilir; yalnızca herkese açık abonelikler belirlenebilir.
API'den gelen sohbet aktarımları şunu kullanır: meta.plainText zengin içerikle birlikte düz metin mesaj için: chatmessage içeriği. Bu HTML değil, metindir ve yine de Unicode emoji içerebilir. Üyelik rozetleri yedek olarak emoji kullanır (⭐, 💝, 🏅vb.), DOM yakalamasıyla tutarlı kalmak için. Normal sohbet yükleri ayrıca şunu içerir: meta.messageId böylece panel tarafındaki silme eylemleri YouTube moderasyon API'sine geri ulaşabilir.
YouTube Abone Uyarıları (new_follower)
Social Stream artık şu öğeyi kullanarak yeni YouTube abonelerini algılayabilir: myRecentSubscribers API uç noktası. Streamlabs abone uyarılarına benzer şekilde çalışır.
Nasıl çalışır:
Yeni aboneler için YouTube API'sini her 5 dakikada bir yoklar
Yeni aboneleri algılamak için görülen aboneleri localStorage içinde takip eder
Şunu üretir: new_follower abonenin adı, avatarı ve kanal kimliğiyle olaylar
Abone uyarı mesajlarını varsayılan olarak kapalı tutar; etkinleştirildiğinde şu öğenin geçerli çeviri metnini kullanır: alert-just-subscribed
Yeniden bağlantıların katmanları veya Etkinlik Akışı'nı doldurmaması için, varsayılan olarak üçten fazla yeni abonenin aynı anda geldiği durumları gruplar
Sınırlamalar (bunlar Social Stream sınırlamaları değil, YouTube API kısıtlamalarıdır):
Teslimat gecikmesi garanti edilmez – SSN her beş dakikada bir yoklar, ancak API gecikmiş veya eksik sonuçlar döndürebilir. Sabit dört saatlik bir aralığa güvenmeyin.
Yalnızca herkese açık abonelikler – Abonelik listesini gizli olarak ayarlayan aboneler uyarı tetiklemez. YouTube'da abonelikler varsayılan olarak gizlidir.
Yalnızca kanal sahibi – Yalnızca sahibi olduğunuz ve sahibi olarak kimlik doğruladığınız kanallar için abone uyarıları alabilirsiniz.
API kota kullanımı – Her yoklama 1 API birimi harcar. 5 dakikalık aralıklarla günde yaklaşık 288 birim kullanılır (varsayılan günlük 10.000 birim kotadan).
Yalnızca meta veriden oluşan yasaklama/zaman aşımı olayı
new_follower
-
Yeni abone (yoklama ile; gecikebilir)
Twitch – Standart DOM Yakalama
Uygulama: sources/twitch.js
Twitch sohbetini açık tutun. Üyelik ve kullanıcı bildirimleri, Twitch bunları görüntülediğinde yakalanır; yayıncı veya moderatör hesaplarıyla sınırlı değildir. Hesaba özgü özellikler için kimlik doğrulama gerekebilir.
İzleyici sayısı istekleri şu adrese gider: https://api.socialstream.ninja/twitch/viewers her 30 saniyede bir.
Takipçi uyarıları, baskınlar ve tam olay desteği için, eklenti ayarlarında WebSocket modunu etkinleştirin.
İzleyicilerin paylaştığı Watch Streak bildirimleri varsayılan olarak kapalıdır ve şu seçeneği gerektirir: Twitch İzleme Serilerini Göster ayarı.
İsteğe bağlı PluralMind ayarı şu alanı değiştirebilir: chatname, nameColor, ve şunun vekil tarafından sarmalanmış kısmı: chatmessage, ayrıca zamir metin rozeti ekleyebilir. username Twitch giriş adı olarak kalır; ilgili silmeler şunu taşır: delete.meta.pluralmind böylece panel bu sabit giriş adını kullanır.
Olay
Ne Zaman Tetiklenir
Yük Notları
reward
Kanal puanı kullanım kartları (7TV ödül kapsayıcısı dahil).
chatmessage ödül kullanımı metnini içerir; membership değişmeden.
giftpurchase
“Kullanıcı kanalda X abonelik hediye ediyor” gibi sistem satırları.
chatmessage sistem satırıdır; katmanların hediye veren kampanyalarını vurgulamasını sağlar.
subscription_gift
Hediye abonelik bildirimleri (“Kullanıcı, … kişisine bir abonelik hediye etti”).
Olayı vurgu filtreleri için işaretler; membership alıcı rozetinin etiketi olarak kalır.
viewer_update
Social Stream izleyici vekiline 30 saniyede bir fetch isteği (hata durumunda 0).
meta tam sayı izleyici sayısı.
hype_train
Twitch'in sabitlenmiş topluluk vurgusu, açılır sohbette etkin bir Hype Train gösterir.
Şu alanı içeren, yalnızca meta veriden oluşan DOM yedeği: meta.sourceMode şu değere ayarlanır: dom. Görünen seviye, zamanlayıcı ve şu alanı kullanır: meta.progressPercent Twitch EventSub puan toplamlarını sunmadığında.
community_highlight
Twitch'in “Community Highlight” bileşeni içindeki öğeler.
meta otomasyon bağlantıları için çıkarılan vurgu metnidir.
knock
Sohbetin üzerinde görüntülenen Stream Together iş birliği davetleri.
chatmessage davet metnini içerir; chatname varsa uyarı kullanıcısından türetilir.
watch_streak
İzleyicinin isteğe bağlı olarak paylaştığı, Twitch sohbetinde görüntülenen Watch Streak bildirimi.
meta.streakCount algılandığında görünür sayıyı içerir; meta.milestoneId varsa DOM bildirim tanımlayıcısını kullanır.
Bits/Cheers şu alanı doldurur: hasDonation (örneğin “500 bits”); buna rağmen data.event boş kalır; bağış bileşenlerini görüntülerken bu alana dayanın. Abone serisi bilgisi şu alanda görünür: subtitle rozetler ayları sunduğunda.
Twitch – EventSub/Websocket
Uygulama: sources/websocket/twitch.js ortak çekirdek ile: providers/twitch/chatClient.js
EventSub ile teslim edilen olaylar ve izleyici/takipçi/abone toplamları için Helix sorgulaması.
WebSocket modu gerçek zamanlı şu veriyi sağlar: takipçi uyarıları, abonelik olayları, baskınlar, cheer'ler, Power-ups, kanal puanı kullanımları ve hype train meta verileri.
Shared Chat satırları Twitch IRC'nin şu öğesini kullanır: source-room-id şu alanı doldurmak için: sourceName/sourceImg bağlı kanaldan farklı olduğunda özgün kanalla.
İzleyicilerin paylaştığı Watch Streak bildirimleri varsayılan olarak kapalıdır ve şu seçeneği gerektirir: Twitch İzleme Serilerini Göster ayarı.
İsteğe bağlı PluralMind ayarı şu alanı değiştirebilir: chatname, nameColor, ve şunun vekil tarafından sarmalanmış kısmı: chatmessage, ayrıca zamir metin rozeti ekleyebilir. username ve userid Twitch kimliğini korur; ilgili silmeler şunu taşır: delete.meta.pluralmind böylece panel bu sabit alanları kullanır.
Olay
Ne Zaman Tetiklenir
Yük Notları
cheer
IRC veya EventSub ?zerinden Cheer bildirimleri channel.bits.use.
hasDonation “N bits”; meta.bits sayısal; chatmessage ham mesajı korur; kimliği belirlenen cheer gönderenler şu alanı içerir: chatimg.
powerup
EventSub'dan yerleşik veya özel Power-up bildirimleri channel.bits.use.
Boş alan içeren, yalnızca olay yükü: chatmessage ve şu alan yoktur: hasDonation, böylece normal sohbet satırı oluşturmaz. meta.bits sayısaldır ve meta.powerUp Twitch alt türünü, başlığı/ödül kimliğini, efekt ayrıntılarını ve varsa sağlanan mesaj metnini korur.
new_subscriber
channel.subscribe veya şu alanı içeren USERNOTICE: msg-id=sub.
meta şunu içerir: { userId, tier, isGift }; mevcutsa önbellekteki abone toplamı artar; izleyici toplamları ayrı sorgulanır.
resub
channel.subscription.message veya USERNOTICE msg-id=resub.
meta seriyi ve birikimli ayları taşır; chatmessage yeniden abonelik metnini içerir.
subscription_gift
channel.subscription.gift veya USERNOTICE msg-id=subgift.
meta toplam hediye sayısını ve seviyeyi sunar; chatmessage eylemi özetler.
meta ödül kimliği, başlık, maliyet, istem, kullanıcı girdisi, ödül kullanımı kimliği/durumu ve eski alternatif adı içerir. Üst düzey şu alan yoktur: reward nesnesi bu EventSub işleyicisi tarafından gönderilir. Eski tüketiciler hâlâ şunu gösterebilir: channel_points kullanımdan kaldırılmış alternatif ad olarak.
raid
EventSub channel.raid veya USERNOTICE msg-id=raid.
meta = { fromId, fromLogin, viewers }.
watch_streak
Şu alanla isteğe bağlı Twitch IRC USERNOTICE: msg-id=viewermilestone ve msg-param-category=watch-streak.
İzleyiciyi şu alana dahil eder: chatname, Twitch'in bildirim metni şu alanda: chatmessage, ve meta.streakCount/meta.milestoneId. Diğer genel USERNOTICE türleri yok sayılmaya devam eder.
new_follower
channel.follow EventSub bildirimleri.
Otomatik artırır: follower_update; meta şunu kaydeder: { userId, followedAt }.
viewer_update
Helix streams her 30 saniyede bir yoklama.
meta tam sayı izleyici sayısı; ayarlarda izleyici istatistikleri etkin değilse gönderilmez.
follower_update
Takip olaylarından sonra veya düzenli yoklama ile alınan Helix toplam takipçi sayısı.
meta tam sayı takipçi sayısı.
subscriber_update
Helix toplam abone sayısı (abonelik kapsamına sahip yayıncı belirteci gerektirir).
meta tam sayı abone sayısı.
stream_online / stream_offline
EventSub stream.online/stream.offline.
meta.startedAt çevrimiçi olaylarda bulunur; çevrimdışıyken boş nesne kullanılır.
ad_break / ad_request / ad_schedule
Reklam yöneticisi API yanıtları (channel.ad_break.begin, elle POST channels/ads, GET channels/ads).
meta panolar için süreyi, istekte bulunanı ve zamanlama yükünü ayrıntılandırır.
hype_train
EventSub channel.hype_train.begin, channel.hype_train.progress, ve channel.hype_train.end v2 bildirimleri.
Yalnızca meta veriden oluşan olay: şu alan yoktur: chatname veya chatmessage. meta.phase şudur: begin, progress, veya end; meta tren kimliği, seviye, ilerleme, hedef, toplam, katkıda bulunanlar, zaman alanları, paylaşılan tren bayrağı ve şunu içerir: trainType. Treasure Train olayları şu alanla sunulur: meta.trainType Twitch bunları etiketlediğinde.
user_banned
EventSub channel.ban, veya IRC CLEARCHAT EventSub yasaklama olayları kullanılamadığında yedek olarak kullanılır.
Moderasyon bileşenleri için yalnızca meta veriden oluşan olay. meta kullanıcı adı/görünen ad, kullanıcı kimliği, avatar/profil URL'si, moderatör, neden, yasaklama/zaman aşımı süresi ve kalıcılık bilgisini içerir.
Sohbet yükleri paylaşılan sağlayıcıyı yeniden kullanır; bu nedenle data.event `/me` için doldurulur (action) ve eski bits etiketleri EventSub akışları dışında da kullanılır. Twitch GIF mesajları Giphy varlığını şu alana yerleştirir: contentimg, şunu bırakın: chatmessage boş bırakın ve Twitch'in yedek etiketini şu alanda koruyun: meta.gifLabel. Yinelenenleri ayıklama ve silme mantığı mesaj kimliklerini kullanır; SSN üzerinden gönderilen mesajlar yerel alanı kullanır: message_id Twitch'in şu alandaki IRC yankısından: data.id.
Twitch Hype Train Meta Verileri
hype_train yalnızca meta veriden oluşur ve şu alanı içermez: chatname veya chatmessage. Kontrol panelleri mevcut tren görünümünü şu alana göre güncellemelidir: meta.id her ilerleme güncellemesini sohbet olarak eklemek yerine. Meta Veri Çubuğu (meta.html) bu olayları üst ilerleme çubuğu olarak gösterir.
Alan
Yazın:
Notlar
type
metin
Her zaman twitch.
event
metin
Her zaman hype_train.
meta.phase
metin
begin, progress, veya end.
meta.id
metin
Sabit tren kimliği. Görünür tek bir tren bileşenini eklemek/güncellemek için bunu kullanın.
meta.broadcasterUserId
metin
Twitch yayıncısının kullanıcı kimliği.
meta.broadcasterUserLogin
metin
Twitch yayıncısının giriş adı.
meta.broadcasterUserName
metin
Twitch yayıncısının görünen adı.
meta.total
sayı | null
Twitch'in tren için bildirdiği toplam destek değeri.
meta.progress
sayı | null
Seviye hedefine doğru mevcut ilerleme.
meta.goal
sayı | null
Geçerli seviye hedefi.
meta.progressPercent
sayı | null
Twitch yalnızca görünen açılır pencere ilerleme çubuğunu sunduğunda kullanılan DOM yedek yüzdesi.
meta.level
sayı | null
Geçerli veya sona eren tren seviyesi.
meta.topContributions
dizi
En çok katkıda bulunanlar. Her girdi şunları içerir: userId, userLogin, userName, type, ve sayısal total.
meta.lastContribution
nesne | null
Şu alanla aynı katkı biçimini kullanan en son katkı: topContributions.
meta.sharedTrainParticipants
dizi
Sağlandığında Twitch'ten gelen ham paylaşılan tren katılımcı verileri.
meta.startedAt
metin
Trenin başlangıcına ait ISO zaman damgası.
meta.expiresAt
metin
Geçerli trenin sona ereceği zamana ait ISO zaman damgası.
meta.endedAt
metin
Trenin bitişine ait ISO zaman damgası; bitişten önce boştur.
meta.cooldownEndsAt
metin
Bekleme süresinin bitişine ait ISO zaman damgası; bitişten önce boştur.
meta.isSharedTrain
boolean
Twitch treni paylaşılan olarak işaretlediğinde true değerini alır.
meta.trainType
metin
Genellikle regular; Twitch etiketlediğinde Treasure Train olayları burada sunulur.
meta.allTimeHighLevel
sayı | null
Twitch sağladığında tüm zamanların en yüksek tren seviyesi.
meta.allTimeHighTotal
sayı | null
Twitch sağladığında tüm zamanların en yüksek tren toplamı.
meta.sourceMode
metin
Şunun gibi isteğe bağlı kaynak işareti: dom.
meta.eventSubType
metin
Özgün EventSub türü: channel.hype_train.begin, channel.hype_train.progress, channel.hype_train.end, veya dom.community_highlight.
Twitch EventSub: Hızlı Olay Başvurusu
data.event
Senaryo
new_follower
Kullanıcı kanalı takip etti
new_subscriber
Yeni abonelik
resub
Mesaj içeren yeniden abonelik
subscription_gift
Kanala hediye edilen abonelikler
cheer
Bits ile destek
powerup
Yerleşik veya özel Power-up kullanıldı
reward
Kanal puanı kullanımı
raid
Gelen baskın
viewer_update
Eşzamanlı izleyici sayısı
follower_update
Toplam takipçi sayısı
subscriber_update
Toplam abone sayısı
stream_online
Yayın başladı
stream_offline
Yayın sona erdi
ad_break
Reklam arası başladı
hype_train
Hype Train/Treasure Train durum meta verileri
user_banned
Kullanıcı yasaklandı veya zaman aşımına alındı
OBS Flow Actions
Uygulama: actions.html OBS WebSocket v5 olayları aracılığıyla; şu alanla: dock.html Yedek olarak OBS Tarayıcı Kaynağı olayları
Flow Actions katmanını, Etkinlik Akışı düzenleyicisi/arka planı ile aynı Social Stream oturumunda açık tutun veya paneli OBS içinde yüklü tutun.
OBS 28+ üzerinde OBS WebSocket v5 yapılandırın; varsayılan URL: ws://127.0.0.1:4455.
Bunlar Etkinlik Akışı sistem olaylarıdır. Şu alanı içermezler: chatname veya chatmessage, ek OBS ayrıntıları ise şu alanın içinde kalır: meta.
Olay
Ne Zaman Tetiklenir
Yük Notları
stream_started
OBS yayın çıkışının başlatılmış duruma ulaştığını bildirir.
type şudur: obs; event şudur: stream_started; meta.source şudur: obs-websocket veya obs-browser-source; meta.outputState ham OBS çıkış durumunu taşıyabilir.
stream_stopped
OBS yayın çıkışının durdurulmuş duruma ulaştığını bildirir.
type şudur: obs; event şudur: stream_stopped; meta.outputActive şu değer olabilir: false.
recording_started
OBS kaydın başladığını bildirir.
type şudur: obs; meta.obsEvent OBS olay kaynağını tanımlar.
recording_stopped
OBS kaydın durduğunu bildirir.
type şudur: obs; meta.outputState ham WebSocket durumunu taşıyabilir.
scene_changed
OBS etkin program sahnesini değiştirir.
type şudur: obs; meta.sceneName OBS sağladığında sahne adını içerir.
media_ended
Bir OBS medya girdisinin oynatımı biter.
type şudur: obs; meta.inputName ve meta.inputUuid medya girişini tanımlar.
replay_buffer_saved
OBS tekrar arabelleğini kaydeder.
type şudur: obs; meta.savedReplayPath kaydedilen tekrarın yolunu içerebilir.
Streamlabs Uyarı Kutusu
Uygulama: sources/streamlabs.js (uyarı kutusu DOM'u); isteğe bağlı soket köprüsü: sources/websocket/streamlabs.html
Uyarıların görüntülenmesi için Streamlabs uyarı kutunuzu bir sekmede veya tarayıcı kaynağında açık tutun; içerik betiği mesajı/resmi/belirteçleri uyarı DOM'undan okur.
Bağış türü uyarılar şunu ayarlar: hasDonation (ör. “$10 USD” veya “100 bits”) ve isteğe bağlı donoValue USD cinsinden.
Çıkarılan olay türleri: follow, subscription, gift, cheer, donation, superchat, raid, redeem, merch, sponsor.
Soket köprüsü için Streamlabs Socket API belirtecinizi yapıştırıp bağlanın; uyarılar, uyarı kutusu sayfası olmadan aktarılır.
Olay
Ne Zaman Tetiklenir
Yük Notları
donation
Bağış, hayır kurumu, JustGiving veya genel “bağış yaptı” uyarıları.
hasDonation para birimi metnini korur (örneğin “$36” veya “$10 CAD”); donoValue yalnızca USD değeri mevcut olduğunda sağlanır; etiketli diğer miktarlar ortak para birimi dönüştürmesini kullanır.
cheer
Twitch bit/cheer uyarıları.
hasDonation “100 bits” olur ve donoValue USD değerini yakalar.
subscription
Abonelik uyarıları.
Standart alanlar ayarlanır; chatmessage uyarı satırıdır; meta.tokens belirteçlere ayrılmış değerleri taşır (name, amount, levelName vb.).
meta.tokens.product kullanılan ödül öğesini yakalar.
merch
Ürün satın alma uyarıları.
meta.tokens.product satın alınan öğenin adını içerir.
superchat
YouTube veya desteklenen uyarı entegrasyonlarından Super Chat biçimli uyarılar.
hasDonation miktarı taşır; tüketiciler eski şu alanı kabul etmeye devam edebilir: donation alternatif adları.
sponsor
Streamlabs tarafından sunulan sponsor/üye biçimli uyarılar.
Standart alanlar; metin bir miktar içermedikçe bağış yoktur.
TikTok Live – DOM Yakalama ve TikFinity Akışı
Uygulama: sources/tiktok.js yerel TikTok sayfaları için ve sources/tikfinity.js TikFinity'nin etkinlik akışı widget'ı/iframe'i için. SSApp hala en geniş etkinlik kapsamına sahip yerel bir TikTok entegrasyonuna sahiptir (SSApp belgelerine bakın). Standart sohbet şunları içerir meta.messageId sayfa yerel bir mesaj kimliğini gösterdiğinde; aynı metne sahip farklı mesajlar farklı kimlikleri korur.
Yayıncının canlı sayfasında çalışır. Hediye/beğeni/takip afişleri yalnızca oturumun kimliği doğrulandığında doldurulur.
TikTok, DOM algılama yoluyla birçok olay sağlar WebSocket modu gerektirmeden – hediyeler, takipler, beğeniler ve isteğe bağlı katılımlar işlenmiş satırlardan yakalanır.
Şu konumdaki TikFinity bileşen sayfaları: tikfinity.zerody.one/widget/activity-feed* da çalışır. Gömülü etkinlik akışı iframe'i; sohbet, takipler, paylaşımlar, hediyeler, abonelikler, isteğe bağlı katılımlar ve hazine sandıkları için aynı standart TikTok yük alanlarını gönderir.
Ek API kimlik doğrulaması gerekmez.
SSApp yerel modu sayfa/bileşen yakalama yollarına ek olarak hâlâ şu olayları sunar: question_new, emote, viewer_update, ve isteğe bağlı toplam likes_update.
Olay
Ne Zaman Tetiklenir
Yük Notları
gift
Hediye afişi satırları veya DivGiftMessage girdileri.
hasDonation “N coins” biçimine dönüştürür (yedek olarak hediye aramasıyla); membership varsa rozet metnini kullanır.
joined
Genel seçenek etkin olduğunda katılma bildirimleri: "joined" yayın olaylarını yakala ayarı etkin olduğunda.
Paylaşım bildirimlerini atlar; chatname bazı sistem metinleri için boş olabilir.
followed
Sosyal kartlardan ayrıştırılan takip mesajları.
Şunu sağlar: chatname göndermeden önce mevcut olmalıdır.
shared
TikFinity paylaşım satırları.
chatmessage işlenmiş paylaşım metnidir.
subscribe
TikFinity abonelik satırları.
membership şu değere ayarlanır: SUBSCRIBER.
envelope
TikFinity hazine sandığı satırları.
meta.coins ve meta.canOpen sandık ayrıntılarını taşır.
liked
TikTok sosyal kartlarının tetiklediği beğeni fırtınası özetleri.
chatname TikTok sunduğunda eklenir; anonim/sistem beğeni kartları yine de gönderilebilir. TikTok bunu normal arka plan yolundan gönderir. Arka plan, bir kopyayı Tepkiler Katmanı'na yönlendirir; ardından yalnızca şu koşulda ana sohbet/olay işleme hattına devam eder: capturelikeevent etkin olduğunda.
likes_update
SSApp, şu koşulda güvenilir ve birikimli TikTok LIVE toplamını alır: captureliketotals etkin olduğunda.
meta geçerli toplam tam sayıdır. SSApp ilk değeri hemen gönderir, yoğun güncellemeleri her beş saniyede en fazla bir güncellemeye birleştirir, en son değeri yaklaşık her 90 saniyede bir tekrarlar ve yayın bittiğinde sıfır gönderir. Bu, izleyiciye özgü şu alandan ayrıdır: liked olayları.
true (mantıksal değer)
TikTok'un alt tür belirtmediği genel sosyal/sistem yayınları.
Kullanın: chatmessage içeriğini sunuma karar vermek için kullanın; boolean true “sistem olayı – tür bilinmiyor” anlamına gelir.
membership rozet araç ipuçlarını yansıtır (abone seviyeleri). Avatar önbelleğe alma şu alanı korur: chatimg olaylar arasında geçerli kalır; DOM moderatörlerin rengini gizlerse betik şu alanı temizler: nameColor. TikFinity Etkinlik Akışı yakalama, eski bağlantı noktalarını ve yenisini destekler widgets.tikfinity.com tarayıcı kaynağı URL'leri. Yeni stream_event mesajlar burada açıklanan aynı sohbet, hediye, takip, paylaşım, abonelik, katılma ve zarf yüklerine dönüştürülür. TikFinity hediye satırları da ayarlandı
Kaynak bunu sağladığında contentimg mevcut olduğunda hediye simgesine tıklayın. Açıkça çekilebilir hediyeler için repeatEnd bayrağı, TikFinity yalnızca tamamlanan seriyi ve son miktarını gönderir; ara sayım güncellemeleri iletilmez. Seri olmayan hediyeler ve bu işaretin bulunmadığı eski yükler hemen devam eder. Yerel DOM hediye serisi güncellemeleri ve TikFinity hediye satırları şunları içerir: meta.tiktokGiftStreakId, meta.tiktokGiftCount, ve meta.tiktokGiftQuietMs böylece katmanlar yinelenen güncellemeleri birleştirebilir; eski seri kimlikleri sayfa örneğine özgüdür. Hediye meta verileri ayrıca şunu içerebilir: tiktokGiftMessageId (özgün TikTok mesaj kimliği), tiktokGiftSenderId, groupId, giftId, giftName, streakable, ve repeatEnd. Yerel kimlikler yakalama pencereleri arasında aynı hediyeyi tanımlar; sıfır olmayan grup kimliği, gönderen ve hediye kimlikleriyle birlikte birikimli seri güncellemelerini tanımlar. SSApp WebSocket yakalaması, seri kesinleştirildikten sonra aynı alanları sağlar; şu değerle: count uyumluluk için korunur. Her hediye iletilirken bağış seçeneği kontrol edilir: TikTok bağışlarını devre dışı bırakmak şu alanı kaldırır: hasDonation ve donoValue hediye olayını ve meta verilerini korurken. TTS, güncellemeleri birleştirmek ve tamamlanmış yinelenenleri en fazla on dakika boyunca engellemek için bu kimlikleri kullanır (sınırlı önbellek); TikTok hediyelerini gönderen, adet ve hediye adı olarak okur. Eski yükler mevcut seri kimliklerine ve mesaj metnine geri döner; yalnızca hediye metninden kimlik çıkarılmaz. TikTok hediye seslendirmesi, arayüz dilinden bağımsız olarak seçilen TTS/ses dilini kullanır. Duyuru fiilleri İngilizce, İspanyolca, Portekizce, Fransızca, Almanca, İtalyanca ve Felemenkçe için yerelleştirilmiştir; diğer diller İngilizce fiil olmadan göndereni, adedi ve hediye adını kullanır. Basitleştirilmiş TTS bu tarafsız biçimi korur. Hediye adları platformun sağladığı şekilde kalır; bu, hediye kataloglarını veya sohbet mesajlarını otomatik olarak çevirmez ya da yayının dilini çıkarmaz.
Bu seri güncellemelerinde sayı ve bağış etiketi birikimlidir: 1, 2, 3 toplam altı değil, üç hediye anlamına gelir. Toplamları hesaplayan bileşenler, yalnızca aynı seri kimliği için daha önce görülen en yüksek miktara göre artışı eklemelidir. Standart yakalama, eski hediye sınıflarını ve güncel resim/sayı satırlarını destekler; ikisi de şunu korur: event: "gift" ve hasDonation. Bilinmeyen fiyatlarda hediye sayıları/adları gösterim için korunur ve hediye başına bir coin üzerinden USD tahmini kullanılır. Kaynağın sağladığı donoValue önceliklidir; işlenmiş hediye meta verileri şunu sağlayabilir: coinsPerGift veya diamondsPerGift hediye tablosuna veya varsayılan değere ihtiyaç duyulmadan önce kullanılır. Standart/TikFinity jeton tahminleri ve SSApp yerel elmas tahminleri mevcut farklı dönüştürmelerini kullanır; ikisi de garantili nakit ödeme anlamına gelmez.
Whatnot
Uygulama: sources/whatnot.js
Use the Whatnot source in SSApp for public chat and auction events without video, or open the live show page for website capture. Both connect to the public auction feed. Website capture also reads rendered auction and catalog sections.
Yayın etkinliklerini yakala Whatnot sistem olaylarını ve açık artırma/katalog meta veri güncellemelerini kontrol eder; katılma satırları ayrıca şunu gerektirir: "joined" yayın olaylarını yakala; izleyici sayıları yine izleyici/Hype anahtarlarına uyar.
Olay
Ne Zaman Tetiklenir
Yük Notları
viewer_update
Websocket canlı yayın güncellemelerinden izleyici sayısı değişiklikleri; yedek olarak DOM yoklaması kullanılır.
meta tam sayı izleyici sayısıdır.
donation
Whatnot websocket bağış ve community boost katkı olayları.
hasDonation biçimlendirilmiş miktarı içerir; websocket'e özgü bağlam şu alanın altında kalır: meta.
raid
Geçmiş etkinlik yanıtları dahil Whatnot websocket baskın olayları.
meta.numRaiders Whatnot sağladığında eklenir.
joined
Normalleştirilmiş gövdesi şununla başlayan sohbet satırları: joined, şu durumda: "joined" yayın olaylarını yakala etkin olduğunda.
Katılma bildirimleri için metin olay etiketleri kullanır (boolean değil: true).
auction_update
Canlı altbilgideki açık artırma durumu (kazanan/kazanıyor metni, başlık, teklifler, fiyat, zamanlayıcı, satıldı durumu) değiştiğinde; çoğu zaman websocket açık artırma yaşam döngüsü paketleri bunu hızlandırır.
Yalnızca meta veriden oluşan olay. Şu alan yoktur: chatname/chatmessage; veriler şu alandadır: meta (örneğin meta.title, meta.bids, meta.price, meta.timer, meta.status).
commerce_update
Katalog bölümleri (ürünler, sürpriz setler, yaklaşan çekilişler) değiştiğinde; çoğu zaman websocket çekiliş/ürün yaşam döngüsü paketleri bunu hızlandırır.
Metadata-only update. Website section snapshots use meta.products, meta.surpriseSets, ve meta.upcomingGiveaways. Public giveaway updates use meta.giveaway.productId ve meta.giveaway.entryCount. Pinned-item updates use meta.pinnedItems, containing the supplied type, ID, product ID, or name. meta.websocketEvent identifies giveaway_entry_count_updated veya pinned_item_updated; unchanged states are suppressed.
İlgili canlı websocket bildirimi gelir. Bunlar mevcut gösterim anlık görüntülerinden ayrı, bireysel olaylardır.
platform/type: "whatnot", düz metin chatname, userid sağlandığında; ürün adı şu alanda: subtitle, ve düz metin chatmessage şununla: textonly: true. Mevcut kimlikler ve açık artırma ayrıntıları şu alandadır: meta: productId, auctionId, orderId, transactionId, livestreamId, bidId, bids, auctionEndTime, ve status. İsteğe bağlı price ana para birimi cinsindendir; şu alanla: priceText ve currency sağlandığında.
giveaway_started, giveaway_won
The public auction feed announces a giveaway start or winner.
Uses the auction event fields for the supplied product and winner. meta.entryCount contains the entry count when supplied. Entrant lists and raw order details are not forwarded.
payment_failed
Canlı ödeme başarısızlığı WebSocket bildirimi gelir.
Aynı mevcut alıcı, ürün ve tanımlayıcı alanları; şu alanla: meta.paymentStatus: "failed". Yalnızca şu olduğunda: product.purchaserUserId alıcıyı tanımlıyorsa şu alanı doldurur: userid satış/ödeme olaylarında ve alıcı adı boş kalır. Farklı veya önceki açık artırmalardan alıcı çıkarımı yapılmaz.
payment_succeeded
Canlı ödeme başarısı WebSocket bildirimi gelir.
meta.paymentStatus: "succeeded", o bildirimin sağladığı alıcı, ürün, sipariş kimliği ve diğer izin verilen alanlarla. Bu ayrı bir ödeme olayı olarak kalır; ek bir olay üretmez: purchase veya bağış. Önceki bir satışta sağlanmış olsalar bile eksik alanlar boş kalır veya dahil edilmez.
Açık artırma/ticaret görüntüleme güncellemeleri DOM destekli anlık görüntüler olarak kalır. Etkinlik Akışında tek bir WebSocket olayıyla eşleşmek için şunu kullanın: Olay Türü (Gelişmiş), şunu seçin: Özel Olay, ve tam adını girin. Etiketlerde şu kullanılabilir: **{username}**\n{subtitle} seçilen metin ağırlığıyla; koşullar şu alanı karşılaştırabilir: meta.paymentStatus şununla: failed. Bir içe aktarılabilir Whatnot etiket örneği kullanılabilir olduğunda. Mevcut yayın olayı yakalama ayarları geçerliliğini korur.
Diğer isteğe bağlı alanlar: meta.catalogProductId (paketin product.productId), meta.parentProductId (product.parentId), meta.transactionType (Whatnot'un satış türü, değiştirilmeden) ve meta.placeOrderErrorReason (Whatnot'un sağladığı sipariş/ödeme hata kodu). Bu ürün referansları katalog veya üst ilanı tanımlar; sipariş kimliğinin yerine geçmez. Stok miktarı, satın alınan miktar olarak değerlendirilmez.
Başarılı ödeme otomasyonu için şunu ayarlayın: Olay Türü (Gelişmiş) tetikleyicisiyle şuna: Özel Olay: payment_succeeded, ve kaynağı Whatnot olarak filtreleyin. Mevcut koşullar ve şablonlar bu olayın şu alanını kullanabilir: userid, chatname, subtitle ve meta.orderId doğrudan. Bildirim gerekli ayrıntıları içerdiğinde daha önce saklanmış bir satın alma gerekmez.
Bir açık artırmanın bitmesi veya ürünün satıldı olarak işaretlenmesi, ödemenin başarılı olduğunu doğrulamaz: bu bildirimler ödenmiş olaylar olarak yayınlanmaz: purchase olaylarıdır ve bağış miktarı ayarlamazlar. Başarı olayı yalnızca şu öğe alındığında gönderilir: payment_succeeded bildirimi; yakalama, ödemenin tamamlanmasını yoklamaz veya satıştan çıkarmaz. Diğer paymentStatus values are forwarded only when explicitly supplied in a captured packet. Missing identifiers are omitted; a product ID alone may cover multiple sales, so use a supplied order/auction ID to correlate notifications. Capture does not remember purchases or match payment updates; any such workflow must be explicitly configured in Event Flow. Repeated commerce notifications with the same native event timestamp/ID are suppressed across overlapping channels and reconnects, within a 2,000-event cache. Packets without a native event identity use a brief duplicate window. Raw order/payment objects are not forwarded.
eBay Live
Para Kazanma eBay satıcı bağlantısı, yapılandırılmış bir SSN eBay hizmeti ve satıcının OAuth onayını gerektirir; aşağıdaki eBay Live yakalaması bağımsızdır. Sandbox modu sandbox ilan URL'lerini kullanır, alıcıyı "eBay Sandbox buyer" olarak etiketler ve mesaja "Sandbox test purchase:" önekini ekler. Sandbox satın almaları aynı satın alma sözleşmesini korur ve test sırasında etkin uyarıları/sohbet eylemlerini tetikleyebilir. Uygulanmış ödeme sözleşmesi şunu gönderir: event: "purchase", şu alanla: type ve platform şu değere ayarlanır: ebay. Seçilen bir ürünle eşleşen ödenmiş sipariş gerektirir. id sabit ve opak bir sipariş satırı tanımlayıcısıdır; chatname "eBay buyer" değeridir, chatmessage düz metindir (textonly: true), subtitle ürün adıdır ve isteğe bağlı contentimg onun resmidir. meta.ebayPurchase şunu içerir: itemId, itemName, quantity, ve herkese açık url. Alıcı kimliği, gönderim verileri veya şu alan bulunmaz: hasDonation veya donoValue eklenir. Bu, ödemeyi kanıtlamayan kazınmış açık artırma veya stok güncellemelerinden farklıdır.
Uygulama: sources/ebay.js
Şunlardan birini açın: /ebaylive/events/<id>/chat veya /ebaylive/events/<id>/stream. İkisi de aynı canlı açık artırma akışını alır.
Herkese açık WebSocket akışı açık artırmaları, teklifleri, kazananları, süre uzatmalarını ve stok değişikliklerini sağlar; salt okunur bir GraphQL sorgusu ilan ayrıntılarını sağlar. Ağ verisi kullanılamadığında DOM yakalaması yedek olarak kalır.
Yayın etkinliklerini yakala meta veri anlık görüntülerini kontrol eder (auction_update, commerce_update); izleyici sayaçları yine izleyici/Hype anahtarlarına uyar.
Olay
Ne Zaman Tetiklenir
Yük Notları
viewer_update
Etkin etkinliğin izleyici sayısı değiştiğinde (başlık sayısı veya yedek canlı etkinlik rozeti).
meta tam sayı takipçi sayısıdır. Kaynak, satıcı uç noktasını her 60 saniyede bir yoklar; uç nokta yine de en fazla 5 dakika boyunca önbellekteki değeri döndürebilir.
auction_update
Etkin açık artırma meta verileri değiştiğinde.
Yalnızca meta veriden oluşan olay. Ağ yakalaması şunu ayarlar: meta.sourceMode şu değere: network ve title, price, bidder, winner, bids, timer ve endingAt alanlarını sağlar. meta.ebay eventId, listingId, GraphQL ilan kaydını içerir (listing), mevcut herkese açık soket ilanı (eventListing), ve en son açık artırma güncellemesi (update). Bunlar kategori, resimler, para birimleri, miktarlar, kutu açılımı ayrıntıları, açık artırma sonuçları ve zamanlama alanlarını platform ayrıntılarını düzleştirmeden korur. GraphQL kaydı alınmış bir anlık görüntüdür; soket ilanı ve güncellemesi daha yeni canlı durumu taşır. İlk bağlantı/yeniden bağlantı geçmişi eski kazanımlar olarak yayınlanmak yerine mevcut anlık görüntüye katılır. Sunulan tüm ilanların kaldırılması şu olayı üretir: status: "idle" şununla: cardCount: 0 açık artırmayı temizlemek için. DOM yedeği oynatıcı kartı veya etkinlik önizlemesi alanlarını korur.
commerce_update
Katalog/canlı etkinlik anlık görüntü bölümleri değiştiğinde.
Şu alan altında yalnızca meta veriden oluşan anlık görüntü: meta. Ağ modu şunu içerir: eventId, navigation.viewerCount ve playerCards şu anda sunulan ilanlar için; her biri aynı ayrıntılı şu alanı içerir: ebay nesnesi, açık artırma anlık görüntüsü olarak kullanılır. Boş kart listesi kaldırılmış ilanları temizler. DOM yedeği ayrıca şunu içerebilir: liveEvents, livePreview, currentEvent ve upcomingEvents.
reaction
eBay Live bir kalp/tepki animasyonu görüntülediğinde.
Doğrudan özel tepki hedefine gönderilir. meta.reactionType şudur: heart; eBay bu DOM animasyonları için kullanıcıya özel ad sunmaz.
eBay meta veri olayları şu alanı bilinçli olarak dahil etmez: chatname/chatmessage; sonraki katmanlar şu alandan oluşturmalıdır: data.event + data.meta yalnızca.
Kick – Standart DOM Yakalama
Uygulama: sources/kick.js. Sohbet şunları içerir meta.messageId sayfa yerel bir mesaj kimliğini gösterdiğinde.
Profil resimlerini ve abone rozetlerini çözümlemek için kimliği doğrulanmış bir oturum gerekir.
Sohbet metni eşleştirmesi ve rozetler aracılığıyla sınırlı olay algılama; seçenek etkinleştirildiğinde izleyici sayıları çalışmaya devam eder.
Olay
Ne Zaman Tetiklenir
Yük Notları
gift
Çıkartma resmi ve görünür Kick para birimi miktarı aracılığıyla algılanan KICKs hediyeleri.
hasDonation şunu taşır: N KICKs (1 KICK tek adet için), görünür miktar mevcut olduğunda; contentimg hediye resmini taşır. Mevcut mesaj metni korunur.
reward
Ödül kullanımları (“… ödülünü kullandı”).
chatmessage ödül kullanımı metnini içerir.
true (mantıksal değer)
Hediye veya ödül kalıplarıyla eşleşmeyen genel sistem bildirimleri.
Kullanın: chatmessage içeriğini sunuma karar vermek için kullanın; boolean true "sistem olayı – tür bilinmiyor" anlamına gelir.
viewer_update
Kick kanal API'sini her 30 saniyede bir yoklar (yalnızca izleyici istatistikleri etkin olduğunda).
meta tam sayı izleyici sayısı; abonelikler, takipler veya bağışlar için aşağıdaki Kick köprüsünü kullanın.
Kick – Websocket/Köprü
Uygulama: sources/websocket/kick.js şu konumdaki ortak yardımcılarla: providers/kick/core.js
Social Stream Kick köprüsü üzerinden OAuth. Güncel kapsamlar: user:read, channel:read, channel:write, channel:rewards:read, chat:write, events:subscribe, moderation:ban, moderation:chat_message:manage, ve kicks:read. Belirteçler otomatik yenilenir.
Kick webhook'larının hazırlanması birkaç dakika sürebilir; arayüz her kanalın etkin aboneliklerini listeler.
Olay
Ne Zaman Tetiklenir
Yük Notları
message
Köprü sohbet yükü.
meta.plainText düz metin mesajı içerir (yine de emoji içerebilir); rozetler platform ve profil önbelleğinden birleştirilir. Konu yanıtları şu alanı doldurur: initial, reply, ve meta.reply yanıt ayrıntıları veya önbellekteki üst mesaj mevcut olduğunda.
reward
channel.reward.redemption.updated, ayrıca ödül kullanımına benzeyen köprü sohbet/sistem yükleri.
meta ödül/ödül kullanımı kimliği, başlık, maliyet, durum, kullanıcı girdisi ve ödülü kullanan kişiyi içerir.
new_subscriber
channel.subscription.new.
membership abone rolüne atanır; meta { subscriber, plan } içerir.
resub
channel.subscription.renewal.
meta.duration (ay) ve meta.plan kullanılabilir; subtitle seriyi özetler.
subscription_gift
channel.subscription.gifts.
meta.totalGifted, meta.gifter; rozet bulunmazsa 💝 simgesi kullanılır.
donation
Olay türü sezgisel kurallarıyla algılanan destek/bağış olayları; KICKs hediyeleri şunu kullanır: gift aşağıda.
hasDonation biçimlendirilmiş miktarı taşır; meta { amount, currency, supporter, message, giftName } içerir.
gift
kicks.gifted (KICKs hediyeleri); DOM yakalayıcısıyla uyumludur.
hasDonation şunu taşır: N KICKs (1 KICK tek adet için); contentimg varsa hediye resmini taşır. Yapılandırılmış hediye ayrıntıları şu alanın altında kalır: meta.
raid
Şunun gibi eski host biçimli soket yükleri için uyumluluk işlemesi: App\Events\StreamHostEvent.
Kick'in güncel resmî olay kataloğunda baskın/host aboneliği yoktur. Uyumlu bir eski yük gelirse şu standart türe eşlenir: raid; güncel Kick iş akışında buna güvenmeyin.
meta tam sayı izleyici sayısı; şunu gönderir: 0 çevrimdışı durumda eski sayaçları temizlemek için.
user_banned
moderation.banned köprü/webhook'tan veya Kick sohbet soketi yasaklama olaylarından.
Moderasyon bileşenleri için yalnızca meta veriden oluşan olay. meta kullanıcı adı/görünen ad, kullanıcı kimliği, avatar/profil URL'si, moderatör, neden, yasaklama/zaman aşımı süresi ve kalıcılık bilgisini içerir.
Profil aramaları şunu kullanır: profileCache; mapBadges Kick'in rozet varlıklarını, varsa önbellekteki SVG ile birleştirir. Kick bağışları KICKs olarak bildirdiğinde köprü bunları şu değere dönüştürür: hasDonation ve ayrıca meta.amount şununla: currency yedek olarak "KICKs" kullanır. Sohbet yükleri şunu içerir: meta.messageId köprü yerel bir Kick mesaj kimliğini sunduğunda; böylece silme eşitlemesi doğru mesajı hedefleyebilir. Yanıt yükleri şunu içerir: meta.reply üst öğenin şu alanıyla: messageId, author, ve text bilindiğinde. Özgün mesaj önbellekte olmasa bile sağlanan yanıt ayrıntıları kullanılabilir kalır; önbellekte bağlamı olmayan, yalnızca kimlik içeren bir yanıtta görünür alıntı yine de olmayabilir.
Kick Websocket: Hızlı Olay Başvurusu
data.event
Senaryo
new_follower
Kullanıcı kanalı takip etti
new_subscriber
Yeni abonelik
resub
Abonelik yenileme
subscription_gift
Hediye edilen abonelikler
reward
Kanal ödülü kullanımı veya ödül tarzı sohbet/sistem mesajı
donation
Bağış/destek olayı
gift
KICKs hediye olayı
raid
Yalnızca uyumluluk için eski host/raid girdisi; güncel resmî Kick aboneliği değildir
follower_update
Toplam takipçi sayısı
stream_online
Yayın başladı
stream_offline
Yayın sona erdi
user_banned
Kullanıcı yasaklandı veya zaman aşımına alındı
VPZone - WebSocket
Uygulama: sources/websocket/vpzone.js
Şuraya bağlanır: wss://chat.vpzone.tv/ws?channel=USERNAME; OAuth şunu ister: profile:read, chat:read, chat:write, channel:read, channel:write, ve chat:moderate. Bearer belirteci elle de sağlanabilir.
Şunun gibi düz VPZone çerçeveleri: type: "msg" standart sohbet yüklerine normalleştirilir.
Platform tarafındaki delete_message / clear_chat frames remove the matching rows from the dock. Deletions carry meta.streamUsername to select the channel and meta.messageId when targeting a native message ID. Optional toggles sync dock deletes and blocks back to VPZone (channel owner only).
Kanal sahipleri canlı yayının başlığını ve kategorisini güncellemek için sayfaya yerel bir Stream Info paneli alır (Twitch kaynak sayfasıyla aynı düzen).
Olay
Ne Zaman Tetiklenir
Yük Notları
message
VPZone msg, message, new_message, veya chat_message websocket çerçevesi.
chatname şuradan gelir: username; chatmessage şuradan gelir: body; abone/sahip/mod/VIP bayrakları şu alana kopyalanır: chatbadges, üst düzey rol bayrakları ve meta. Yerel kimlikler şu alanı doldurur: data.id ve meta.messageId.
viewer_update
VPZone presence şunu içeren çerçeve: count veya eşdeğer izleyici alanı.
meta canlı izleyici tam sayısıdır; birleştirilmiş şu alana katkıda bulunur: viewer_updates.
new_subscriber
VPZone subscribe / subscription çerçevesi.
membership abonelik bayrakları mevcut olduğunda Subscriber olarak ayarlanır.
subscription_gift
VPZone gift / gift_subscription çerçevesi.
Twitch, Kick, Rumble ve Velora ile aynı hediye abonelik olay adını kullanır. subtitle hediye sayısını taşır (x5) veya alıcı.
message + hasDonation
VPZone system şunu içeren çerçeve: metadata.kind: "pixels_cheer" (Pixels bahşişi).
Bağış içeren sohbet satırı; hasDonation miktar etiketidir (örneğin 100 Pixels), meta.pixels tam sayı. event boş kalır; bu bağışı şu alandan algılayın: hasDonation. Kick köprüsündeki destek olayları bunun yerine şunu kullanır: event: "donation".
message yanıtlar
VPZone msg şunu taşıyan çerçeve: metadata.reply_to (mesaj kimliği, yazar, alıntı — sunucu tarafında denormalize edilir).
Kick yanıtları gibi görüntülenir: initial "yazar: alıntı" etiketini tutar, reply ham yanıt metni, meta.reply yapılandırılmış hedef. Şu ayara uyar: “replying to” kısmını hariç tutar ayarı.
raid
VPZone raid şunu içeren çerçeve: metadata.kind: "incoming".
Giden baskın çerçeveleri atlanır; meta.viewers sağlandığında baskının büyüklüğünü taşır.
shoutout
VPZone shoutout çerçevesi (!so komutu).
meta.targetUser tanıtılan kanalın adını belirtir.
reward
VPZone system şunu içeren çerçeve: metadata.kind: "channel_points_redeem".
Twitch ödülleriyle aynı olay adını kullanan kanal puanı kullanımı.
stream_online / stream_offline
VPZone system şunu içeren çerçeveler: metadata.kind: "stream_started" / "stream_ended".
Kanal adına atfedilir (çerçeveler kişi bilgisi taşımaz).
new_follower
VPZone follow çerçevesi.
Standart takipçi olayı biçimine eşlenir.
joined
Şu koşulda VPZone katılma/varlık biçimli websocket olayları: "joined" yayın olaylarını yakala etkin olduğunda.
VPZone aktör meta verileriyle sohbet biçimli bir sistem olayına eşlenir; meta verilerin konumu: meta.
Joystick
Uygulamalar: sources/joystick.js, sources/inject/joystick-ws.js, ve sources/websocket/joystick.js
Normal Joystick 2.0 web sitesi kaynağı, oturum açılmış şu sayfada çalışır: /u/<channel>/chat sayfası. Sayfanın şu öğesini okur: ChatChannel, WhisperChatChannel, EventLogChannel, ve SystemEventChannel Action Cable çerçeveleri; Electron ve yeniden bağlantı durumları için görüntülenen satır yedeğiyle.
Web sitesi sohbet mesajları, YouTube, Twitch ve Kick ile aynı temel alanları kullanır: yerel id, chatname, chatmessage, chatimg, chatbadges, nameColor, membership, mod, private, username/userid, ve timestamp Joystick sağladığında. Soket kullanıcı adı rengini vermediğinde işlenmiş satır aynı şu alanı sağlar: nameColor renk desteği etkin panellerin kullandığı alan.
Web sitesi tarafındaki mesaj düzenlemeleri eşleşen panel satırını değiştirir; silmeler, susturmalar ve engellemeler, yerel kimliği veya kullanıcı adını kullanarak eşleşen satırları kaldırır.
Ayrı WebSocket kaynağı, Joystick bot kimlik bilgilerini kullanır (client_id + client_secret); web sitesi kaynağı oturum açılmış sayfanın oturumunu kullanır.
Şu adreste yetkilendirir: https://joystick.tv/api/oauth/authorize, ardından belirteçleri şu adreste değiştirir/yeniler: https://api.joystick.tv/api/oauth/token.
Şuraya bağlanır: wss://api.joystick.tv/cable ve şu öğeye abone olur: GatewayChannel.
İsteğe bağlı OAuth belirteç değişimi, şu örnekteki gibi yardımcı uç noktalar için kullanılır: https://api.joystick.tv/api/users/stream-settings.
Ayrı bot kimlik bilgisi kaynağı şu olayı göndermez: viewer_update. Oturum açılmış web sitesi kaynağı, aşağıda açıklandığı gibi sayfa soketi izleyici sayıları sağladığında bunları yayınlar.
Olay
Ne Zaman Tetiklenir
Yük Notları
message
Joystick ChatMessage, BotMessage, new_message, bot_message, event_bot_message, pvp_message, ve fısıltılar.
Normal sohbette şu alan yoktur: event. Yerel kimlik üst düzey alana yerleştirilir: id ve meta.messageId; roller ve özel durum, yerleşik üst düzey/rozet alanlarını kullanır.
new_follower
Joystick StreamEvent şu türle: Followed.
Standart takipçi biçimini kullanır ve Joystick'in eşleşen bot satırıyla tekilleştirilir. İsteğe bağlı meta.userId/meta.followedAt yalnızca Joystick bunları sağladığında eklenir.
new_subscriber / subscription_gift
Joystick olay türleri NewSubscription / GiftedSubscription.
Kick ile uyumlu abonelik meta veri anahtarlarını kullanır: eventType, subscriber, gifter, totalGifted, duration, ve plan.
donation
Joystick StreamEvent türleri Tipped / TipMenu.
hasDonation varsa ortak USD dönüştürmesi için token miktarını ve birimini taşır; eşleşen Joystick bot satırı tekilleştirilir. meta yerleşik Kick destek olayı anahtarlarını kullanır: eventType, supporter, amount, currency, message, giftName, giftType, ve tier.
stream_online / stream_offline
Joystick StreamEvent şu örnekteki gibi türler: Started, StreamResuming, Ended, StreamEnding.
Taşıma yöntemini dikkate alan çevrimiçi/çevrimdışı otomasyonlar için kullanılır.
user_enter / user_leave
Joystick UserPresence türleri enter_stream / leave_stream.
Varlık bildirimleri olay mesajları olarak gönderilir ve olayları gizleme ayarlarıyla engellenebilir. Olayları gizleme, bağış olmayan yayın olaylarını da engeller.
viewer_update
Oturum açılmış web sitesi kaynağı şunu alır: ViewerCountUpdated şu yolla: EventLogChannel.
Düz bir tam sayı kullanır: meta, YouTube, Twitch ve Kick ile uyumlu. Yalnızca izleyici sayısı veya Hype modu etkinken yayınlanır. Ayrı bot kimlik bilgisi kaynağı hâlâ izleyici sayılarını almaz.
follower_update / subscriber_update
Joystick takipçi/abone sayısı güncelleme olayları.
Düz bir tam sayı kullanır: meta, Twitch sayaç sözleşmesiyle uyumlu.
Yok sayılan dahili bildirimler
ChatMessageReceived, aygıt durumu ve bahşiş hedefi/PvP/subathon durumu gibi eşlenmemiş bileşen yenilemeleri.
Bunlar Social Stream olayları değil, taşıma veya sayfa durumu bildirimleridir. Uydurma şu olaylara dönüştürülmezler: snake_case olay adları; gerçek ChatChannel/new_message satırı tek sohbet yükü olarak kalır.
XP Sync
Uygulama: sources/xpsync.js
Sohbet satırları standart yük alanlarını şu değerle kullanır: type: "xpsync", yazar, mesaj, avatar, resim ve satır içi SVG rozetleri, ad rengi, üyelik, moderatör/üye/bot bayrakları ve şu alanda yerel mesaj UUID'si dahil: id varsa.
Yanıtlar YouTube, Twitch ve Kick DOM kaynaklarının kuralına uyar: yanıt önekleri devre dışı bırakılmadıkça, initial yanıtlanan kullanıcıyı içerir, reply önek eklenmemiş mesajı korur ve chatmessage görünür yanıt önekini alır.
XPSync normal sohbet satırı sınıfı veya mesaj kimliği olmadan görüntülese de Sparks ile vurgulanan satırlar yakalanır; görünür miktar şu alan üzerinden sunulur: hasDonation olarak N Sparks.
Olay yakalama etkin olduğunda “just followed” veya “followed the channel” içeren satırlar şunu gönderir: event: "new_follower".
İzleyici sayıları etkin olduğunda kalıcı sohbet paneli şunu gönderir: event: "viewer_update" XPSync sayfasının zaten yüklemiş olduğu canlı video sayısından alır ve XPSync'in canlı sayfa güncellemeleriyle yeniler. Ayrı SSN kimlik bilgileri gerekmez.
Instagram – Canlı REST Yakalama ve Haber Gelen Kutusu
Uygulama: sources/instagram.js ve sources/instagramlive.js (aynı kopyalar)
Canlı sayfalarda (/<user>/live/?broadcast_id=...), canlı sohbet Instagram'ın kendi web API'sinden gelir ve oturum çereziyle aynı kökenden sorgulanır: GET /api/v1/live/{broadcast_id}/get_comment/?last_comment_ts={ts} yaklaşık her 2 saniyede bir ve POST /api/v1/live/{broadcast_id}/heartbeat_and_get_viewer_count/ izleyici sayıları etkinken yaklaşık her 5 saniyede bir. Art arda 3 hatadan sonra (veya şu öğe yoksa: broadcast_id bulunabildiğinde) kaynak, işlenmiş sohbet DOM'unu ayrıştırmaya geri döner.
Hesabın kendi etkinlik akışı şu yolla yoklanır: POST /api/v1/news/inbox/ herhangi bir Instagram sayfasında yaklaşık her 45 saniyede bir. İlk yoklama yalnızca tekilleştirme kümesini doldurur; böylece geçmiş asla yeniden oynatılmaz. Haberler şu alana göre tekilleştirilir: tuuid.
Gerekli API başlıkları (tümü sabit/türetilebilir): X-IG-App-ID: 936619743392459, X-CSRFToken (çerezden), X-ASBD-ID: 359341, X-Requested-With: XMLHttpRequest, Content-Type: application/x-www-form-urlencoded.
Tüm etkinlik akışı olayları şunu kullanır: type: "instagram"; canlı sohbet şu şekilde kalır: type: "instagramlive". Beğeni olayları normal arka plan yolunu kullanır: arka plan özel Tepkiler Katmanına bir kopya gönderir, ardından yalnızca şu durumda bunları ana sohbet/olay akışına dahil eder: capturelikeevent etkin olduğunda; TikTok ve MeetMe ile uyumludur. hideevents ve özel olay filtresi bunları her yerde engeller. Gelen kutusu olayları oturum açmış hesaba ait olduğundan, başka birinin canlı yayını izlenirken engellenirler (hem /<user>/live/ sayfaları ve hikâye görüntüleyicisindeki canlı yayınlar; sahiplik her profil için çözümlenir ve arama hatalarından sonra yeniden denenir) ve kendi canlı yayınınızda ve tüm canlı olmayan sayfalarda gönderilir. Aynı anda yalnızca bir etkin Instagram sekmesi hesabın gelen kutusunu yoklar; yoklama yalnızca oturum açılmışken çalışır.
Olay
Ne Zaman Tetiklenir
Yük Notları
message (canlı)
Şu alandaki yeni girdiler: get_comment yanıtı (comments[]/system_comments[]) veya REST kullanılamadığında yeni DOM sohbet satırları.
Standart sohbet yükü, type: "instagramlive". REST tam olarak şunu sağlar: user.username, user.profile_pic_url, ve benzersiz pk tekilleştirme için kullanılır.
viewer_update
heartbeat_and_get_viewer_count değişmiş şu alanı bildirir: viewer_count, izleyici sayısı yakalama veya Hype modu etkinken.
meta tam sayı izleyici sayısı. Şu koşulda yoklama durur: broadcast_status artık şu değer değildir: "live".
stream_online / stream_offline
stream_online REST yayın oturumu başladığında bir kez tetiklenir; stream_offline canlılık kontrolü canlı olmayan şu değeri bildirdiğinde tetiklenir: broadcast_status (izleyici sayısı yakalamanın veya Hype modunun etkin olması gerekir).
Twitch ve Joystick'in kullandığı ortak yayın durumu sözlüğüne uyan, yalnızca meta veriden oluşan olaylar.
new_follower
Takip türünde bir haber gelen kutusu girdisi: notif_name (veya story_type 12) görünür.
chatname yeni takipçidir, chatimg profil resmi, chatmessage gelen kutusu metni (örneğin "x seni takip etmeye başladı.").
follow_request
Bir private_user_follow_request haberi görünür (özel hesaplar doğrudan takip yerine istek alır).
Şununla aynı biçimde: new_follower, otomasyonların istekleri onaylayabilmesi veya farklı selamlamalar yapabilmesi için ayrı tutulur.
liked
Beğeni türünde bir haber gelen kutusu girdisi: notif_name (şunlar dahil: comment_like) görünür.
TikTok/MeetMe ile ortak beğeni sözlüğü. chatname aktördür, chatmessage gelen kutusu metni (örneğin "x fotoğrafını beğendi.").
message (kendi gönderisindeki yorum)
Yorum türünde bir haber gelen kutusu girdisi: notif_name görünür.
Düz sohbet satırı (event: false), type: "instagram"; chatmessage yorum alıntısı dahil gelen kutusu metnini taşır.
notification
Diğer tüm haber gelen kutusu türleri (bahsetmeler, etiketler, alışveriş vb.).
Genel amaçlı yedek tür; meta.notifName ve meta.storyType ham haber sınıflandırmasını korur.
Facebook Live
Uygulama: sources/facebook.js (DOM'dan veri toplama) ve isteğe bağlı Graph API köprüsü: sources/websocket/facebook.html
DOM yakalaması görüntülenen Facebook yorumlarını okur; yönetilen Sayfa Graph API köprüsü video yorumlarını okur. İkisi de şunu kullanır: type: "facebook", standart sohbet alanları ve bulunmayan alan: event normal yorumlar için. API köprüsü ayrıca isteğe bağlı şu alanı içerir: platform: "facebook".
API köprüsü şunu kullanır: userid varsa yazar kimliği için, timestamp Unix milisaniyesi cinsinden geçerli oluşturma zamanı için ve contentimg API'nin sağladığı HTTP(S) ek resmi için. Yalnızca resim içeren yorumlarda şu alan boş olabilir: chatmessage. textonly yalnızca mesaj gövdesi için geçerlidir: true olduğunda ham metin, false olduğunda kaçış uygulanmış HTML.
API yorum bağlamı şunu kullanır: meta.messageId (yerel yorum kimliği), meta.permalink, meta.videoId, ve meta.pageId. Önceki API sürümleri şunu kullanırdı: meta.commentId, şu alanda yinelenen yazar/zaman alanları: meta, ham ekleri de buradan geçirirdi. Yeni sürümler bunun yerine standart yazar/zaman/medya alanlarını kullanır; bu, silme eşitleme desteği eklemez.
İzleyici sayıları yalnızca etkinleştirildiğinde yenilenir. API köprüsü eşzamanlı şu alanı okur: live_views; birikimli video görüntülemelerini yerine koymaz veya bilinmeyen sayı için sıfır uydurmaz. API yakalaması sıradan yorum metninden Stars, üyelik, vurgu veya yanıt çıkarmaz.
Facebook görünür şu öğeyi gösterdiğinde Stars, işlenmiş Canlı Sohbet DOM'undan yakalanır: N sent işaretçisi; şu alanı doldururlar: hasDonation ve donoValue 100 Stars = $1 USD oranında; şu alanı ayarlamadan: data.event.
Test etmek için şunu ekleyin: ssnreplay=1 yenilemeden sonra zaten görünür olan sohbet satırlarını işlemek için Facebook Live URL'sine ekleyin.
Olay
Ne Zaman Tetiklenir
Yük Notları
viewer_update
DOM canlı izleyici rozetini sorgular; API köprüsü etkinleştirildiğinde eşzamanlı canlı izleyici sayısını sorgular.
meta diğer kaynaklarla uyumlu tam sayı izleyici sayısı. Eksik veya ayrıştırılamayan sayılar atlanır; gerçek sıfır geçerlidir.
hasDonation
Live Chat DOM'unda görüntülenen Facebook Stars.
Standart sohbet yükü; hasDonation şu örnekteki gibi görünür Stars miktarını taşır: 100 Stars, ve donoValue USD değerini taşır. Stars şu alanı ayarlamaz: data.event.
highlightColor
Facebook görünür bir öğe oluşturur: HIGHLIGHTED etiketi.
Normal sohbet alanlarını ve şunu kullanır: highlightColor; bulunmayan alan: data.event ayarlanır. Stars yine de şunu kullanır: hasDonation.
Online Church
Uygulama: sources/onlinechurch.js
Herkese açık sohbetin ve medya başlığının DOM kazımasına dayanır.
İzleyici sayıları yalnızca şu koşulda yenilenir: İzleyici sayısını göster veya hype modu etkin olduğunda.
Olay
Ne Zaman Tetiklenir
Yük Notları
message
Yeni girdiler şu öğenin altında görünür: #publicchat.
Gönderen adı, avatar, rozetler ve DOM'da mevcutsa isteğe bağlı üyelik etiketi içeren standart sohbet yükü.
viewer_update
Medya başlığındaki canlı katılımcı sayısı rozetini her 10 saniyede bir yoklar.
meta tam sayı izleyici sayısı; şunu gönderir: 0 eski sayaçları temizlemek için rozet eksik veya okunamaz olduğunda.
SharePlay.tv
Uygulama: sources/shareplay.js
Masaüstü API uygulaması: ssn_app/resources/shareplay-client.js. Yerel SSApp kaynağı, SharePlay ekibinin sağladığı herkese açık bir OAuth istemcisiyle yetki veren kullanıcının kendi kanalına abone olur.
SharePlay kanal sayfalarındaki canlı sohbet çekmecesinin DOM kazımasına dayanır.
Kazıyıcı bağlandıktan sonra yalnızca yeni eklenen sohbet satırları ve kartlar gönderilir; mevcut geçmiş bilinçli olarak yok sayılır.
Masaüstü API kaynağı yeni EventSub olaylarını alır; bağlantı kesikken gönderilen mesajlar tekrar iletilmez. Sohbette SharePlay mesaj kimliğinin alanı: id ve gönderen kimliğinin alanı: userid, ancak avatar veya rozet içermez. İfadeler şu ayara uyar: textonly; üst mesaj oturumun 200 mesajlık önbelleğindeyse mevcut yanıt alanları doldurulur.
Masaüstü API'sinde tamamlanan olayların dönüşüm kaynağı: channel.blitz , hedef olay: raid, sohbetteki kanal tanıtımları şu olaya dönüştürülür: shoutout, ve stream.viewers şu değere: viewer_update dönüşümü izleyici sayıları veya hype modu etkin olduğunda yapılır. API kanal tanıtımları, DOM kartının banner veya düğme meta verileri olmadan sağlanan sohbet metnini içerir. Sentetik sohbet/Blitz olaylarında korunan değer: meta.is_synthetic: true; izleyici güncellemelerinde tamsayı olarak tutulan alan: meta.
Olay
Ne Zaman Tetiklenir
Yük Notları
message
Ana sohbet akışında yeni sohbet satırları görünür.
Yazar, avatar, rozet resimleri ve HTML içinde korunan ifadeleri içeren standart sohbet yükü. Konu yanıtları ayrıca şu alanı doldurur: initial, reply, ve meta.reply üst satır hâlâ mevcut olduğunda.
raid
SharePlay canlı sohbet akışına bir Blitz kartı ekler.
Standart baskın olayına eşlenir. meta.cardType şudur: "blitz", isteğe bağlı meta.fromLogin ve meta.viewers kart metni bunları sunduğunda.
shoutout
SharePlay sohbet akışına bir tanıtım/takip kartı ekler.
Şu olarak yayınlanır: data.event = "shoutout". Kartın bant resmi şu alanla iletilir: contentimg, buna karşılık meta.cardType ve meta.action kart etiketini/düğme metnini korur.
viewer_update
Görünür başlıktaki izleyici rozetini her 10 saniyede bir yoklar.
meta tam sayı izleyici sayısı; yalnızca şu koşulda gönderilir: İzleyici sayısını göster veya hype modu etkin olduğunda ve şunu gönderir: 0 rozet okunamaz hale gelirse eski sayaçları temizlemek için.
Streamplace
Uygulama: sources/streamplace.js
Streamplace'in React ile işlenmiş canlı sayfasını okur ve bağlanırken görünür sohbet geçmişini atlar.
Şunun gibi aktarım biçimli mesajlar: Name (Discord): message aktarılan gönderen adına normalleştirilir.
Olay
Ne Zaman Tetiklenir
Yük Notları
message
Bağlanıldıktan sonra yeni Streamplace sohbet satırları görünür.
Şu alanı içeren standart sohbet yükü: nameColor, chatbadges, HTML biçimi korunan bağlantılar ve yanıt alanları initial, reply, ve meta.reply görünür olduğunda.
viewer_update
İzleyici sayısı yakalama veya hype modu etkinken başlıktaki izleyici rozeti değişir.
meta tam sayı izleyici sayısı.
WorldsWave
Uygulama: sources/worldswave.js
WorldsWave canlı sayfalarını ve şu örnekteki gibi yalnızca sohbet URL'lerini destekler: https://worldswave.com/kn_livecmd.php?cmd=viewStream&streamId=STREAM_ID&chatonly=1.
Sabit şu öğeyi kullanır: data-ww-*/ww-chat-* işaretlemesi mevcut olduğunda kullanılır; yalnızca sohbet sayfaları ve eski düzenler için eski kontackt seçicileri korunur.
Yakalama bağlandığında mevcut sohbet geçmişi atlanır; yeni bir mesajla test edin.
İzleyici sayıları için şu seçenek gereklidir: İzleyici sayısını göster veya hype modu. Özel hediye/bağış olayları ve geri gönderim uygulanmamıştır. İşlenmiş bir satır yine de şu alan aracılığıyla bağış etiketi sağlayabilir: data-ww-donation.
Olay
Ne Zaman Tetiklenir
Yük Notları
message
Yeni görüntülenen WorldsWave sohbet satırı görünür.
Şu alanı içeren standart sohbet yükü: type: "worldswave", gönderen adı, avatar, isteğe bağlı kullanıcı kimliği, ad rengi, rozetler, moderatör durumu, üyelik, bağış değeri, ek ve kanal kimliği. Sabit WorldsWave mesaj kimlikleri şu alanda sunulur: meta.messageId ve eşzamanlı önizleme/tam sohbet panelleri arasında tekilleştirilir. Yalnızca metin modu kapalıyken satır içi mesaj resimleri temizlenmiş halde kalır.
viewer_update
İzleyici sayısı yakalama veya hype modu etkinken görünür canlı izleyici toplamı değişir.
meta tam sayı izleyici sayısıdır. Sabit data-ww-viewer-count değeri tercih edilir; şu örnekteki gibi kısaltılmış eski değerler: 1.2K yedek olarak normalleştirilir.
FLEX TV
Uygulama: sources/flextv.js
Şu konumdaki işlenmiş sohbet panelini okur: https://www.flextv.co.kr/channels/*/live sayfaları.
Sohbet paneli görünür olmalıdır. Kaynak bağlanırken mevcut sohbet geçmişi atlanır; bu nedenle yeni bir sohbet satırıyla test edin.
Bu kaynak için henüz izleyici sayısı, bağış veya geri gönderim yolu belgelenmemiştir.
Olay
Ne Zaman Tetiklenir
Yük Notları
message
Yeni görünür FLEX TV .chat-item satırları canlı sohbet akışında görünür.
Şu alanı içeren standart sohbet yükü: type: "flextv", chatname, chatmessage, nameColor, rozet resimleri şu alanda: chatbadges, ve FLEX üye ayrıntıları şu alanda: meta şu kaynak tarafından sunulduğunda: data-member.
Seal Team Sloth
Uygulama: sources/sealteamsloth.js
Şu konumdaki işlenmiş açılır sohbeti okur: https://sealteamsloth.com/popout-chat/* sayfaları.
İzleyici sayıları için şu seçenek gereklidir: İzleyici sayısını göster veya hype modu.
Olay
Ne Zaman Tetiklenir
Yük Notları
message
Yeni görüntülenen Seal Team Sloth sohbet satırı görünür.
Şu alanı içeren standart sohbet yükü: type: "sealteamsloth", gönderen adı, avatarı ve mesaj içeriği.
viewer_update
İzleyici sayısı yakalama veya hype modu etkinken görünür canlı izleyici toplamı değişir.
meta tam sayı izleyici sayısıdır; şu örnekteki gibi kısaltılmış değerler: 1.2K normalleştirilir.
MeetMe - DOM ve WebSocket Yakalama
Uygulama: sources/meetme.js
MeetMe'nin işlenmiş canlı sohbet DOM'unu şu konumda okur: app.meetme.com/live/view/... sayfaları ve şu öğenin içinde: api.gateway.meetme-live.com/web-live/... iframe'i.
iframe websocket'i kullanılabilir olduğunda, wss://video-live.meetme.com/ çerçeveleri, daha zengin canlı olayları yakalamak için DOM yedeğinden önce ayrıştırılır.
hideevents bağış olmayan olayları engeller; MeetMe hediyeleri ve elmas bağışları yine de bağış alanlarını doldurur. capturejoinedevent katılma/yeniden katılma bildirimlerini etkinleştirir. Aktöre özgü liked olayları, şu ayarla kontrol edilen ortak arka plan yönlendirmesini kullanır: capturelikeevent; toplam reaction efektleri açıkça Tepkiler Katmanı'na yönlendirilmiş olarak kalır.
İzleyici sayıları için görünür MeetMe başlık sayısı tercih edilir; yalnızca DOM sayısı kullanılamadığında websocket toplamlarına başvurulur. Sayılar değiştiğinde gönderilir ve şu koşul sürerken en son sayı yaklaşık her 30 saniyede bir tekrarlanır: showviewercount/hypemode etkin olduğunda; takipçi toplamları yalnızca değiştiğinde gönderilir ve yaklaşık 60 saniyelik hız sınırına tabidir.
Olay
Ne Zaman Tetiklenir
Yük Notları
message
Yeni SNSChatMessage websocket çerçeveleri gelir veya yeni ChatMessage_* DOM satırları şu konumda görünür: ChatHistoryContainer_*.
Gönderen adı, avatar, mesaj HTML'si/metni ve rozet resimleri/metni içeren standart sohbet yükü. DOM satırı ayrıntıları düz şu alandadır: meta anahtarları; şu alan dahil: messageId, roomId, level, levelColor, badgeLabels, badgeSrcs, badgeClasses, isBouncer, isTopStreamer, isBestOfTheWeek, rank, ve rowClassName. WebSocket yükleri şunu ayarlar: meta.source = "websocket".
joined / rejoined / left
SNSChatParticipant websocket oluşturma, güncelleme veya silme çerçeveleri gelir ya da MeetMe DOM'da şu öğeyi görüntüler: join-cell satırı. Katıldı/yeniden katıldı bildirimleri şu ayarı gerektirir: "joined" yayın olaylarını yakala.
MeetMe sağladığında kişi adı/avatarı içeren sohbet tarzı sistem bildirimleri üretir. meta.isNewViewer, meta.viewerLevelId, meta.isBouncer, ve meta.isSubscriber katılımcı durumunu korur.
new_follower
MeetMe, şu örnekteki gibi bir DOM favori/takip satırı görüntüler: Favorited.
Ortak takipçi olayı sözlüğünü kullanır. chatname aktördür, chatimg varsa algılanan profil fotoğrafıdır ve düz meta.favoriteText/meta.targetName özgün satır ayrıntılarını korur.
gift
SNSGiftMessage websocket çerçeveleri gelir veya MeetMe bir sohbet satırında hediye resmi görüntüler.
hasDonation görünür hediye etiketini veya elmas değerini taşır, contentimg sunulduğunda hediye resmini ve şu örnekteki gibi düz anahtarları taşır: meta.giftName, meta.giftCount, meta.amount, ve meta.currency yapılandırılmış ayrıntıları korur. Şu öğe: gift olayı gerçek hediye çerçeveleri/satırları için ayrılmıştır; bağış gösterimi yine de şu alana dayanmalıdır: hasDonation.
Özel elmas çerçeveleri bağış olayları olarak değerlendirilir. hasDonation ortak USD dönüştürmesi için elmas olarak biçimlendirilir ve meta.amount/meta.currency otomasyonlar için düz yapıda kalır.
liked / reaction
SNSLike websocket çerçeveleri gelir.
Kişiye özgü beğeniler aynı alanı kullanır: liked sözlüğünü ve TikTok ile aynı merkezi arka plan yönlendirmesini kullanır. Toplu/anonim beğeni toplamları yalnızca tepkiler hedefine şu biçimde gönderilir: reaction, düz alanlarla: meta.reactionType, meta.totalLikes, ve meta.subscriberLikes. Ayrım anonimlikte değil, olayın anlamındadır: capturelikeevent yalnızca bireysel şu öğeyi kontrol eder: liked/like olayları.
follower_update
SNSVideo websocket meta verileri takipçi toplamlarını sunar.
meta ortak sayaç olayı kuralına uygun takipçi tam sayısıdır.
guest_update
SNSVideoGuestBroadcast oluşturma/güncelleme çerçeveleri gelir.
Konuk/canlı yardımcı sunucu durumu için yalnızca meta veriden oluşan olay. Düz meta anahtarları şunları içerir: status, position, totalGuests, isMuted, guestBroadcastId, videoViewerId, ve broadcastId.
viewer_update
Görünür başlık izleyici rozeti değişir veya SNSVideo rozet kullanılamadığında websocket meta verileri izleyici toplamlarını sunar; etkin olduğu sürece değişmeyen toplamlar yaklaşık her 30 saniyede bir tekrarlanır.
meta tam sayı izleyici sayısı; yalnızca izleyici sayısı yakalama veya hype modu etkin olduğunda gönderilir.
Velora
Uygulama: sources/velora.js ve sources/websocket/velora.js
Standart mod görünür sohbet DOM'unu okur; WebSocket modu OAuth ile Velora Events API'sini kullanır.
Desteklenen Standart mod URL'leri arasında şunlar vardır: https://velora.tv/*, https://velora.tv/dashboard/stream/popout?panels=chat%2Cactivity&channel=CHANNEL&layout=vertical, ve https://velora.tv/dashboard/stream/popout/CHANNEL/obs-chat.
Volts ve kanal puanı biçimli kartlar, DOM veya Events API tarafından sunulduğunda olay yükleri olarak gönderilir.
Olay
Ne Zaman Tetiklenir
Yük Notları
message
Yeni Velora sohbet satırları görünür veya Events API sohbet mesajları gelir.
Yalnızca metin modunda değilken rozetleri, yazar rengini, bağlantıları ve ifadeleri koruyan standart sohbet yükü.
volts
Velora Volts kartları veya channel.volts Events API yükleri gelir.
Velora kanal puanı/ödül kullanımı kartları veya channel.channel_points_redemption Events API yükleri gelir.
chatmessage ödül kullanımı mesajını veya ödül başlığını taşır; meta.rewardTitle varsa ödülü tanımlar.
subscription
Görünür Velora etkinlik satırı, bir kullanıcının kanal üyesi/abonesi olduğunu belirtir.
membership görünür üyelik etiketini taşır.
viewer_update
İzleyici sayısı yakalama veya hype modu etkinken görünür izleyici sayısı değişir.
meta tam sayı izleyici sayısı.
Parti - Profil / Açılır Sohbet Yakalama
Uygulama: sources/parti.js
Şunun gibi profil URL'lerini destekler: https://parti.com/USERNAME ve şu örnekteki gibi açılır pencere URL'leri: https://parti.com/popout-chat?id=USER_ID.
İzleyici sayısı yakalama veya hype modu etkin olduğunda izleyici sayıları Parti'nin canlı yayın canlılık kontrolü uç noktasını kullanır.
Olay
Ne Zaman Tetiklenir
Yük Notları
message
Görünür Parti sohbet satırları profil veya açılır sohbet akışında görünür.
Standart sohbet yükü; nameColor Parti'nin işlenmiş yazar rengini ve şunu korur: chatmessage yalnızca metin modu etkin değilse satır içi içeriği korur.
donation
Görünür Parti bağış satırları, bir kullanıcının belirli bir miktar bağışladığını belirtir.
hasDonation görüntülenen miktarı taşır, meta.amount/meta.currency ayrıştırılabildiğinde doldurulur, meta.amountText ham miktar metnini korur ve donoValue USD bağışları için ayarlanır.
viewer_update
Parti canlılık kontrolü, canlı izleyici sayısını döndürür.
meta tam sayı izleyici sayısıdır; sayfa, sayıları şişirmemek için her kaynak penceresinde aynı canlılık kontrolü belirtecini yeniden kullanır.
CHZZK - Açılır Sohbet Yakalama
Uygulama: sources/chzzk.js
Şunları destekler: https://chzzk.naver.com/live/*/chat ve https://chzzk.naver.com/iframe/live/*/chat.
İzleyici sayısı yakalama veya hype modu etkin olduğunda izleyici sayıları CHZZK'nin canlı durum yoklama uç noktasını kullanır.
Olay
Ne Zaman Tetiklenir
Yük Notları
message
Görünür CHZZK sohbet satırları açılır sohbet akışında görünür.
Şu alanı içeren standart sohbet yükü: type: "chzzk", nameColor, rozet resmi URL'leri şu alanda: chatbadges, ve işlenmiş ifadeler şu alanda: chatmessage yalnızca metin modu etkin değilse.
şunu içeren sohbet: hasDonation
Görünür CHZZK cheese bağış satırları sohbette görünür.
hasDonation görüntülenen cheese miktarını taşır. Bu satırlar şu alanı ayarlamaz: data.event.
viewer_update
Canlı durum yoklaması bir izleyici sayısı döndürür.
İşlenmiş Rant satırları şunu sağlar: hasDonation; gelen baskın kartları şunu sağlar: event: "raid". Bu DOM kaynağı, API köprüsünün abone/takipçi olay akışını üretmez.
Olay
Ne Zaman Tetiklenir
Yük Notları
message
Görünür Rumble sohbet satırları sayfa veya açılır pencere sohbetinde görünür.
Standart sohbet yükü; chatmessage yalnızca metin modu etkin değilse, sayfa işledikten sonra Rumble ifade resimlerinin HTML'sini korur.
viewer_update
Rumble'ın şu uç noktasını çağırır: video.watching-now hizmetini her 30 saniyede bir.
meta tam sayı izleyici sayısı; şunu kullanır: credentials: 'include' oturum çerezlerini yeniden kullanmak için.
şunu içeren sohbet: hasDonation
Görünen bir Rant satırı fiyat içerir.
hasDonation işlenmiş fiyatı korur; bağış olayı işaretçisi eklenmez.
raid
Sohbette gelen bir baskın kartı görünür.
Görünür baskın mesajını ve isteğe bağlı kart resmini şu alanda kullanır: contentimg.
Rumble - Websocket/API URL'si
Uygulama: sources/websocket/rumble.js
Şu konumdan alınan, içerik üreticisine ait Live Stream API URL'si gerekir: https://rumble.com/account/livestream-api. Rumble, bu URL'nin canlı yayın anahtarını içerdiğini, ayrı kimlik doğrulama gerektirmediğini ve yalnızca güvenilir üçüncü taraflarla paylaşılması gerektiğini belirtir.
Salt okunur taşıma. Herkese açık Rumble Live Stream API belgeleri resmî bir sohbet gönderme uç noktası tanımlamaz; bu nedenle kaynak mesajları/olayları Social Stream'e aktarır, ancak Rumble'a sohbet mesajı geri göndermez.
livestreams[].chat yalnızca seçili yayın canlıyken doldurulur. Şunu kullanın: ?streamId=... API birden fazla yayın sunduğunda belirli bir yayını sabitlemek için; geçersiz kimlikler artık sessizce başka yayına geçmek yerine hata verir.
Sayfa ayrıca şunu çözümler: https://rumble.com/chat/popup/<livestreams[].id> böylece önce yayıncının şu sayfasını yüklemeden normal eklenen açılır sohbeti doğrudan açabilirsiniz: /live sayfası.
Olay
Ne Zaman Tetiklenir
Yük Notları
message
Resmî API şu değeri çözümledikten sonra Rumble'ın SSE sohbet akışından yeni girdiler gelir: livestreams[].id; yedek olarak şunu kullanır: livestreams[].chat.recent_messages.
Standart sohbet yükü. meta.source şudur: rumble_sse SSE sohbet akışı kullanılabilir olduğunda ve şu kaynaktan avatar URL'leri içerdiğinde: users[].image.1; aksi durumda şu yedeğe döner: live_stream_api avatarlar olmadan. Açılır pencere ifade kataloğu kullanılabilir olduğunda, chatmessage Rumble kısa kod ifadelerini resim HTML'si olarak işler ve meta.plainText özgün kısa kod metnini korur.
donation
Yeni rant girdileri şu alanda görünür: livestreams[].chat.recent_rants.
hasDonation USD biçimindeki miktarı taşır; meta şunu içerir: amount_cents, amount_dollars, ve expiresOn.
new_follower
Yeni girdiler şu alanda görünür: followers.recent_followers.
Şu alanı içeren sistem olayı: chatname takipçi kullanıcı adına ayarlanır; zaman damgası şu alanın altındadır: meta.followedOn.
new_subscriber
Yeni girdiler şu alanda görünür: subscribers.recent_subscribers.
Yeni girdiler şu alanda görünür: gifted_subs.recent_gifted_subs.
chatname hediye edendir, hasDonation şu hale gelir: N Gifted, ve meta şunu içerir: totalGifted, remainingGifts, giftType, ve videoId.
follower_update
Seçili takipçi sayacı her değiştiğinde.
meta tam sayı takipçi sayısı. Varsayılan değer: followers.num_followers; şu alanla: ?followerMode=total, şunu kullanır: followers.num_followers_total Rumble sağladığında.
subscriber_update
Her durumda: subscribers.num_subscribers değişir.
meta tam sayı abone sayısı.
stream_online / stream_offline
Seçili canlı yayın, canlı ve çevrimdışı durumlar arasında geçiş yaptığında.
meta yayın alanlarının temizlenmiş bir alt kümesini içerir (id, title, createdOn, kategori etiketleri, beğeniler/beğenmemeler ve izleyici toplamları). Şunun gibi hassas değerler: stream_key bilinçli olarak iletilmez.
viewer_update
Her durumda: livestreams[].watching_now seçili yayın için değişir.
meta tam sayı eşzamanlı izleyici sayısı; şunu gönderir: 0 eski sayaçları temizlemek için seçili yayın çevrimdışı olduğunda.
Bu taşıma yöntemi, sahibi olduğunuz veya yönettiğiniz kanallar için tasarlanmıştır. API URL'si canlı yayın anahtarı içerdiğinden bunu katmanlarda, günlüklerde, ekran görüntülerinde veya paylaşılan tarayıcı profillerinde açığa çıkarmayın. Resmî API yayın kimliğini çözümledikten sonra sohbet avatarları Rumble'ın SSE sohbet akışından gelir; bu taşıma yöntemi avatarlar için Rumble sayfalarını kazımaz.
YouNow - DOM Yakalama
Uygulama: sources/younow.js
İşlenmiş canlı sohbet DOM'unu okur ve şu alanı içeren standart sohbet yükleri gönderir: type: "younow".
Şunun gibi izleyici etkinliği satırları: is watching, I became a fan!, ve invited N fans to this broadcast. şu alanla işaretlenir: event: true böylece olay filtreleri bunları yönlendirebilir.
Olay
Ne Zaman Tetiklenir
Yük Notları
message
Canlı izleyici sohbetinde yeni sohbet satırları görünür.
Standart sohbet yükü; hayran/izleyici etkinliği satırları şunu ayarlar: event: true.
viewer_update
Şu koşulda görünür izleyici panelindeki sayı değişir: showviewercount/hypemode etkin olduğunda.
meta tam sayı izleyici sayısı; şunu gönderir: 0 sayaç kaybolduğunda.
Favorited Studio - DOM Yakalama
Uygulama: sources/favorited.js
İşlenmiş canlı sohbet DOM'unu okur ve şu alanı içeren standart sohbet yükleri gönderir: type: "favorited".
Olay
Ne Zaman Tetiklenir
Yük Notları
message
Yeni sohbet satırları görünür.
Standart sohbet yükü.
viewer_update
Şu koşulda canlı izleyiciler sekmesindeki sayı değişir: showviewercount/hypemode etkin olduğunda.
meta şu öğeden okunan tam sayı izleyici sayısı: content-live-viewers sekmesinde görüntülenen yeni Kullanıcı ve ChatGPT mesajlarını okur.
BEAM - DOM Yakalama
Uygulama: sources/beamstream.js
İşlenmiş canlı sohbet DOM'unu okur ve şu alanı içeren standart sohbet yükleri gönderir: type: "beamstream".
Olay
Ne Zaman Tetiklenir
Yük Notları
message
Yeni sohbet satırları görünür.
Şu alanı düz metin olarak içeren standart sohbet yükü: chatname, avatar URL'si şu alanda: chatimg, ve resim URL'leri veya SVG rozet nesneleri şu alanda: chatbadges. Beam yakalama sayfasında gizli olan alanlar boş kalır. Yerel Beam profil bağlantıları harici aktarım kaynakları olarak değerlendirilmez. contentimg sunulduğunda satır içi video/webm eklerini taşıyabilir.
viewer_update
Bir izleyici sayacı öğesi şu sırada değişir: showviewercount/hypemode etkin olduğunda.
meta tam sayı izleyici sayısı; yalnızca sohbet sayfası bir izleyici sayacı sunduğunda gönderilir.
Yıldızlar
Uygulama: sources/starvios.js
Yeni oluşturulmuş sohbet satırlarını yakalar https://starvios.com/popout/chat/USERNAME şununla: type: "starvios", düz gönderen adları, ad renkleri ve metin veya satır içi ifadeler textonly.
Ücretli sohbet satırları, görüntülenen miktarı korur hasDonation (örneğin, 100 Starvies). Hiçbir USD dönüşümü veya bağış olayı sağlanmıyor.
Mevcut satırlar ve ilk 1,5 saniyelik geçmiş yerleşim dönemi sırasında oluşturulan satırlar atlanır. Ayrı sabitlenmiş kartlar, yanıt önizlemeleri ve abonelik/baskın bildirimleri hariçtir. Açılan pencerede doğrulanmış izleyici sayısı bulunmuyor.
Standardı kullanır focusChat görünür, düzenlenebilir bir giriş mevcut olduğunda yanıt kancası. Kimliği doğrulanmış gönderim doğrulanmamış olarak kalır.
RobotStreamer
Açın: https://robotstreamer.com/chat.html?c=CHANNEL_ID and keep Stream Chat selected for channel-only capture. Each new message, including messages grouped beneath the same author, uses platform/type: "robotstreamer", düz metin chatname, userid, chatimg, chatbadges, ve nameColor. Message bodies preserve safe inline images; textonlymode uses literal text and image labels. Initial history and system notices are excluded. RobotStreamer deletions are not forwarded; remove moderated messages in the SSN dock if needed.
Castyr - DOM Yakalama
Uygulama: sources/castyr.js
Yeni işlenmiş sohbet satırlarını şu konumdan okur: https://castyr.live/homebeta/popout-chat/* ve şu alanı içeren standart sohbet yükleri gönderir: type: "castyr".
Kaynak bağlandığında mevcut sohbet geçmişi atlanır.
Olay
Ne Zaman Tetiklenir
Yük Notları
message
Yeni bir .chat-message satırı görünür.
Gönderen adı, işlenmiş mesaj içeriği ve sunulduğunda ad rengi içeren standart sohbet yükü.
viewer_update
Şu koşulda görünür etkin sohbet sayısı değişir: showviewercount/hypemode etkin olduğunda.
meta Castyr'ın başlıklı etkin sohbet öğesinden okunan tam sayı adettir.
SOOP - Oynatıcı DOM Yakalama
Uygulama: sources/sooplive.js. Birleşik biçimi destekler: play.sooplive.com oynatıcısı ve eski play.sooplive.co.kr URL'leri. Önceki genel sohbet düzeni sunulduğunda tanınmaya devam eder.
Herkese açık sohbet şunu gönderir: type/platform: "sooplive", düz metin chatname/userid, nameColor, ve temizlenmiş chatmessage. Mevcut satırlar, yinelenen mesaj kimlikleri, çeviri kopyaları ve özel fısıltılar hariç tutulur. İfadeler güvenli resimlere veya yalnızca metin modunda alternatif metne dönüşür.
Şununla: showviewercount veya hypemode etkin olduğunda, viewer_update bir tam sayı taşır: meta oynatıcının şu öğesinden: #nAllViewer. Yalnızca sohbet açılır pencereleri bu sayıyı sunmayabilir. Mevcut SOOP açılır pencereleri onları açan pencereye bağlı olduğundan SSApp ayrık açılır pencereyi açarken tam oynatıcıyı kullanır.
Gosh - Kanal Sohbeti Yakalama
Uygulama: sources/gosh.js. Şunu açın: https://gosh.com/USERNAME sohbet görünür olacak şekilde açın veya bu URL'yi SSApp'in Add other source alanına yapıştırın. Açılır sohbet penceresi gerekmez.
Yeni sohbet satırları şunu gönderir: type/platform: "gosh", düz metin chatname, nameColor, ve temizlenmiş chatmessage. Satır içi resimler ve GIF'ler güvenli HTTP(S) URL'lerini korur. Şununla: textonlymode, resimler alternatif metne veya şuna dönüşür: [image] alternatif metin yoksa. Yakalanan satırda bulunmadıklarında avatarlar, rozetler, bağışlar ve üyelikler boş kalır.
Sanallaştırılmış sohbeti en yeni mesajlara kaydırılmış halde tutun. Mevcut geçmiş, yeniden işlenen satırlar ve yazarı olmayan sistem bildirimleri hariç tutulur. İşleme indeksleri dahili kalır ve platformun yerel mesaj kimlikleri olarak gönderilmez. Takip, bağış, izleyici sayısı veya moderasyon olayları çıkarım yoluyla üretilmez.
Livacha - Sohbet Odası Yakalama
Uygulama: sources/livacha.js. Şunu açın: https://livacha.com/chat/ROOM sohbet görünür olacak şekilde açın veya oda URL'sini SSApp'in Add other source alanına yapıştırın.
Yeni sohbet satırları şunu gönderir: type/platform: "livacha", düz metin chatname, chatimg, nameColor, ve temizlenmiş chatmessage. Göreli avatar ve satır içi resim URL'leri mutlak HTTP(S) URL'lerine dönüşür. Paragraflar, satır sonları ve listeler tek sohbet mesajında düzleştirilir. Şununla: textonlymode, resimler alternatif metne veya şuna dönüşür: [image].
Mesaj kimlikleri, düzenlemelerin ve yeniden bağlanan satırların tekrar yakalanmasını önlemek için dahili olarak kullanılır. İlk geçmiş ve başa eklenen eski mesajlar atlanır; zaman damgaları ve tepki menüleri yakalanan gövdenin dışındadır. Bağış, üyelik, moderasyon veya izleyici sayısı olayları çıkarım yoluyla üretilmez.
Chatango - Group Chat
Açın: https://ROOM.chatango.com/, or a page with an embedded Chatango room. New rows emit standard chat with type/platform: "chatango", düz metin chatname, nameColor, chatmessage, ve chatimg when available. Inline images use HTTP(S) URLs; text-only mode uses their alt text or [image]. Rows already displayed when capture attaches and older messages prepended while scrolling back are skipped.
Vaughn Canlı - Kanal Sohbeti Yakalama
Uygulama: sources/vaughn.js. Şunu açın: https://vaughn.live/USERNAME sohbeti görünür hale getirin veya kanal URL'sini masaüstü uygulamasının Başka kaynak ekle öğesine yapıştırın.
Her yeni mesaj gövdesi standart sohbeti yayar. type/platform: "vaughn", düz metin chatname, chatmessageve grubun avatarı chatimg, nameColorve resim/SVG chatbadges mevcut olduğunda. Kompakt sohbet, mesajdan önceki adı okur. İfadeler, görüntülenen resim URL'lerini veya tetikleyici/alt metinlerini şununla kullanır: textonlymode.
Gruplanmış mesajlar geldiğinde, kimlikler onaylandıktan sonra değiştiğinde veya satırlar yeniden işlendiğinde tekrarları önlemek için mesaj kimlikleri ve öğeleri dahili olarak izlenir. İlk yükleme katmanı görünür durumdayken oluşturulan mevcut mesajlar ve geçmiş atlanır. Zaman damgaları, mesaj araçları ve bağlantı önizleme kartları mesaj içeriğinin dışında tutulur.
Stream.space - Deneysel DOM Yakalama
Uygulama: sources/streamspace.js. Yalnızca şununla eşleşir: https://beta.stream.space/chat-popup.php?channel=USERNAME ve eşdeğer https://stream.space açılır pencere.
Yeni görüntülenen sohbet satırları şunu gönderir: type: "streamspace", platform: "streamspace", düz metin chatname/userid, chatmessage, avatar chatimg, resim tabanlı seviye chatbadges, ve nameColor. Satır içi ifadeler güvenli resimler olarak veya şu durumda alternatif metinleriyle yeniden oluşturulur: textonlymode etkin olduğunda. Mevcut geçmiş, karşılama bildirimleri, yanıt önizlemeleri ve yinelenen sabitlenmiş öğeler hariç tutulur.
viewer_update bir tam sayı taşır: meta şuradan okunur: #popupViewersNum şu koşulda: showviewercount veya hypemode etkin olduğunda. Bağış, üyelik veya moderasyon olayları çıkarım yoluyla üretilmez.
Deneysel: İnceleme sırasında beta açılır penceresi Loading durumunda kaldı. SSApp açılır pencereyi yükledi ve izleyici güncellemelerini yakaladı; ancak canlı sohbet teslimi ve üretim açılır penceresi doğrulanmadı. SSN, sitenin görüntülemediği mesajları yakalayamaz.
w.tv ve Prime - DOM Yakalama
Uygulamalar: sources/wtv.js üzerinde https://w.tv/USERNAME/chat ve sources/prime.js üzerinde https://prime.gs/USERNAME?chat_popout=1.
Yeni sohbet satırları şunu kullanır: type/platform içindeki wtv veya prime, düz metin chatname, nameColor, ve temizlenmiş chatmessage. Satır içi ifadeler güvenli resimlere veya yalnızca metin modunda alternatif metne dönüşür. Prime ayrıca satırın şu alanını içerir: userid ve hem oturum açılmış profil bağlantılarını hem de oturum kapalıyken kullanıcı adı etiketlerini destekler. Doğrulanmış satır yapısında bulunmadıklarında avatarlar ve rozetler boş bırakılır.
İlk geçmiş, sabitlenmiş kartlar ve yanıt önizlemeleri hariç tutulur. w.tv sohbetini sanallaştırır: yakalama için sohbeti en yeni mesajlara kaydırılmış halde tutun. DOM test kimlikleri, platformun yerel mesaj kimlikleri değil, işleme indeksleridir. Prime, ilk mesajların üzerine yüklenen eski geçmişi ve yok sayılan kullanıcı yer tutucularını atlar.
İki açılır pencere de doğrulanmış bir yayın izleyici sayısı sunmadığından bu bağdaştırıcılar izleyici güncellemeleri göndermez; bağış, abonelik veya moderasyon olayları çıkarmaz.
Goodgame, Pilled, Owncast, Picarto, and Piczel Viewer Counts
Şunu etkinleştirin: İzleyici sayısını göster veya Etkin sohbet katılımcılarını takip et (showviewercount veya hypemode) to collect viewer counts. Opening the Viewer Count & Chat Activity overlay with viewers displayed also requests them. Each source emits event: "viewer_update" with a nonnegative integer meta, refreshed every 30 seconds while capture is enabled. These are stream viewer counts; active chatters are counted separately. A reported zero is valid; failed requests do not produce a zero count.
Normal chat uses the source's type, chatname, chatmessage, ve textonly fields without a viewer event marker. Viewer updates contain type, event, and integer meta; the background combines them into viewer_updates for overlays.
Source / type
Page to capture
Viewer count and chat fields
Goodgame goodgame
goodgame.ru/CHANNEL/chat
Akış viewers. Chat rows also include the native ID as a string in meta.messageId varsa.
Pilled pilled
pilled.net/livechat/USERNAME veya pilled.net/comment/TOPIC_ID
The current live topic's topicFacts.liveViews. The dedicated chat URL supports counts without opening the video page.
Owncast owncast
Your captured Owncast stream or chat page
viewerCount from that server's /api/status.
Picarto picarto
picarto.tv/chatpopout/CHANNEL/public
Kanal viewers.
Piczel piczel
piczel.tv/chat/CHANNEL veya piczel.tv/watch/CHANNEL
The matching stream's viewers. Join the chat or sign in to expose chat rows; viewer counts can be collected before joining.
Platformlar Arası Olay Uyumu
Benzer kavramların platformlar arasında nasıl eşleştiğini anlamak için bu tabloyu kullanın. Mümkün olduğunda yeni kaynaklar ilk sütundaki ortak olay adlarıyla uyumlu olmalıdır.
YouTube şunu kullanır: sponsorship yeni üyeler için; Twitch ve Kick ise şunu kullanır: new_subscriber. Platformlar arası tetikleyiciler oluştururken ikisini de kontrol etmeyi düşünün.
resub tutarlıdır yenilemeler için üç platformun tamamında.
Hediye olayları farklılık gösterir: YouTube şunu kullanır: giftpurchase/giftredemption, Twitch ve Kick ise şunu kullanır: subscription_gift.
Bağışlar platforma göre değişir: YouTube şu örnekler gibi belirli ücretli olay adlarını kullanır: superchat, supersticker, ve jeweldonation şununla: hasDonation; Twitch'te bits vardır (cheer); Kick'te bahşişler vardır (donation).
new_follower artık tutarlıdır üç platformun tamamında; ancak YouTube son aboneleri yoklar ve gecikmiş veya eksik sonuçlar döndürebilir.
Beğeniler ve tepkiler ayrı sözleşmelere sahiptir: bireysel liked/like olayları genel olarak filtrelenmedikçe Tepkiler Katmanı'na ulaşır ve yalnızca şu koşulda ana işleme hattına girer: capturelikeevent etkin olduğunda. Görsel veya platformun yerel reaction olayları üreticinin tanımladığı yönlendirmeyi korur. Toplu likes_update sayaçları ayrı olarak şu seçenekle kontrol edilir: captureliketotals.
Kapsam ve Uyumluluk Sınırları
Bu başvuru uygulanmış yükleri açıklar; her platformun her olayı ileteceğini garanti etmez. Boş hasDonation atamalarının bir kaynakta bulunması, bağış desteğini kanıtlamaz. Nelerin alınacağını hâlâ DOM görünürlüğü, hesap izinleri, yakalama seçenekleri ve API kullanılabilirliği belirler. Silme iletimi kaynağa özgüdür; evrensel moderasyon eşitlemesi olduğunu varsaymayın.
Takip Edilen Uyumsuzluklar ve Eksiklikler
İkili/Alan
Gözlemlenen Uyumsuzluk / Eksiklik
Etkisi
Twitch: Standart ve Websocket Karşılaştırması
Paylaşılan: reward, subscription_gift, viewer_update, hype_train, ve isteğe bağlı watch_streak. Yalnızca Standard: giftpurchase, knock, community_highlight. Yalnızca WebSocket: new_subscriber, resub, cheer, powerup, raid, new_follower, follower_update, subscriber_update.
channel_points artık Twitch ödül kullanımları için kullanımdan kaldırılmış eski bir alternatif addır; yeni entegrasyonlar şu alana dayanmalıdır: reward.
Kick: Standart ve Websocket Karşılaştırması
Standart mod hafif işaretçiler gönderir (gift, reward, mantıksal true, viewer_update). WebSocket resmî takip, abonelik, hediye, ödül kullanımı, KICKs, moderasyon ve canlı durum olayları ekler. Eski bir tür için uyumluluk işlemesini korur: raid yükü; ancak Kick şu anda resmî bir baskın/host aboneliği sunmuyor.
Websocket modu daha kapsamlıdır; yalnızca Standart modun olay adlarına göre oluşturulmuş otomasyonlar, geçiş sırasında gözden geçirilmelidir. Kick baskın olayını zorunlu tutmayın.
YouTube: Standart ve Websocket Karşılaştırması
Paylaşılan: superchat, supersticker, jeweldonation, sponsorship, resub, giftpurchase, giftredemption, viewer_update. Yalnızca Standard: thankyou, redirect. Yalnızca WebSocket: membermilestone, new_follower, subscriber_update, view_update, likes_update (isteğe bağlı katılım).
Temel üye/olay adları ikisi arasında uyumludur; Super Chat, Super Sticker ve Jewels şunu kullanır: hasDonation, üyelik hediyesi satın alımları/kullanımları ise bunu yapmaz.
Tüm arayüzler
Birçok kaynak şu alanı doldurur: hasDonation şu alanı ayarlamadan: data.event.
Bu doğrudur; bağış gösterimi şu alana dayanmalıdır: hasDonation, şu alanla: data.event sistem/olay anlamları için ayrılmıştır.
Kaynağa Özgü Alternatif Adlar ve Eski Adlar
Bu eşlemeler genel değişimler değil, listelenen kaynağa/bağlama özeldir. Tüketicilerin alternatif ad desteği sayfaya göre değişir. Güncel TikTok DOM ve TikFinity kaynakları hâlâ şunu gönderir: followed; Velora şunu kullanır: subscription ve channel_points, Streamlabs ise şunu kullanır: subscription. Eşleşen her olayı yeniden adlandırmak yerine mevcut kaynak sözleşmesini ve ilgili eski takma adları kabul edin.
Takma Ad / Eski Ad
Standart Karşılık
Bağlam
subscription
new_subscriber
Twitch/Kick yeni aboneliği
subgift
subscription_gift
Twitch hediye aboneliği
membership
sponsorship
YouTube yeni üye (genel)
new_member
sponsorship
YouTube yeni üye
new_membership
sponsorship
YouTube yeni üye
newmember
sponsorship
YouTube yeni üye
new-membership
sponsorship
YouTube DOM kazıyıcısı (kısa çizgili varyant)
upgraded_membership
resub
YouTube seviye yükseltme
upgraded-membership
resub
YouTube DOM kazıyıcısı (kısa çizgili varyant)
membership_upgrade
resub
YouTube seviye yükseltme
membership_milestone
membermilestone
YouTube dönüm noktası sohbet mesajı
member_milestone
membermilestone
YouTube dönüm noktası sohbet mesajı (alt çizgili varyant)
gift_membership
giftpurchase
YouTube hediye paketi
membership_gift
giftpurchase
YouTube hediye paketi
giftmemberships
giftpurchase
YouTube hediye paketi (çoğul varyant)
gifted_membership
giftredemption
YouTube hediye alındı
gifted_memberships
giftpurchase
YouTube hediye paketi (çoğul varyant)
community_gift
giftpurchase
Topluluk hediye paketi
channel_points
reward
Twitch websocket ödül kullanımı (eski alternatif ad)
followed
new_follower
Güncel TikTok DOM/TikFinity çıktısı; TikTok yakalama modlarını birleştirirken iki adı da kabul edin.
Bu Başvurunun Kullanımı
Yeni bir olay eklerken mevcut sözlüğü yeniden kullanın (subscription_gift, viewer_updatevb.) mümkün olduğunda. Sapma kaçınılmazsa gerekçesiyle birlikte burada belgeleyin.
Şunu bırakın: data.meta öngörülebilir tutun: düz anahtarları tercih edin, metinleri karma verilerle aşırı yüklemeyin ve her zaman birimleri ekleyin (currency, bits, duration).
Yük değişiklikleriyle birlikte bu sayfayı güncelleyin; ajan talimatlarını yalnızca ortak geliştirme kuralları değiştiğinde güncelleyin.
Yük değişikliklerini hem gönderen kaynak hem de tüketen katman veya Etkinlik Akışı tetikleyicisiyle doğrulayın.
Yakalama, kaynak desteğine ve ayarlara bağlıdır. Panelde veya öne çıkarılan katmanlarda olay işaretli satırları gizlemek için şunu ekleyin: &hideevents veya &hideallevents. Seçilen olayları gizlemek için şunu kullanın: &filterevents=subscription_gift,new_follower,gifted.
YouTube, Twitch ve Kick için şu seçeneği etkinleştirin: WebSocket modu platforma özgü en geniş olay desteği için. YouTube için hediye/bağış yakalama (hediyeler ve super chat'ler dahil), hem Standart hem de WebSocket modunda kullanılabilir; WebSocket ek olay türleri sunar. Tam destek yine de platforma, hesap rolüne ve verilen kapsamlara göre değişir.
NinjaBacker bağışları şunu kullanır: platform: "ninjabacker", type: "ninjabacker", chatname, düz metin chatmessage, textonly: true, kaynak ön ekli id, biçimlendirilmiş hasDonation, ve sayısal donoValue. Bunlar şu alanı taşımayan normal bağış türü satırlardır: event geçersiz kılma değeri. meta.ninjabacker ISO biçimindeki şu alanı içerir: currency ve ana para birimi cinsinden amount. Anonim bahşişlerde görünen ad Anonymous olur. Kaynak ya canlı SSE (yeniden oynatma yok) ya da SSN API'deki isteğe bağlı imzalı webhook alıcısını (yedi güne kadar kuyrukta teslim) kullanır. Güvenilir teslimler sabit bir kimlik kullanır: ninjabacker:delivery:DELIVERY_ID kimliği. İki mod da iade/itiraz geri alma işlemlerini almaz. Alıcı kimlik bilgileri ve imzalama gizli anahtarları olay yüklerine asla girmez. Çağıranın kontrol ettiği callbackId değerleri ödeme kimliği değildir ve iletilmez. Panodaki test bağışları bağış satırlarından hariç tutulur. Şunu gönderirler: event: "monetization_test" şununla: meta.ninjabackerTest yalnızca özel önizleme uyarısı için id ve at (Unix milisaniyesi) içerir.
event: "monetization_update" şu kaynaktan gelen, yalnızca meta veriden oluşan anlık görüntüdür: type/platform: "socialstream". meta.monetization.wishlist enabled, qr, position, rank, total, herkese açık url ve geçerli öğeyi (name, amount, currency, image, herkese açık url) veya null içerir. meta.monetization.ninja enabled, qr, position, username ve herkese açık bağış url alanını içerir. Özel Tip ID'leri asla dahil edilmez. meta.monetization.ebay enabled, qr, position, display (cycle/cheapest/first), seconds, isteğe bağlı duyuru ayarları ve herkese açık öğeleri içerir. Her öğe id, name, amount, currency, image, url, auction, startingBid, endsAt, available, bought ve updatedAt alanlarına sahiptir. Zamanlar Unix milisaniyesidir. Satıcı kimlik bilgileri veya alıcı kimliği içermez.
Sunucunun doğruladığı istek listesi satın alımı ayrıca şunu içerir: meta.wishlistPurchase id, name, isteğe bağlı supporter ve at (Unix milisaniyesi) ile. Bu bir sunucu onayıdır, Amazon ödeme bildirimi değildir ve parasal bağış olarak sayılmaz. Katmanlar id alanını tekilleştirmeli ve eski satın alma bildirimlerini yok saymalıdır.
Ödemesi yapılmış Shopify siparişleri
İsteğe bağlı imzalı Shopify alıcısı şunu gönderir: platform/type: "shopify" ve event: "purchase" yalnızca şu öğe için: orders/paid şununla: financial_status: "paid", pozitif toplam, test: false, iptal olmaması ve imzalı gövdeye ait güncel güncelleme zaman damgası. Test, ödenmemiş, eski, iptal edilmiş ve iade bildirimleri satın alma işlemleri üretmez. Hediye niyeti çıkarılmaz.
chatname Anonymous değeridir; müşteri alanları, özel notlar ve sipariş URL'leri hariç tutulur. chatmessage şunu içeren düz metindir: textonly: true; subtitle en fazla üç herkese açık ürün başlığını tutar. meta.commerce şunu içerir: orderTotal ve currency mağazanın para biriminde ve ayrıca quantity tam ve geçerli sayı bilindiğinde. Alıcı ve fiziksel/dijital amaç ayarlanmadan kalır. Şu alan yoktur: hasDonation veya donoValue ayarlanır. id mağaza/sipariş kapsamlı, Shopify önekli, sabit ve opak bir karma değerdir; ham sipariş tanımlayıcısı değildir.
Satın almalar mevcut etkinlik, multi-alerts Purchase kategorisi ve Etkinlik Akışı yollarını kullanır. Ürün tanıtımı mevcut şu öğeyi kullanır: meta.monetization.commerce kataloğu. Bir ürünü içe aktarmak veya tanıtım etiketini Gift olarak ayarlamak, satın alma ya da hediye olayı oluşturmaz. Shopify kurulumu ve teslimat sınırlamaları.
Hediyeler ve ticaret
Kullanın: event: "gift" hediye için, giftcontribution bir hediyeye yönelik ücretli destek için, giftfunded finansmanın tamamlanması için ve purchase ürün satışı için. Bu adlar sağlayıcıdan ve öğenin fiziksel veya dijital olmasından bağımsızdır. Eski şu adı ayırın: giftpurchase hediye üyelikler için kullanılan olaydır; Throne daha önce bu adı yanlış kullanıyordu ve artık şunu gönderiyor: gift. Mevcut üyelik üreticileri değişmez. Özel Throne olay adı filtreleri şuna geçmelidir: gift; bağış filtrelerinde değişiklik gerekmez.
hasDonation ücretli destek için uyumluluk sinyali olarak kalır; şu alanla: donoValue sağlanan veya tahmin edilen USD değerini tutar. Hediyeler ve katkılar bu alanları korur. Finansmanın tamamlanması, katkıları iki kez saymamak için ikisini de içermez. Normal ürün satışları eBay sözleşmesini koruyarak bunları varsayılan olarak içermez. Bir mağazadan, istek listesi URL'sinden veya fiziksel öğeden hediye verme amacı çıkarmayın: kaynak içerik üreticisine hediye verildiğini açıkça belirtmedikçe, alıcı veya başka bir kişi için yapılan satın alma satış olarak kalır.
İsteğe bağlı paylaşılan meta.commerce alanları şunlardır: recipient (creator, buyer, other), itemType (physical, digital, service), quantity (pozitif ürün adedi), currency (ISO para birimi), goalAmount (ana para birimi cinsinden fonlama hedefi; asla yeni gelir değildir) ve orderTotal (ana para birimi cinsinden bilinen ödenmiş sipariş toplamı; bağış geliri değil, ticarettir). Bilinmeyen ayrıntıları eklemeyin. Ürün adlarını şu alanda tutun: subtitle, resimler şu alanda: contentimg, ve destekçi metni şu alanda: chatmessage. Mevcut sağlayıcı meta verileri kullanılabilir kalır. Throne alıcıyı ve para birimini, tamamlanmada da goalAmount alanını sağlar; eBay miktarı sağlar. Hiçbiri ürün türünü tahmin etmez veya özel alıcı bilgilerini açığa çıkarmaz.
Etkinlik akışı bu olayları destekçi metni olmadan da gösterir. Multi-alerts, parasal değeri olmayan ayrı bir Gift Fully Funded bildirimi dahil olmak üzere, hediyeler ve katkılar için bağış sunumunu kullanır. Satın almaların varsayılan olarak etkin ayrı bir Purchase kategorisi vardır; şu alanı içerir: purchasestyle, purchasesound, purchaseaccent, ve disablepurchases URL kontrolleri. Satın alma uyarıları bağış toplamlarını değiştirmez.
Etkinlik Akışı bu olay adlarını Event Type ve Other Event tetikleyicilerinde sunar. Bağış tetikleyicileri yine şu alanı inceler: hasDonation; Gift Sub tetikleyicileri üyelik anlamını korur. Compare Property şu tür iç içe yolları kabul eder: meta.commerce.recipient. İşlem şablonları şunu kabul eder: {meta.commerce.quantity} ve {meta.commerce.currency}, mevcut alanla birlikte: {donation}, {subtitle}, ve {meta}. İç içe yollar büyük/küçük harfe duyarlıdır, eksik değerler boş gösterilir ve prototip üzerinde gezinmek yasaktır.
İçerik üreticisi ticaret webhook'ları ve tanıtım katmanları
Ko-fi'nin herkese açık Donation ödemeleri şunu korur: hasDonation ve USD değerini kazanır: donoValue. Abonelik ödemeleri şunu kullanır: new_subscriber veya resub, kademe şu alanda: membership. Shop Order ve Commission şunu kullanır: purchase bağış değerleri olmadan. Özel Ko-fi olayları hariç tutulmaya devam eder. Form kodlu JSON bir kez çözülür; adlar ve mesajlar düz metindir.
Buy Me a Coffee donation.created parasal desteği korur; extra_purchase.created ve commission_order.created şu hale gelir: purchase. wishlist_payment.created şu hale gelir: giftcontribution yalnızca o ödeme miktarını kullanarak; meta.commerce.completed başka bir parasal satır göndermeden sağlayıcının tamamlanma bayrağını kaydeder. membership.started şu hale gelir: new_subscriber seviye şu alanda olacak şekilde: membership, artık şu alan yanlış kullanılmaz: hasDonation seviye adı için. Abonelik başlangıç miktarı tek başına tahsil edilmiş ödeme olarak değerlendirilmez. Test, iade, başarısız ve desteklenmeyen güncelleme/yaşam döngüsü olayları ücretli uyarı üretmez. Gizli destekçi notları dahil edilmez.
Fourthwall, ORDER_PLACED olayını destekler (purchase), GIFT_PURCHASE (gift, alıcı other), DONATION (normal bağış satırı) ve SUBSCRIPTION_PURCHASED (new_subscriber). Mevcut sipariş toplamları şunu korur: hasDonation geriye dönük uyumluluk için; şu şekilde işaretlenir: meta.commerce.legacyDonationValue: true; bu, yeni ürün satışı varsayılanlarına açık bir istisnadır. Hediye kartı uygulanmış siparişler bağış değeri olmadan satın alma uyarısı üretir: sipariş toplamından yeni çekilen tutar güvenilir biçimde çıkarılamaz ve hediye satın alımı zaten sayılmıştır. Fatura adları ve e-posta adresleri herkese açık kimlik için kullanılmaz. Kontrol paneli test olayları ve sipariş güncellemeleri ücretli uyarı üretmez.
Bu bağdaştırıcılar mevcut aktarımı, bot eylemlerini, Etkinlik Akışı'nı ve hedef yönlendirmesini korur; şu alanla: meta.webhookId tekilleştirmesi. Herkese açık adları, düz metin mesajları ve bilinen öğe adlarını şu alanda sunarlar: subtitle, ve ISO meta.commerce.currency ve uygun olduğunda sayısal bağış değerlerini içerir. İade muhasebesi veya yeni alıcı kimlik doğrulaması eklemezler; sağlayıcının mevcut yapılandırılmış webhook yolunu kullanın.
meta.monetization.commerce şu alanda: monetization_update enabled, qr, position, display (first/cycle), seconds ve herkese açık bir items dizisi içerir. Her öğe name, url, image, isteğe bağlı amount (bilinmediğinde null), currency ve purpose (shop/gift/support/membership) alanlarına sahiptir. Bunlar sunucunun girdiği tanıtım ayrıntılarıdır, ödeme kanıtı değildir. Öğe eklemek veya düzenlemek bağış ya da satın alma olayı göndermez. Genel katman şunu kullanır: mode=commerce; view=both|showcase|card|alerts tanıtımı etkinlikten ayırır. İsteğe bağlı style, scale, cardevery, cardfor ve onlytype URL parametreleri sunumu kontrol eder. Mevcut sağlayıcı modları ayrıca görünüm ve zamanlama kontrollerini kabul eder. Bkz. kurulum kılavuzu.
Throne hediye olayları
İsteğe bağlı Para Kazanma entegrasyonu, imzalı Throne olaylarını şu alanla iletir: platform ve type şu değere ayarlanır: throne. Üçü de sabit bir teslim kimliği kullanır: id, düz metin chatname, chatmessage şununla: textonly: true, ürün adı şu alanda: subtitle, ve isteğe bağlı HTTPS küçük resmi şu alanda: contentimg.
olay
Anlamı
Bağış tutarı / sıralama
gift
Satın alınmış bir hediye
hasDonation ve USD donoValue; +1 hediye sıralaması
giftcontribution
Bir hediyeye yapılan katkı
Yalnızca katkı tutarı; sıralama artışı yok
giftfunded
Toplulukça fonlanan hediye tamamlandı
Hayır hasDonation veya donoValue, önceki katkıların iki kez sayılmasını önleyerek; +1 hediye sıralaması
meta.throne şunu içerir: itemName, creator (herkese açık kullanıcı adı), completed, currency ve ana para birimi cinsinden amount. Şunun için: giftfunded, tutar yeni geliri değil hedefi tanımlar. Anonim hediye verenler şu şekilde kalır: Anonymous; tamamlanmış topluluk hediyeleri şunu kullanır: Community. Özel ödeme ve gönderim alanları asla iletilmez.
monetization_update anlık görüntüleri ayrıca şunu içerir: meta.monetization.throne: enabled, username, url, qr, position, rank, ve gifts. Bu anlık görüntüler webhook URL'si veya dinleme kimlik bilgisi içermez.
Sunucunun sesli komutları (masaüstü önizlemesi)
Etkinlik Akışı Şunu söylediğimde... tetikleyicisi, SSApp'ten güvenilir yerel mikrofon komutlarını alır. Dahili eylem bağlamı şunu kullanır: chatname: "Host", type: "hostvoice", tanınan ifade şu alanda: chatmessage, ve textonly: true. Bu gelen platform olayı veya yeni sohbet aktarımı değildir. Bu alanları sohbet üzerinden göndermek ses tetikleyicisini etkinleştirmez.
Güncel bir masaüstü derlemesi, mikrofonun açıkça başlatılması ve Test modundan sonra eylemlerin etkinleştirilmesi gerekir. Bkz. önizleme kurulumu ve doğrulama durumu.
Ürün gösterim kontrolleri
Mevcut monetization_update anlık görüntüleri şunu içerebilir: meta.monetization.commerce.live: kayıtlı program için null veya {mode: "show" | "hide", url?: "https://...", until: 0 | epochMilliseconds}. Show, kaydedilmiş ürün URL'siyle tam eşleşir; ürün eksikse kart gösterilmez. Pozitif until değeri sona erdiğinde kayıtlı programa dönülür; sıfır, değiştirilene veya SSN yeniden başlayana kadar sürer. Hide, ücretli etkinlik uyarılarını değil tanıtımları bastırır.
commerce.viewerURL yayınlanmış salt okunur mağaza URL'si veya boş metindir. Mevcut olduğunda tanıtım QR kodları buraya bağlanır. SSN oturumunu veya yayınlama anahtarını asla içermez. Ürünler şu alanda kalır: commerce.items. Görüntüleme kontrolleri, içe aktarmalar veya yayımlama, bağış/satın alma olayı üretmez. Bkz. Ürün kontrolleri Etkinlik Akışı ve uzak API kullanımı için.
Etkinlik Akışı commerceControl eylemi, doğrudan/Chrome yanıtını bekler (en fazla sekiz saniye). Normal olay yüklerinde olayı korur ve şunu ekler: meta.commerceControlResult: {success: true, commerce: controlState} veya {success: false, error: "..."}. Mevcut sayısal, dizi veya başka bir nesne dışı değer için: meta, meta veriler değişmeden kalır ve tanı bilgisi şu olarak döndürülür: commerceControlResult bunun yerine eylem sonucunda kullanılır. Başarısız kontroller, özgün ödeme olayını engellemeden o zincirdeki sonraki eylemleri durdurur. Zaman aşımı, kontrolün uygulanmadığını kanıtlamaz; Next gibi göreli bir komutu yeniden denemeden önce durumu inceleyin. Başarı yerel seçili/gizli/zamanlanmış durumu doğrular; OBS görünürlüğünü veya herkese açık sayfa eşitlemesini asla doğrulamaz.
Adlandırılmış Stream Deck / API iş akışları
Bu adlandırılmış iş akışı tetikleyicisi şu alanı içeren dahili bir Etkinlik Akışı mesajı oluşturur: type: "api", event: "workflow_trigger", chatname: "Stream Deck / API", boş chatmessage, ve textonly: true. İlgili alan: meta.workflow nesnesi tetikleyici adını ve çağıranın sağladığı JSON öğesini içerir: data nesnesi. Şu örnekteki gibi şablonlar aracılığıyla değerleri okuyun: {meta.workflow.data.minutes}. Yalnızca bu tetikleyiciyle açıkça eşleşen, kaydedilmiş ve etkin akışlar değerlendirilir. Bu gelen izleyici/sohbet olayı değildir ve sohbet olarak yayınlanmaz; bu alanları sohbete kopyalamak adlandırılmış tetikleyiciyi etkinleştirmez.
NinjaChatter izleyici pilotu
Deneysel eşleştirilmiş uzantı bağlayıcısı, şu alanı içeren yalnızca görüntüleme amaçlı satırlar gönderir: type: socialstreamchat, platform: ninjachatter, ve textonly: true. meta.ninjachatter şunu taşır: origin: audience, açıklayıcı provider, ve herkese açık room kimliği. Bu satırlar platform yanıtlarını, botları, Etkinlik Akışı tetikleyicilerini ve puanları atlar. Görüntülenen sağlayıcı adı yetkilendirme anlamına gelmez. Eski NinjaChatter kaynak yakalamaları şunları içerir: meta.ninjachatter.room odaya özgü yinelenenleri engellemek için.
Cheer, özel sohbet komutu yerine ayrı ve kimliği doğrulanmış bir talep/sonuç yolu kullanır. Sabit hazır ayar mevcut Actions katmanı olayını üretir: show_text mesajını üç saniye boyunca gösterir. Alınması, doğrulanmış OBS gösterimi değil, taşıma kabulü anlamına gelir. Hiçbir izleyici yükü rastgele eylemler seçemez. Pilot NinjaChatter'da varsayılan olarak kapalıdır; yeni özel eşleştirme sınırı doğrulanana kadar Electron mevcut aktarımını korur.
Ticaret spot panoları ve son satışlar
Mevcut monetization_update olay (type/platform: socialstream) ayrıca şunu içerir: meta.monetization.boards. İlgili alan: board şunu içerir: title, style (spotlar/takımlar), columns (1–20), visible, ve en fazla 120 spots. Her spot bir dize içerir: id, düz metin label, status (available/claimed/revealed) ve result (düz metin, açıklanana kadar boş). Sahiplenmeler ve açıklamalar, sunucunun girdiği gösterim durumudur; satın alma kanıtı veya rastgele atama değildir.
boards.sales en fazla 100 yakın tarihli kayıt tutar: id, title, isteğe bağlı amount (bilinmiyorsa null), currency, quantity, source, ve at (kaydedildiği andaki Unix milisaniyesi). automatic toplamayı isteğe bağlı olarak etkinleştirir, salesVisible gösterimi ve şunu kontrol eder: revision değişikliklerde artar. Otomatik toplama yalnızca şunu kabul eder: purchase olaylarını Shopify, eBay satıcısı, Fourthwall, Ko-fi ve Buy Me a Coffee'den alır; özel/test olayları hariç tutulur. Açık artırma meta verilerini, bağışları, hediyeleri veya yer ayırtmalarını satın alma olarak değerlendirmez. Otomatik kayıtlar, öğe fiyatı yerine sipariş toplamlarını, ilan fiyatlarını veya bağış miktarlarını kullanmaz. Manuel kayıtlar şunu kullanır: source: "Host confirmed".
Durum, bu kurulumun özel para kazanma depolamasında kalıcı olarak saklanır; herkese açık anlık görüntüler teslimat tekilleştirme kimliklerini, alıcı kimliğini ve gizli bilgileri içermez. Açıkça gösterilen satışlar, kaldırılabilmeleri için olay kimliklerini korur. İadeleri sunucunun kaldırması gerekir. Yinelenen satın alma kimlikleri, görünür geçmiş temizlendikten sonra da ayrı olarak saklanır (en fazla 2.000). Mevcut getCommerceState yanıtı şunu içerir: commerce.boards; commerceControl şu belgede açıklanan pano/satış komutlarını kabul eder: pano kılavuzu. Elle düzenlemeler güncel durumu yayınlar, ancak asla satın alma olayları, bağış toplamları veya ücretli ödüller oluşturmaz. Sunucu anlık görüntüsü 35 saniye boyunca gelmezse katmanlar gizlenir.
Satıcı iş akışı eklemeleri: commerce.boards.board.id panonun bir neslini tanımlar. Manuel bir saleAdd şunu sağlayabilir: boardId ve spotId satışı kaydetmek ve o yeri tek bir atomik işlemle ayırmak için; yakın geçmişte hâlâ bulunan yinelenen bağlantılı satışlar reddedilir. saleRemove şununla: reopenSpot: true yalnızca pano nesli hâlâ eşleşiyorsa o yeri serbest bırakır. Herkese açık satış girdileri bu operatör bağlantı alanlarını içermez. İsteğe bağlı platform manuel bir satışta, filtreleme için kaynağını korur; buna karşılık source: "Host confirmed" onay yöntemini tanımlar. amount girdinin şu alanı dahil toplamıdır: quantity. eBay ödenmiş sipariş bağdaştırıcısının alanı: meta.ebayPurchase.quantity korunur.
salesSettings.auctionSource Whatnot veya eBay Live öğe yardımcısını isteğe bağlı olarak etkinleştirir. Kontrol yanıtının şu alanı: commerce.auction yalnızca en son yakalanan şu öğeden source, title, priceText, status ve at alanlarını içerir: auction_update, veya null. Beş dakika sonra sona erer; kaynak değişiminde, boşta anlık görüntüde veya yeniden başlatmada temizlenir. Yardımcı yalnızca operatör içindir: kalıcı kaydedilmez ve izleyici yayınlarına dahil edilmez; teklif veren/kazanan kimliği atılır. Kaynak betikleri ve açık artırma olay yükleri değişmez. Taslağı kopyalamak ödemeyi doğrulamaz veya satış oluşturmaz.
Event Flow audio controls
The Actions overlay accepts actionType: "play_audio" şununla: audioUrl, volume (0–1), and optional audioPlayback: "queue" veya "interrupt". Omitting the playback option keeps overlapping playback. Local media continues to use sourceType: "local", localAssetId, ve localAssetName. Queue mode holds up to 30 waiting clips with a two-minute limit per clip; interrupt mode replaces that queue's current clip and clears its waiting items.
actionType: "stop_audio" stops Flow Actions audio clips and clears the sound queue. These are overlay control messages, not source chat events or proof that OBS output was heard. Event Flow resolves a configured random sound set to one audio URL before sending the action. See Event Flow setup.