Kaynak Türleri

Gelen filtreler için veri yükünün tam kaynak adını kullanın ve sohbeti geri göndermeden önce hedef ailesini anlayın.

Nedir: type?

type gelen Social Stream veri yükündeki standart kaynak tanımlayıcısıdır. Katmanlar, URL filtreleri, API'ler ve Etkinlik Akışı platformları ve kaynak varyantlarını ayırt etmek için bunu kullanır.

{
  "type": "youtubeshorts",
  "chatname": "Ava",
  "chatmessage": "Hello from Shorts"
}
Ad Anlamı Şununla karıştırmayın
type Gelen veri yükünün kaynağı, örneğin youtube veya instagramlive. Görüntüleme etiketi, bağlantı modu veya etkinlik adı.
event Ne olduğu, örneğin superchat, gift, veya viewer_update. Onu üreten platform.
sourceName İsteğe bağlı kanal, oda veya kaynak görünen adı. Kaynaktan tetikleyicisinin kullandığı sabit değer.
tid Yanıt ve kaynak hariç tutma için kullanılan, mesajın geldiği sekme veya masaüstü kaynak penceresi kimliği. Bir platform türü.
Masaüstü uygulaması target URL, mod ve yakalama betiğini seçmek için kullanılan kayıtlı kategori. Yayımlanan her veri yükünde aynı dizenin bulunduğu garantisi.

Önemli: Etkinlik Akışı'nın Kaynaktan tetikleyicisi yapılandırılan değerini doğrudan şununla karşılaştırır: message.type. Veri yükündeki tam küçük harfli değeri kullanın.

Yaygın ve karıştırılan türler

Yakalama veya arayüz adı Veri yükü türü Neden şaşırtıcı olabilir?
YouTube canlı sohbeti youtube DOM, API yoklaması ve WebSocket/akış ayrı türleri değil, aktarımı tanımlar.
YouTube Shorts canlı sohbeti youtubeshorts Gelen filtreler ve Etkinlik Akışı aktarma hedefleri için ayrıdır; ortak YouTube kontrolleri ise gerektiğinde iki varyantı hâlâ tek aile olarak ele alır.
Instagram Live / InstaFeed canlı instagramlive Instagram gönderi ve akış yorumları şunu kullanır: instagram.
TikFinity tiktok Bağlayıcı TikFinity'dir; standartlaştırılmış platform TikTok olarak kalır.
X xveya eski twitter Twitter markalama seçeneğiyle Mevcut filtreler eski adı bilinçli olarak koruyabilir.
Bilibili bölgesel seçenekleri bilibili Masaüstü hedeflerinde ve betiklerinde şu ad geçebilir: bilibilicom veya bilibilitv, veri yükleri ise standartlaştırılır.
OBS sistem etkinlikleri obs Sohbet kaynağı değildirler, ancak şu gibi etkinliklerle Etkinlik Akışı'na girebilirler: scene_changed.

Şunu kullanın: Etkinlik başvuru kaynağı alan sözleşmesi için ve Desteklenen siteler herkese açık platform kurulum adları için.

YouTube Shorts ve Etkinlik Akışı

Gelen eşleştirme tamdır: kullanın: youtubeshorts Shorts mesajları için Kaynaktan tetikleyicisinde ve youtube normal YouTube canlı sohbeti için.

Giden eşleştirme de tamdır: Sohbeti Aktar bunları ayrı hedefler olarak ele alır.

  • Hedef youtube yalnızca normal YouTube canlı sohbet pencerelerine gönderir.
  • Hedef youtubeshorts yalnızca YouTube Shorts canlı sohbet pencerelerine gönderir.
  • İkisine de ulaşmak için her hedefe bir eylem ekleyin veya kaynak hariç tüm platformlara aktarın.

YouTube genelindeki diğer kontroller iki türü bilinçli olarak tek platform ailesi gibi ele alabilir. Bu, yukarıdaki tam Etkinlik Akışı eşleştirmesini değiştirmez.

Eski sürümlerde sorun giderme

Eski sürümler iki aktarma hedefini birlikte grupladığı için iki eylem her YouTube penceresine iki kez gönderebiliyordu. Bu olursa Social Stream Ninja'yı güncelleyin. Yansıma Filtresi aktarma döngülerini önler, ancak eski sürümlerdeki örtüşen hedef eşleştirmesini düzeltmez.

Bağlı tetikleyici, filtre ve eylem düğümleri içeren Social Stream Ninja Etkinlik Akışı düzenleyicisi
Kaynaktan, gelen veri yükünün türünü okur; Sohbeti Aktar, giden kaynak pencerelerini seçer.

Şununla devam edin: Etkinlik Akışı Kılavuzu veya YouTube kurulum kılavuzu.

Instagram Live ile Instagram Yorumları

Kullanın: instagramlive Instagram Live veya InstaFeed canlı kaynağının yakaladığı canlı oda sohbeti için. Şunu kullanın: instagram canlı olmayan akış, gönderi veya sabit yorumlar için.

  • Canlı sohbet akışı: Kaynaktan = instagramlive.
  • Gönderi/yorum akışı: Kaynaktan = instagram.
  • İkisi de: ortak tek eylemi besleyen iki tetikleyici veya ardından türe duyarlı filtre gelen Herhangi Bir Kaynak tetikleyicisi kullanın.

Görünen Instagram markası türü seçmek için yeterli değildir; ikisini içerik bağlamı ayırır.

Genel, özel ve adsız kaynaklar

sources/generic.js geniş kapsamlı DOM yakalama yedeğidir. Yaygın sohbet satırlarını, adları, mesajları, avatarları ve giriş alanlarını arar. Şununla başlar: generic, ardından normalde bilinen bir platformdan veya sayfanın ana makine adından küçük harfli tür türetir.

  • Özel bir kaynak yazmadan önce normal DOM sohbetinin yakalanabildiğini kanıtlamak için kullanın.
  • Etkinlik, moderasyon, silme, sanallaştırılmış liste veya kapalı shadow-DOM desteğinin güvenilir olmasını beklemeyin.
  • Ana makine adından türetilen tür kullanışlıdır, ancak kalıcı herkese açık sözleşme değildir. Buna göre filtre oluşturmadan önce yayımlanan veri yükünü doğrulayın.
  • Kaynağın yerleşik bir platform adı yoksa sabit, küçük harfli tek bir type. Kullanın: sourceName insanlara gösterilen oda veya kanal etiketi için.
  • Henüz sabit kimlik yoksa generic her mesajda tür değiştirmekten daha güvenlidir. Harici entegrasyonlar genellikle şu gibi bilinçli bir değer kullanır: external.

Kullanıcılar, katmanlar veya akışlar yeni türe bağımlı hale geldiğinde onu şurada belgeleyin: Etkinlik başvuru kaynağı sessizce yeniden adlandırmak yerine.

Masaüstü uygulamasında betik ekleme

Masaüstü uygulaması kaynak için şu değeri kaydeder: target, bir veya daha fazla şunu seçer: sourceFile/sourceFiles, bir kaynak penceresi açar ve bu projeden ortak yakalama betiklerini ekler. Chrome çalışma zamanı uyumluluk köprüsü, yakalanan mesajları ve yanıt komutlarını sayfa ile uygulama arasında taşır.

  • Hedef ve betik dosya adı, veri yükü türüyle eşleşmek zorunda değildir. Şu youtubeshorts hedefi şunu yükler: sources/youtube.js, şu değeri yayımlar: youtube veya youtubeshorts sayfa bağlamından.
  • Bilibili hedefleri benzer biçimde ortak/bölgesel betiklere eşlenirken şu değeri yayımlar: bilibili.
  • sources/inject/*.js dosyaları soketler veya sayfa değişkenleri için sayfa bağlamı yardımcılarıdır. Standart veri yükünün sorumluluğu kaynak sarmalayıcısında kalır.
  • Birden fazla betik eklendiğinde her yardımcının aynı giden hedefi üstlenmesinden kaçının. Yakalama kimliği ve yanıt yeteneği ayrı konulardır.
  • Kaynak yakalama değişiklikleri bu deponun şu sources/ dosyalarına aittir. Masaüstü uygulaması bunları kullanır; paketlenmiş yedek kopyası doğruluk kaynağı değildir.
Bağlantı modlarını gösteren Social Stream Ninja masaüstü uygulaması kaynak kayıtları
Her masaüstü kaynağı kendi hedefini, URL'sini, bağlantı modunu ve yakalama betiğini tutar.

Bakımcılar kurulumu masaüstü uygulamasının şu bölümünde izleyebilir: index.html kaynak penceresi oluşturmasında, ardından main.js ve preload.js ekleme ve köprüleme için.

Kaynaklara yanıt verme ve aktarma

Gelen kimlik ve giden yetenek birbiriyle ilişkilidir, ancak aynı sözleşme değildir.

İşlem Nasıl seçer? Yaygın hata
Kaynağa yanıt ver Şunu kullanır: tid tam olarak mesajın geldiği sekmeyi/pencereyi adreslemek için. Hayır tidya da bu yakalama modu sohbete mesaj gönderemiyordur.
Bir platforma aktar Açık kaynaklara o giden hedefi destekleyip desteklemediklerini sorar. Seçilen varyantla eşleşen açık kaynak penceresi yoktur veya kaynak sohbete mesaj gönderemiyordur.
Kaynak dışındaki tümüne aktar Yönlendirilebilir kaynaklara yayımlar ve çıkış kaynağı olan şu değeri hariç tutar: tid. Bir kaynak otomatik girdiyi kabul edemiyordur veya bir yansıma yeniden yakalanıyordur.
  • Bir kaynak betiğinin getSource yanıtı, giden yönlendirilebilirlik sinyalidir. Ortak YouTube kontrolleri iki varyantı gruplarken Sohbeti Aktar, hedef eşleştirmesi için tam Shorts URL bağlamını ekler.
  • Genel yakalama olası giriş alanlarını bulup odaklayabilir, ancak bu sitenin otomatik gönderimi kabul edeceğini garanti etmez.
  • API/WebSocket modları, görünür sayfaya yazmak yerine platform API'leri üzerinden gönderebilir.
  • Masaüstü uygulamasında, Bot yalnızca yanıt (yakalama yok) normal yakalanan mesajlarını bastırırken kaynağı yanıtlar/durum için kullanılabilir tutar.
  • Çok platformlu aktarıcı oluşturmadan önce yanıt desteğini tek kaynak penceresiyle test edin.

Tam ayrıntılar nerede bulunur?

Hata ayıklarken tek bir ham veri yükünü inceleyin ve şu değerini kaydedin: type, event, sourceName, ve tid. Bu genellikle gelen eşleştirmeyi, giden yönlendirmeyi ve yakalama tekrarını birbirinden ayırır.