Canlı Olay Başvurusu
Bu sayfa, Social Stream Ninja'nın başlıca platformlar için gönderdiği standart olay yüklerini belgeler. Yeni kaynaklar bağlarken, entegrasyon sorunlarını giderirken veya arayüz etiketlerini uyumlulaştırırken bunu ortak doğruluk kaynağı olarak kullanın. Tüketicilere yönelik daha kısa bir tablo için bkz. Olaylar ve Uyarı Uyumluluğu.
Bu Sayfada
Paylaşılan alan kurallarına, bir platform uygulamasına veya sona yakın uyumluluk notlarına gidin.
Ö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.
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ı |
*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 |
Kaynağın sağladığı, mesaj işleme ve katman dışı çıktılar tarafından kullanılan görünen ad. Yapılandırılmış kullanıcı görünen adı takma adı, bu değeri yalnızca kopyalanmış panel ve katman taşıma yüklerinde değiştirebilir. |
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. |
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. |
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. |
membership gift_recipient; varsayılan rozet 🎁 olur; subtitle hediye edilen seviyeyi belirtir. |
membermilestone |
Dönüm noktası sohbet mesajları (memberMonth veya displayMessage mevcut olduğunda). |
membership member_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
- Uzantı ayarlarında WebSocket modunun etkinleştirilmesi gerekir
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).
Etkinlik Akışı Düzenleyicisi tetikleyicisi: Kullanın: data.event === "new_follower" ve data.type === "youtube"
YouTube Websocket: Hızlı Olay ve Üyelik Başvurusu
data.event |
data.membership |
Senaryo |
sponsorship | new_sponsor | Şu yolla yeni üye: newSponsorEvent |
sponsorship | new_member | Şu yolla yeni üye: processMembership |
resub | renewed_member | Üyelik yenileme |
resub | upgraded_member | Seviye yükseltme |
giftpurchase | gift_giver | Kanala hediye edilen üyelikler |
giftredemption | gift_recipient | Hediye üyelik aldı |
membermilestone | member_milestone | Üyelik yıl dönümü sohbet mesajı |
superchat | - | Super Chat |
supersticker | - | Super Sticker |
user_banned | - | 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
- OAuth kapsamları:
chat:read, chat:edit, user:write:chat, bits:read, moderator:read:followers, moderator:read:chatters, channel:read:subscriptions, channel:read:hype_train, channel:moderate, moderator:manage:banned_users, moderator:manage:chat_messages, channel:manage:broadcast, channel:read:redemptions, channel:read:ads, channel:manage:ads. Yayıncı belirteçleri abone/takipçi sayılarına erişim sağlar.
- 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 |
EventSub'dan 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. |
reward |
channel.channel_points_custom_reward_redemption.add. |
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.). |
gift |
Hediye edilen üyelikler/abonelikler. |
meta.tokens.amount hediye sayısını gösterebilir; meta.tokens.levelName seviyeyi tutabilir. |
follow |
Takipçi uyarıları. |
Bağış alanları yoktur; chatname uyarının ad belirtecini yansıtır. |
raid |
Baskın uyarıları. |
meta.tokens.count varsa baskına katılanların sayısını tutar. |
redeem |
Cloudbot ödül kullanım uyarıları. |
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ışı bileşeni/iframe'i için. SSApp hâlâ en geniş olay kapsamına sahip yerel TikTok entegrasyonuna sahiptir (SSApp belgelerine bakın).
- 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 hediye satırları ayrıca şunu ayarlar: contentimg varsa hediye simgesine ayarlanır. Yerel DOM ve TikFinity hediye serisi güncellemeleri şunu 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
- Sohbet görünür olacak şekilde canlı Whatnot yayın sayfasını açın; mevcut websocket yakalaması sohbeti, açık artırma/satış bildirimlerini, ödeme hatalarını, baskınları, bağışları ve hızlı izleyici güncellemelerini sağlar. Ürün/çekiliş anlık görüntüleri hâlâ yayın görünümünde işlenen DOM bölümlerine dayanır.
- 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. |
Şu alan altında bölüm sayıları ve öğe dizileri içeren, yalnızca meta veriden oluşan anlık görüntü: meta.products, meta.surpriseSets, ve meta.upcomingGiveaways. |
auction_started, new_bid, auction_ended, product_sold |
İ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. |
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 değerleri yalnızca yakalanan pakette açıkça sağlandığında iletilir. Eksik tanımlayıcılar dahil edilmez; yalnızca ürün kimliği birden fazla satışı kapsayabilir, bu nedenle bildirimleri ilişkilendirmek için sağlanan sipariş/açık artırma kimliğini kullanın. Yakalama satın almaları saklamaz veya ödeme güncellemelerini eşleştirmez; bu tür iş akışları Etkinlik Akışı'nda açıkça yapılandırılmalıdır. Mevcut iki yakalama köprüsünden kısa süre içinde gelen yinelenen paketler engellenir. Ham sipariş/ödeme nesneleri iletilmez.
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ı izleyici sayısıdır. |
follower_update |
Satıcı istatistikleri uç noktası, satıcının takipçi sayısını döndürdüğünde. |
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
- 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. |
new_follower |
channel.followed. |
Takipçi simgeleri profil önbelleğinden alınır; follower_update Kick birikimli toplamlar sağladığında tetiklenir. |
follower_update |
Köprü, webhook yüklerinde takipçi sayılarını sağlar. |
meta tam sayı toplam; panolar tarafından takipçi hedefleri için kullanılır. |
stream_online / stream_offline |
livestream.status.updated. |
meta Kick'ten gelen ham durum gövdesini içerir (is_live, title vb.). |
viewer_update |
livestream.status.updated Kick eşzamanlı izleyici toplamlarını içerdiğinde. |
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 çerçeveleri eşleşen satırları panelden kaldırır; isteğe bağlı ayarlar, panel silmelerini ve engellemelerini VPZone'a geri eşitler (yalnızca kanal sahibi).
- 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
- 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.
| 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. |
donation |
SNSDiamond websocket çerçeveleri elmas etkinliğini sunar. |
Ö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. |
hasDonation görüntülenen Volts miktarını taşır; DOM yakalamaları şunu içerir: meta.source = "dom". |
channel_points |
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. |
meta tam sayı izleyici sayısıdır. |
Rumble - Standart DOM Yakalama
Uygulama: sources/rumble.js
- Şunun için kimliği doğrulanmış oturum çerezleri gerekir:
service.php izleyici API'si yanıt verdiğinde.
- İş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. |
membership şu değere ayarlanır: SUBSCRIBER; subtitle Rumble sağladığında belgelenmiş USD miktarını yansıtır. |
subscription_gift |
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. |
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.
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.
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.
Başa dön
Para kazanma katmanları
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.