Příkazy a API

Ovládejte Social Stream Ninja pomocí vestavěných příkazů, automatizace a integrace API

Příkazy botů

Vestavěné příkazy bota

Social Stream Ninja obsahuje několik vestavěných příkazů, které diváci mohou používat v chatu nebo je můžete spouštět přes API.

Příkaz Popis Jak zapnout
!joke Odpoví náhodným nerdovským tátovským vtipem Zapněte přepínačem v nabídce rozšíření
hi Automaticky přivítá každého, kdo v chatu napíše „hi“ Zapněte přepínačem v nabídce rozšíření
!cycle Po zapnutí umožňuje divákům měnit scény OBS Zapněte přepínačem v nabídce rozšíření

Poznámka: Příkazy bota fungují pouze při správně nastavených automatických odpovědích a oprávnění psát na příslušných platformách.

Nastavení automatických odpovědí

Aby automatické odpovědi fungovaly správně:

  1. Ověřte přihlášení k platformě (YouTube, Twitch atd.)
  2. Ověřte, že je okno chatu viditelné, nikoli minimalizované
  3. Nejprve zkuste ručně poslat testovací zprávu a ověřit oprávnění
  4. Zapněte přepínače příslušných příkazů v nabídce rozšíření

Pokud se při spuštění automatických odpovědí zobrazuje modrý ladicí pruh, můžete ho skrýt spuštěním Chrome s přepínačem --silent-debugger-extension-api .

Serverové API

Přehled

Social Stream Ninja nabízí rozsáhlé API pro programové ovládání nastavení vysílání. Server API může jak vydávat příkazy, tak přijímat příchozí zprávy ze sloučených chatovacích služeb.

Správa překryvů

Ovládejte vybrané zprávy, mažte překryvy a upravujte vzhled obsahu ve vysílání.

Integrace webhooků

Přijímejte události ze služeb třetích stran, jako jsou Stripe, Ko-Fi a Buy Me A Coffee.

Export zpráv

Exportujte zprávy chatu do souboru nebo je přeposílejte webhookem (POST) pro vlastní integrace.

Požadovaná nastavení (Global settings → Mechanics):

  • 🎮 Dálkové ovládání (StreamDeck/Bitfocus): Zapněte „Zapnout vzdálené ovládání rozšíření přes API“ (Enable remote API control of extension) (přepínač 1) — Připojte se k kanálu 1
  • 📡 Příjem chatu (aplikace Python/Node): Zapněte přepínač 1 + „Posílat zprávy chatu na server API“ (Send chat messages to API server) (přepínač 3) — Připojte se k kanálu 4

Podívejte se na úplnou dokumentaci API pro podrobné návody a příklady kódu.

Koncové body API a způsoby připojení

HTTP GET/POST

https://io.socialstream.ninja/{sessionID}/{action}/{target}/{value}

Ideální pro jednoduché příkazy ze Stream Decku nebo vlastních skriptů.

WebSocket

wss://io.socialstream.ninja:443

Pro obousměrnou komunikaci v reálném čase s automatickým obnovením připojení.

Pokud chcete zachovat přímá připojení mezi uživateli bez režimu WebSocket, můžete použít Social Stream Ninja WebRTC SDK. Obsahuje příklady pro Node i prohlížeč, například Příjemce Social Stream Ninja.

Server-Sent Events

https://io.socialstream.ninja/sse/{sessionID}

Pro jednosměrné aktualizace ze serveru v reálném čase.

Systém kanálů

API používá pro směrování zpráv systém kanálů:

	- Channel 1: Remote control commands (default for StreamDeck/Bitfocus)
	- Channel 2: Dock page output
	- Channel 3: Extension receives commands from Dock
	- Channel 4: Chat messages from Extension (use this to receive Twitch/YouTube chat!)
	- Channel 5: Waitlist/giveaway communication
	- Channels 6-9: Reserved for future use

Připojte se k požadovanému kanálu:

// To receive chat messages (listen on channel 4):
wss://io.socialstream.ninja/join/SESSION_ID/4

// To send commands (channel 1 default):
wss://io.socialstream.ninja/join/SESSION_ID

Běžné příkazy API

Akce Popis Příklad
sendChat Odešle zprávu na všechny připojené chatovací platformy https://io.socialstream.ninja/SESSIONID/sendChat/null/Hello everyone!
sendEncodedChat Odešle zprávu kódovanou pro URL na všechny platformy https://io.socialstream.ninja/SESSIONID/sendEncodedChat/null/Hello%20everyone%21
clearOverlay Vymaže vybranou zprávu z překryvu https://io.socialstream.ninja/SESSIONID/clearOverlay
nextInQueue Zobrazí další zprávu ve frontě https://io.socialstream.ninja/SESSIONID/nextInQueue
autoShow Přepíná automatický výběr zpráv k zobrazení https://io.socialstream.ninja/SESSIONID/autoShow/toggle
blockUser Zablokuje uživatele z konkrétní platformy https://io.socialstream.ninja/SESSIONID/blockUser/null/{"chatname":"username","type":"twitch"}
extContent Odešle externí obsah jako zprávu chatu https://io.socialstream.ninja/SESSIONID/extContent/null/{"chatname":"User","chatmessage":"Hello"}
pin Připne existující zprávu doku podle ID zprávy nebo připne celý objekt zprávy. Vyžaduje stránku dock.html otevřenou ve stejné relaci. https://io.socialstream.ninja/SESSIONID/pin/null/MESSAGE_MID
unpin Odepne existující zprávu doku podle ID zprávy. U označeného doku použijte pole nebo část cesty target. https://io.socialstream.ninja/SESSIONID/unpin/null/MESSAGE_MID
nextPinned Vybere k zobrazení první připnutou zprávu doku. https://io.socialstream.ninja/SESSIONID/nextPinned
removefromwaitlist Odebere první aktivní položku čekacího seznamu nebo očíslovanou aktivní položku v value https://io.socialstream.ninja/SESSIONID/removefromwaitlist/null/1
highlightwaitlist Zvýrazní první aktivní položku čekacího seznamu nebo očíslovanou aktivní položku v value https://io.socialstream.ninja/SESSIONID/highlightwaitlist/null/1
stopentries / startentries Zastaví nebo obnoví nové přihlášky do čekacího seznamu bez vymazání stávajícího seznamu. openentries a resumeentries jsou aliasy pro startentries. https://io.socialstream.ninja/SESSIONID/stopentries
selectwinner Vybere jednoho nebo více náhodných výherců čekacího seznamu/losování https://io.socialstream.ninja/SESSIONID/selectwinner/null/1
downloadwaitlist Stáhne aktuální čekací seznam jako soubor TSV z běžící stránky/aplikace Social Stream https://io.socialstream.ninja/SESSIONID/downloadwaitlist
drawmode Zapíná/vypíná režim losování nebo jej přepne, když value se rovná toggle https://io.socialstream.ninja/SESSIONID/drawmode/null/toggle
waitlistmessage Nastavuje nadpis čekacího seznamu nebo losování zobrazený na stránce čekacího seznamu https://io.socialstream.ninja/SESSIONID/waitlistmessage/null/Type%20!join%20to%20enter
resetwaitlist Vymaže čekací seznam a znovu otevře přihlášky https://io.socialstream.ninja/SESSIONID/resetwaitlist

Interaktivní testovací prostředí API

Vyzkoušejte API v našem interaktivním testovacím prostředí s jednoduchým přístupem ke všem příkazům a funkcím:

Pro menší sadu tlačítek živého vysílání v OBS použijte Ovládací dok Social Stream a postupujte podle návodu k nastavení OBS.

Otestovat příkazy

Vyzkoušet všechny příkazy API v bezpečném prostředí

Vygenerovat kód

Získat příklady kódu pro HTTP, WebSocket a SSE

Zobrazit výsledky

Sledujte odpovědi na příkazy v reálném čase

Vytvořit testy

Generovat testovací zprávy s náhodným obsahem

Poznámka: Nezapomeňte nahradit SESSIONID svým skutečným ID relace ze Social Stream Ninja!

StreamDeck a Companion

Integrace StreamDeck

Social Stream Ninja propojuje StreamDeck několika způsoby: nativními akcemi HTTP a integrací Bitfocus Companion.

Metoda HTTP/API

Použijte akci Website ve StreamDecku se zapnutým GET request in background pro přímé posílání příkazů API.

Bitfocus Companion

Nativní integrace s předpřipravenými akcemi, zpětnou vazbou v reálném čase a proměnnými pro dynamický obsah.

Integrace Companion

Bitfocus Companion poskytuje rozsáhlé ovládání Social Stream Ninja přes WebSocket nebo HTTP API.

Akce Popis Metoda API
Vymazat vybranou zprávu Odstraní aktuálně vybranou zprávu z překryvu WebSocket/HTTP
Další ve frontě Zobrazí další zprávu z fronty WebSocket/HTTP
Přepnout automatické zobrazení Zapíná/vypíná automatický výběr zpráv k zobrazení WebSocket/HTTP
Poslat zprávu chatu Odešle zprávu na všechny připojené platformy WebSocket/HTTP

Dynamické proměnné

  • featured_message — Text aktuálně vybrané zprávy
  • featured_username — Jméno uživatele aktuálně vybrané zprávy
  • queue_size — Počet zpráv ve frontě

Integrace AI

Režim AI chatbota

Social Stream Ninja nabízí rozsáhlou integraci AI pro odpovědi v chatu, moderování a další vylepšení vysílání. Podle potřeby vyberte místní nebo cloudové poskytovatele AI.

Automatické odpovědi v chatu

Nechte AI automaticky komunikovat s diváky, odpovídat na otázky a udržovat živou konverzaci, i když se soustředíte na obsah.

Moderování obsahu

Pomocí AI moderujte chat: rozpoznávejte potenciálně škodlivé zprávy a automaticky je zpracovávejte podle svých preferencí. Vyberte neblokující nebo přísně blokující režim.

Vyhledávání RAG

Retrieval-Augmented Generation umožňuje AI prohledávat vlastní znalostní bázi a poskytovat přesné odpovědi vztahující se k vašemu obsahu.

Více instancí botů

Provozujte různé instance botů pro různé účely: veřejného chatbota, soukromého osobního bota, cenzurního bota nebo multimodálního AI spolumoderátora, který vidí a slyší.

Podporovaní poskytovatelé AI

Social Stream Ninja podporuje více poskytovatelů AI, od zcela místních modelů v prohlížeči či běhovém prostředí po hostovaná API:

Ollama (nativní místní API)

Bezplatné modely AI zaměřené na soukromí, provozované na vlastním počítači přes nativní API Ollama.

Local Gemma 4

Spusťte Gemma 4 v prohlížeči po zkopírování modelových souborů na vlastní hostování; hostitel SSN largefiles nyní soubory Gemma neobsahuje.

Local Qwen 3.5

Spusťte Qwen 3.5 v prohlížeči z vlastních hostovaných souborů modelu pro místní soukromé odpovědi.

ChatGPT / OpenAI

API OpenAI včetně moderních chatových modelů a hlasových modelů v reálném čase.

Google Gemini

Modely Google Gemini včetně aktuálních textových Gemini 2.5 a živých multimodálních možností.

DeepSeek

Efektivní a cenově dostupné modely AI optimalizované pro konverzace.

xAI (Grok)

API xAI Grok včetně hlasových relací v reálném čase při použití dočasných klientských tajných klíčů.

AWS Bedrock

Modely AI podnikové úrovně od různých poskytovatelů, včetně Claude a Llama.

OpenRouter

Přístup k více modelům AI přes jednotné rozhraní API.

Groq

Chatová inference kompatibilní s OpenAI s nízkou latencí pro rychlé konverzační odpovědi.

Custom API (kompatibilní s OpenAI)

Připojte llama.cpp, LM Studio, vLLM nebo jiný koncový bod kompatibilní s OpenAI.

Poznámka: Ollama používá vlastní nativní API. Pro llama.cpp, LM Studio, vLLM nebo jiné servery kompatibilní s OpenAI vyberte Custom API.

Integrace převodu textu na řeč

Social Stream Ninja obsahuje rozsáhlou podporu TTS pro zprávy botů a vybrané zprávy chatu:

Systémové TTS

Bezplatné vestavěné TTS využívající syntetizér hlasu operačního systému.

Kokoro

Bezplatné místní TTS přes WebGPU/CPU pro uživatele dbající na soukromí.

Kitten TTS

Nenáročné TTS v prohlížeči, které stáhne malý model pro místní tvorbu hlasu.

ElevenLabs

Prémiová syntéza řeči s přirozenými, přizpůsobitelnými hlasy.

Google Cloud TTS

Vysoce kvalitní hlasy s rozsáhlou jazykovou podporou a možnostmi úprav.

Gemini (Preview TTS)

Předběžné neuronové hlasové modely Google s výběrem hlasu a jazyka.

Speechify

Převod textu na řeč pomocí AI s přirozenou změnou hlasu.

OpenAI TTS

Syntéza řeči OpenAI s výběrem hlasů, modelů a volitelných kompatibilních koncových bodů.

Poznámka: TTS vyžaduje otevření příslušné stránky překryvu v OBS. Každý poskytovatel nabízí jiné hlasy, latenci, cenu nebo hardwarové požadavky.

Instance botů a překryvy

Social Stream Ninja nabízí více instancí botů pro různé způsoby použití:

Typ bota URL Popis
Hlavní chatbot /bot.html Překryv hlavního bota s volitelným TTS a veřejnými odpověďmi v chatu
Rozhraní soukromého chatu /chatbot.html Samostatná stránka osobního bota, která nesdílí data RAG ani historii chatu hlavního bota
Cenzurní bot (běží na pozadí) Automaticky filtruje, upravuje nebo blokuje příchozí zprávy
AI spolumoderátor /cohost.html Multimodální AI, která vidí obrazovku, slyší zvuk a dokáže reagovat

Nastavení integrace AI

Podle těchto kroků nastavte integraci AI v aktuální nabídce:

1

Vyberte a připojte poskytovatele LLM

Vyberte poskytovatele v části Nastavit poskytovatele LLM (Configure LLM Service Provider) a vyplňte odpovídající pole:

  • Ollama: Nainstalujte místně a podle potřeby nastavte koncový bod
  • Local Gemma / Local Qwen: Použijte hostované soubory modelu pro prohlížeč a volitelné přepsání složky modelu; Qwen může používat SSN largefiles, Gemma potřebuje vlastní kopii složky
  • ChatGPT, Gemini, DeepSeek, xAI, Groq, OpenRouter, Bedrock: Přidejte klíč API a preferovaný model
  • Custom API: Zadejte koncový bod kompatibilní s OpenAI, ID modelu a volitelný klíč API
2

Otestovat vybraného chatbota

Použijte vestavěné tlačítko Otestovat vybraného chatbota (Test selected chat bot) pro ověření poskytovatele, modelu a přihlašovacích údajů před živým vysíláním.

3

Nastavte chování bota

Přizpůsobte chování bota v chatu:

  • Zapnout AI chatbota LLM (Enable the LLM AI chat bot)
  • Nastavte jméno bota, spouštěcí slova a omezení frekvence odpovědí
  • Vyberte, zda mají odpovědi jít zpět do chatu, nebo jen na stránku překryvu bota
  • Přidat vlastní pokyny pro tón, roli a pravidla moderování
4

Zapněte volitelné doplňky

Zapněte požadované funkce související s botem:

  • Zapněte TTS odpovědí bota a vyberte poskytovatele
  • Vyberte automatické skrytí po pevné době, podle délky zprávy nebo po TTS pro /bot.html; použijte clearBotOverlay pro ruční vymazání
  • Zapněte RAG a nahrajte dokumenty pro odpovědi založené na znalostech
  • Zapněte cenzurního bota pro moderování nebo přísné blokování
  • Otevřít /bot.html, /chatbot.html, nebo /cohost.html v OBS nebo prohlížeči podle potřeby

Ovládání MIDI a klávesovými zkratkami

Integrace MIDI

Ovládejte Social Stream Ninja ovladači MIDI, klávesovými zkratkami nebo StreamDeckem s pluginy MIDI.

Požadavky na nastavení

  1. Zapněte podporu MIDI v nastavení rozšíření
  2. Nainstalujte virtuální zařízení MIDI loopback (např. loopMIDI)
  3. Nastavte ovladač MIDI nebo plugin MIDI pro StreamDeck
Číslo CC Hodnota Akce Poznámky
102 1 Poslat „1“ do chatu Rychlá reakce
102 2 Poslat „LUL“ do chatu Reakce emotikonem
102 3 Říct vtip Spustí odpověď bota
102 4 Vymazat překryv Odstraní vybranou zprávu

Tip: Ovládání MIDI nejlépe funguje s fyzickými ovladači, ale lze ho spouštět i virtuálními zařízeními MIDI.

Podpora klávesových zkratek

Používejte klávesové zkratky pro rychlý přístup k běžným funkcím.

Zkratky lze nastavit v nabídce a fungují v celém systému, pokud je prohlížeč aktivní nebo používáte aplikaci.

Integrace webhooků

Služby darů

Social Stream Ninja může přes webhooky přijímat dary a události od třetích stran; několik oblíbených služeb je uvedeno níže:

Stripe

Stripe

Zpracovávejte dary platební kartou přímo přes svůj účet Stripe.

  • Vytvořte platební odkaz na stripe.com
  • Ve Stripe Dashboard přejděte na Developers → Webhooks
  • Přidejte koncový bod: https://io.socialstream.ninja/SESSIONID/stripe
  • Vyberte událost checkout.session.completed
  • Přidejte &server do URL doku
Ko-Fi

Ko-Fi

Přijímejte příspěvky na kávu od podporovatelů.

  • Přihlaste se do účtu Ko-Fi
  • Otevřete Nastavení webhooků
  • Přidejte https://io.socialstream.ninja/SESSIONID/kofi jako URL webhooku
  • Přidejte &server do URL doku
  • Otestujte tlačítkem Send Single Donation Test
Buy Me A Coffee

Buy Me A Coffee

Přijímejte dary přes oblíbenou platformu Buy Me A Coffee.

  • Přihlaste se do účtu Buy Me A Coffee
  • Přejděte do nastavení webhooků
  • Přidejte https://io.socialstream.ninja/SESSIONID/bmac jako URL webhooku
  • Přidejte &server do URL doku pro příjem událostí
  • Podporovány jsou události darů i členství

Bezpečnostní poznámka: ID relace uchovávejte v soukromí, protože kdokoli s tímto ID může do překryvu posílat falešné dary. S URL webhooku zacházejte jako s citlivým údajem.

Integrace externích služeb

Social Stream Ninja také může posílat data službám třetích stran:

Služba Parametr URL Popis
Singular Live &singular=IDENTIFIER Odešle vybrané zprávy do Singular Live pro překryv vybraných zpráv
H2R &h2r=IDENTIFIER Odešle vybrané zprávy na místní server H2R
Obecný POST &postserver=URL Odešle vybrané zprávy do vlastního koncového bodu přes POST
Obecný PUT &putserver=URL Odešle vybrané zprávy do vlastního koncového bodu přes PUT

Tyto parametry přidejte do URL stránky doku.

Vlastní skripty

Vlastní JavaScript

Vlastní příkazy a funkce můžete vytvořit úpravou JavaScriptu:

Použití custom.js

  1. Přejmenujte custom_sample.js na custom.js
  2. Upravte soubor a přidejte vlastní funkce
  3. Otevřete soubor dock.html místně, aby se načetl custom.js

Tento způsob umožňuje složité úpravy a spouštěče.

Vlastní překryvy

Tvorba vlastních překryvů

Vlastní chatové překryvy můžete vytvořit od základu podle stylu a funkcí svého vysílání. Social Stream Ninja nabízí pružný základ, na kterém můžete stavět.

Začínáme se šablonou

Začněte naší ukázkovou šablonou překryvu a seznamte se se základy:

// View the sample overlay
https://socialstream.ninja/sampleoverlay?session=SESSIONID

Tato minimální šablona obsahuje pouze základní kód nutný pro funkční překryv.

Zobrazit ukázkový překryv

Hlavní možnosti přizpůsobení

  • Přepínat mezi vybranými zprávami a zobrazením všech zpráv
  • Přizpůsobte vzhled pomocí CSS
  • Přidat vlastní animace nových zpráv
  • Implementovat vlastní filtrování zpráv
  • Přidat interaktivní prvky pomocí JavaScriptu

Postup implementace

  1. Stáhněte ukázkový soubor HTML překryvu
  2. Upravte HTML pro vlastní rozložení
  3. Upravte CSS podle požadovaného vzhledu
  4. Podle potřeby upravte JavaScript pro vlastní chování
  5. Uložte soubor místně a použijte ho v OBS jako zdroj prohlížeče

API časovače

Dálkové ovládání timer.html

Stránka časovače má záměrně úzké zaměření: jeden časovač, volitelné ovládání obsluhy, varovné stavy, přesčas a několik vzhledů.

Užitečné akce zahrnují starttimer, pausetimer, resettimer, timeradd, timersubtract, a settimer.

{
  "action": "settimer",
  "value": {
    "seconds": 300,
    "label": "Interview",
    "mode": "countdown",
    "style": "stage",
    "warnSeconds": 60,
    "dangerSeconds": 15
  }
}

Pro zjištění aktuálního stavu časovače použijte gettimerstate s tokenem zpětného volání.

{ "action": "gettimerstate", "get": "timer-state-1" }

Použijte stránku s timer.html?session=YOUR_SESSION&server pokud ho chcete ovládat přímo přes server API.

Příkazy spravovaných soutěží

startgiveaway, closegiveaway, drawgiveaway, resetgiveaway, a getgiveawaystate ovládají vyhrazený seznam účastníků soutěže stejnými prvky API/Stream Deck. Losování automaticky uzavře přihlášky. Nové kolo zachovává historii předchozích výherců a odmítá nezaplacené rezervace. Zrušení a vrácení vrátí nevyřízené platby za losy. Placené losy, Number Hunt, Coin Flip Pot a Event Flow používají stejnou službu hostitele. Nastavení, zobrazení, hodnoty příkazů a obnova.

Připraveni posunout své vysílání dál?

S těmito příkazy a možnostmi API můžete vytvořit osobité interaktivní vysílání.