Typy zdrojů

Pro příchozí filtry používejte přesný název zdroje z dat zprávy a před odesíláním zpět do chatu si ověřte, do jaké skupiny cíl patří.

Co je type?

type je kanonický identifikátor zdroje v příchozích datech Social Stream. Překryvy, URL filtry, API a Event Flow jej používají k rozlišení platforem a variant zdrojů.

{
  "type": "youtubeshorts",
  "chatname": "Ava",
  "chatmessage": "Hello from Shorts"
}
Název Význam Nezaměňujte s
type Zdroj příchozích dat, například youtube nebo instagramlive. Zobrazovaný název, režim připojení nebo název události.
event Co se stalo, například superchat, gift, nebo viewer_update. Platforma, která jej vytvořila.
sourceName Volitelný zobrazovaný název kanálu, místnosti nebo zdroje. Stálá hodnota používaná spouštěčem Ze zdroje.
tid ID původní karty nebo okna zdroje desktopové aplikace používané pro odpovědi a vyloučení zdroje. Typ platformy.
Desktopová aplikace target Uložená kategorie používaná k výběru URL, režimu a skriptu zachytávání. Zárukou, že všechny odeslané zprávy obsahují stejný řetězec.

Důležité: Funkce Event Flow Ze zdroje (From Source) spouštěč porovnává svou nastavenou hodnotu přímo s message.type. Použijte přesnou hodnotu z dat zprávy psanou malými písmeny.

Běžné a matoucí typy

Název zachytávání nebo v rozhraní Typ v datech zprávy Co může překvapit
Živý chat YouTube youtube DOM, dotazování API a WebSocket/streamování popisují přenos, nikoli samostatné typy.
Živý chat YouTube Shorts youtubeshorts Pro příchozí filtry a cíle přeposílání v Event Flow jde o samostatný typ, zatímco společné ovládání YouTube tam, kde je třeba, stále zachází s oběma variantami jako s jednou skupinou.
Instagram Live / živý přenos InstaFeed instagramlive Komentáře příspěvků a přehledu Instagramu používají instagram.
TikFinity tiktok TikFinity je konektor; normalizovanou platformou zůstává TikTok.
X x, nebo starší twitter s volbou značky Twitter Stávající filtry mohou záměrně zachovávat starší název.
Regionální varianty Bilibili bilibili Cíle a skripty desktopové aplikace mohou uvádět bilibilicom nebo bilibilitv, zatímco data zpráv se normalizují.
Systémové události OBS obs Nejde o zdroje chatu, ale do Event Flow mohou vstupovat s událostmi jako scene_changed.

Použijte Referenční příručka událostí pro specifikaci polí a Podporované weby pro veřejné názvy nastavení platforem.

YouTube Shorts a Event Flow

Porovnávání příchozích zpráv je přesné: použijte youtubeshorts ve spouštěči Ze zdroje pro zprávy Shorts a youtube pro běžný živý chat YouTube.

Porovnávání odchozích zpráv je také přesné: Přeposlat chat s nimi zachází jako se samostatnými cíli.

  • Cíl youtube odesílá pouze do oken běžného živého chatu YouTube.
  • Cíl youtubeshorts odesílá pouze do oken živého chatu YouTube Shorts.
  • Chcete-li oslovit oba cíle, přidejte pro každý samostatnou akci nebo přeposílejte na všechny platformy kromě zdroje.

Jiné ovládací prvky pro celé YouTube mohou záměrně zpracovávat oba typy jako jednu skupinu platforem. To nemění výše uvedené přesné porovnávání v Event Flow.

Řešení problémů starších verzí

Starší verze seskupovaly oba cíle přeposílání, takže dvě akce mohly odeslat zprávu dvakrát do každého okna YouTube. Pokud k tomu dochází, aktualizujte Social Stream Ninja. Filtr odražených zpráv brání smyčkám přeposílání, ale neopravuje překrývající se rozpoznávání cílů v těchto starších verzích.

Editor Event Flow v Social Stream Ninja s propojenými uzly spouštěče, filtru a akce
Ze zdroje čte typ příchozích dat; Přeposlat chat vybírá okna zdrojů pro odchozí zprávy.

Pokračujte návodem Průvodce Event Flow nebo Návod k nastavení YouTube.

Instagram Live a komentáře Instagramu

Použijte instagramlive pro chat živých místností zachycený zdrojem Instagram Live nebo InstaFeed live. Použijte instagram pro neživé přehledy, příspěvky nebo statické komentáře.

  • Tok živého chatu: Ze zdroje = instagramlive.
  • Tok příspěvků a komentářů: Ze zdroje = instagram.
  • Obojí: použijte dva spouštěče vedoucí do jedné společné akce nebo spouštěč Libovolný zdroj následovaný filtrem rozlišujícím typ.

Viditelná značka Instagram nestačí k určení typu; obě varianty rozlišuje kontext obsahu.

Obecné, vlastní a nepojmenované zdroje

sources/generic.js je obecný náhradní způsob zachytávání DOM. Hledá běžné řádky chatu, jména, zprávy, avatary a vstupní pole. Začíná s generic, poté obvykle odvodí typ malými písmeny ze známé platformy nebo názvu hostitele stránky.

  • Než napíšete specializovaný zdroj, ověřte jím, že lze běžný chat v DOM zachytávat.
  • Neočekávejte spolehlivou podporu událostí, moderování, mazání, virtualizovaných seznamů ani uzavřeného shadow DOM.
  • Typ odvozený z názvu hostitele je praktický, ale není trvalou veřejnou specifikací. Než na něm založíte filtry, ověřte skutečně odesílaná data.
  • Pokud zdroj nemá zavedený název platformy, zvolte jednu stálou hodnotu malými písmeny type. Použijte sourceName pro zobrazovaný název místnosti nebo kanálu.
  • Pokud zatím neexistuje stálá identita, generic je bezpečnější než měnit typ u každé zprávy. Externí integrace běžně používají záměrně zvolenou hodnotu, například external.

Jakmile na novém typu závisí uživatelé, překryvy nebo toky, zdokumentujte jej v Referenční příručka událostí namísto tichého přejmenování.

Vkládání skriptů v desktopové aplikaci

Desktopová aplikace ukládá pro zdroj target, vybere jeden nebo více sourceFile/sourceFiles, otevře okno zdroje a vloží společné skripty zachytávání z tohoto projektu. Most kompatibility s Chrome runtime přenáší zachycené zprávy a příkazy odpovědí mezi stránkou a aplikací.

  • Cíl ani název souboru skriptu se nemusí shodovat s typem v datech. Cíl youtubeshorts cíl načítá sources/youtube.js, který odesílá youtube nebo youtubeshorts z kontextu stránky.
  • Cíle Bilibili se podobně mapují na společné či regionální skripty, přičemž odesílají bilibili.
  • sources/inject/*.js jsou pomocné soubory běžící v kontextu stránky pro sockety či proměnné stránky. Za kanonická data zpráv stále odpovídá obalový skript zdroje.
  • Při vkládání více skriptů se vyhněte tomu, aby si každá pomocná část nárokovala stejný cíl odchozích zpráv. Identita zachytávání a schopnost odpovídat jsou samostatné záležitosti.
  • Změny zachytávání zdrojů patří do souborů tohoto repozitáře sources/ . Desktopová aplikace je používá; její přibalená záložní kopie není hlavním zdrojem pravdy.
Položky zdrojů desktopové aplikace Social Stream Ninja zobrazující režimy připojení
Každý zdroj v desktopové aplikaci si uchovává vlastní cíl, URL, režim připojení a skript zachytávání.

Správci mohou sledovat nastavení v desktopové aplikaci v index.html vytváření oken zdrojů, poté main.js a preload.js pro vkládání a propojení mostem.

Odpovídání a přeposílání do zdrojů

Identita příchozích zpráv a schopnost odesílat spolu souvisejí, ale představují odlišné specifikace.

Akce Jak vybírá Běžná chyba
Odpovědět zdroji Používá tid pro oslovení přesné původní karty nebo okna. Ne tid, nebo daný režim zachytávání neumí odesílat do chatu.
Přeposlat na platformu Ptá se otevřených zdrojů, zda podporují daný cíl odchozích zpráv. Vybraná varianta nemá odpovídající otevřené okno zdroje nebo zdroj neumí odesílat do chatu.
Přeposlat všem kromě zdroje Rozesílá do zdrojů, kam lze zprávu směrovat, a vylučuje původní tid. Zdroj nedokáže přijmout automatický vstup nebo se odražená zpráva zachytí znovu.
  • Hodnota ze skriptu zdroje getSource v odpovědi signalizuje možnost směrování odchozích zpráv. Společné ovládání YouTube může seskupovat obě varianty, zatímco Přeposlat chat přidává pro rozpoznání cíle přesný kontext URL Shorts.
  • Obecné zachytávání může najít pravděpodobná vstupní pole a zaměřit je, ale nezaručuje, že web přijme automatické odeslání.
  • Režimy API/WebSocket mohou odesílat pomocí API platformy namísto psaní do viditelné stránky.
  • V desktopové aplikaci Bot pouze pro odpovědi (bez zachytávání) ponechává zdroj dostupný pro odpovědi a stav, ale potlačuje jeho běžné zachycené zprávy.
  • Než vytvoříte přeposílání mezi více platformami, otestujte odpovědi v jednom okně zdroje.

Kde najdete přesné podrobnosti

Při ladění zkontrolujte jednu nezpracovanou zprávu a zaznamenejte její type, event, sourceName, a tid. Tím se obvykle oddělí rozpoznávání příchozích zpráv, směrování odchozích zpráv a duplicitní zachytávání.