Steruj Social Stream Ninja przez wbudowane polecenia, automatyzację i integrację API
Social Stream Ninja zawiera kilka wbudowanych poleceń, których widzowie mogą używać na czacie lub które możesz wywoływać przez API.
| Polecenie | Opis | Jak włączyć |
|---|---|---|
!joke |
Odpowiada losowym sucharem o tematyce technologicznej | Włącz przełącznikiem w menu rozszerzenia |
hi |
Automatycznie wita każdego, kto napisze „hi” na czacie | Włącz przełącznikiem w menu rozszerzenia |
!cycle |
Po włączeniu pozwala widzom zmieniać sceny OBS | Włącz przełącznikiem w menu rozszerzenia |
Uwaga: Polecenia bota działają tylko po poprawnym skonfigurowaniu automatycznych odpowiedzi i uzyskaniu uprawnień do publikowania na odpowiednich platformach.
Aby automatyczne odpowiedzi działały poprawnie:
Jeśli przy automatycznych odpowiedziach pojawia się niebieski pasek debugowania, możesz go ukryć, uruchamiając Chrome z flagą --silent-debugger-extension-api .
Social Stream Ninja oferuje rozbudowane API do programowego sterowania każdym elementem konfiguracji transmisji. Serwer API może zarówno wysyłać polecenia do konfiguracji, jak i odbierać przychodzące wiadomości z połączonych usług czatu.
Steruj wyróżnionymi wiadomościami, czyść nakładki i zmieniaj wygląd treści podczas transmisji.
Odbieraj wydarzenia z usług zewnętrznych, takich jak Stripe, Ko-Fi i Buy Me A Coffee.
Eksportuj wiadomości czatu do pliku lub przekazuj przez webhook (POST) do własnych integracji.
Wymagane ustawienia (Global settings → Mechanics):
Zobacz pełną dokumentację API aby uzyskać szczegółowe instrukcje i przykłady kodu.
https://io.socialstream.ninja/{sessionID}/{action}/{target}/{value}
Idealne do prostych poleceń ze Stream Deck lub własnych skryptów.
wss://io.socialstream.ninja:443
Do dwukierunkowej komunikacji w czasie rzeczywistym z automatycznym ponownym łączeniem.
Jeśli wolisz połączenia peer-to-peer bez trybu WebSocket, możesz użyć Social Stream Ninja WebRTC SDK. Zawiera przykłady dla Node i przeglądarki, takie jak Odbiornik Social Stream Ninja.
https://io.socialstream.ninja/sse/{sessionID}
Do jednokierunkowych aktualizacji z serwera w czasie rzeczywistym.
API używa systemu kanałów do kierowania wiadomości:
- 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
Połącz z wybranym kanałem:
// 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
| Działanie | Opis | Przykład |
|---|---|---|
sendChat |
Wysyła wiadomość na wszystkie połączone platformy czatu | https://io.socialstream.ninja/SESSIONID/sendChat/null/Hello everyone! |
sendEncodedChat |
Wysyła wiadomość zakodowaną jako URL na wszystkie platformy | https://io.socialstream.ninja/SESSIONID/sendEncodedChat/null/Hello%20everyone%21 |
clearOverlay |
Usuwa wyróżnioną wiadomość z nakładki | https://io.socialstream.ninja/SESSIONID/clearOverlay |
nextInQueue |
Wyświetla następną wiadomość w kolejce | https://io.socialstream.ninja/SESSIONID/nextInQueue |
autoShow |
Przełącza automatyczne wyróżnianie wiadomości | https://io.socialstream.ninja/SESSIONID/autoShow/toggle |
blockUser |
Blokuje użytkownika na określonej platformie | https://io.socialstream.ninja/SESSIONID/blockUser/null/{"chatname":"username","type":"twitch"} |
extContent |
Wysyła zewnętrzną treść jako wiadomość czatu | https://io.socialstream.ninja/SESSIONID/extContent/null/{"chatname":"User","chatmessage":"Hello"} |
pin |
Przypina istniejącą wiadomość doku według ID albo pełny obiekt wiadomości. Wymaga dock.html otwarte w tej samej sesji. |
https://io.socialstream.ninja/SESSIONID/pin/null/MESSAGE_MID |
unpin |
Odpina istniejącą wiadomość doku według ID. Dla doku z etykietą użyj pola lub segmentu ścieżki target. | https://io.socialstream.ninja/SESSIONID/unpin/null/MESSAGE_MID |
nextPinned |
Wyróżnia pierwszą przypiętą wiadomość doku. | https://io.socialstream.ninja/SESSIONID/nextPinned |
removefromwaitlist |
Usuwa pierwszą aktywną pozycję listy oczekujących lub aktywną pozycję o numerze w value |
https://io.socialstream.ninja/SESSIONID/removefromwaitlist/null/1 |
highlightwaitlist |
Wyróżnia pierwszą aktywną pozycję listy oczekujących lub aktywną pozycję o numerze w value |
https://io.socialstream.ninja/SESSIONID/highlightwaitlist/null/1 |
stopentries / startentries |
Wstrzymuje lub wznawia nowe zapisy na listę oczekujących bez czyszczenia obecnej listy. openentries i resumeentries są aliasami startentries. |
https://io.socialstream.ninja/SESSIONID/stopentries |
selectwinner |
Losuje jednego lub kilku zwycięzców z listy oczekujących/losowania | https://io.socialstream.ninja/SESSIONID/selectwinner/null/1 |
downloadwaitlist |
Pobiera bieżącą listę oczekujących jako plik TSV z uruchomionej strony/aplikacji Social Stream | https://io.socialstream.ninja/SESSIONID/downloadwaitlist |
drawmode |
Włącza/wyłącza tryb losowania lub przełącza go, gdy value równa się toggle |
https://io.socialstream.ninja/SESSIONID/drawmode/null/toggle |
waitlistmessage |
Ustawia tytuł listy oczekujących lub losowania pokazywany na stronie kolejki | https://io.socialstream.ninja/SESSIONID/waitlistmessage/null/Type%20!join%20to%20enter |
resetwaitlist |
Czyści listę oczekujących i ponownie otwiera zapisy | https://io.socialstream.ninja/SESSIONID/resetwaitlist |
Wypróbuj API w interaktywnej piaskownicy z łatwym dostępem do wszystkich poleceń i funkcji:
Jeśli potrzebujesz mniejszego zestawu przycisków do realizacji transmisji w OBS, użyj Doku sterowania Social Stream i postępuj zgodnie z poradnikiem konfiguracji OBS.
Wypróbuj wszystkie polecenia API w bezpiecznym środowisku
Pobierz przykłady kodu dla HTTP, WebSocket i SSE
Obserwuj odpowiedzi na polecenia w czasie rzeczywistym
Generuj wiadomości testowe z losową treścią
Uwaga: Pamiętaj, aby zastąpić SESSIONID swoim rzeczywistym ID sesji z Social Stream Ninja!
Social Stream Ninja integruje się ze StreamDeck na kilka sposobów: przez natywne działania HTTP i Bitfocus Companion.
Użyj działania „Website” w StreamDeck z włączonym „GET request in background”, aby wysyłać polecenia bezpośrednio do API.
Natywna integracja z gotowymi działaniami, informacją zwrotną na żywo i zmiennymi do treści dynamicznych.
Bitfocus Companion zapewnia rozbudowane sterowanie Social Stream Ninja przez API WebSocket lub HTTP.
| Działanie | Opis | Metoda API |
|---|---|---|
| Wyczyść wyróżnioną wiadomość | Usuwa aktualnie wyróżnioną wiadomość z nakładki | WebSocket/HTTP |
| Następna w kolejce | Wyświetla kolejną oczekującą wiadomość | WebSocket/HTTP |
| Przełącz automatyczny pokaz | Włącza/wyłącza automatyczne wyróżnianie wiadomości | WebSocket/HTTP |
| Wyślij wiadomość czatu | Wysyła wiadomość na wszystkie połączone platformy | WebSocket/HTTP |
featured_message — tekst bieżącej wyróżnionej wiadomościfeatured_username — nazwa autora bieżącej wyróżnionej wiadomościqueue_size — liczba wiadomości w kolejceSocial Stream Ninja oferuje szeroką integrację AI, wzbogacając transmisje o odpowiedzi czatu, moderację i inne funkcje. Wybierz lokalnego lub chmurowego dostawcę AI zgodnie z potrzebami.
Pozwól AI automatycznie angażować widzów, odpowiadać na pytania i podtrzymywać rozmowę, gdy skupiasz się na swoich treściach.
Używaj AI do moderacji czatu: rozpoznawania potencjalnie szkodliwych wiadomości i automatycznej obsługi według twoich preferencji. Wybierz tryb nieblokujący lub ścisłego blokowania.
Generowanie wspomagane wyszukiwaniem pozwala AI przeszukiwać własną bazę wiedzy i udzielać dokładnych odpowiedzi dotyczących twoich treści.
Uruchamiaj różne instancje botów: publicznego bota czatu, prywatnego bota sam na sam, bota cenzurującego, a nawet multimodalnego współprowadzącego AI, który widzi i słyszy.
Social Stream Ninja obsługuje wielu dostawców AI — od w pełni lokalnych modeli przeglądarkowych i wykonawczych po hostowane API:
Darmowe, nastawione na prywatność modele AI działające na twoim komputerze przez własne API Ollama.
Uruchom Gemma 4 w przeglądarce po skopiowaniu plików modelu na własny serwer zasobów; host SSN largefiles obecnie nie zawiera plików Gemma.
Uruchom Qwen 3.5 w przeglądarce z własnych hostowanych plików modelu, aby uzyskać lokalne, prywatne odpowiedzi.
API OpenAI, w tym nowoczesne modele czatu i głosu w czasie rzeczywistym.
Modele Google Gemini, w tym aktualne opcje tekstowe Gemini 2.5 i multimodalne na żywo.
Wydajne, ekonomiczne modele AI zoptymalizowane do rozmów.
API xAI Grok, w tym sesje głosowe na żywo przy użyciu krótkotrwałych sekretów klienta.
Modele AI klasy biznesowej różnych dostawców, w tym Claude i Llama.
Dostęp do wielu modeli AI przez wspólny interfejs API.
Szybkie generowanie odpowiedzi czatu zgodne z OpenAI o niskim opóźnieniu.
Połącz z llama.cpp, LM Studio, vLLM lub inną usługą zgodną z OpenAI.
Uwaga: Ollama używa własnego natywnego API. Dla llama.cpp, LM Studio, vLLM i innych serwerów zgodnych z OpenAI wybierz Własne API.
Social Stream Ninja zapewnia rozbudowaną obsługę TTS wiadomości bota i wyróżnionego czatu:
Darmowy wbudowany TTS korzystający z syntezatora głosu systemu operacyjnego.
Darmowy lokalny TTS wykorzystujący WebGPU/CPU dla osób dbających o prywatność.
Lekki TTS przeglądarkowy pobierający mały model do lokalnego generowania głosu.
Płatna synteza mowy z naturalnymi, dostosowywanymi głosami.
Wysokiej jakości głosy z bogatym wyborem języków i opcji dostosowania.
Próbne neuronowe modele głosu Google z wyborem głosu i języka.
Synteza mowy AI z możliwościami naturalnej konwersji głosu.
Synteza mowy OpenAI z wyborem głosów, modeli i opcjonalnych zgodnych usług.
Uwaga: TTS wymaga otwarcia właściwej strony nakładki w OBS. Każdy dostawca oferuje inne głosy, opóźnienia, ceny lub wymagania sprzętowe.
Social Stream Ninja udostępnia kilka instancji botów do różnych zastosowań:
| Typ bota | URL | Opis |
|---|---|---|
| Główny bot czatu | /bot.html |
Nakładka głównego bota z opcjonalnym TTS i publicznymi odpowiedziami na czacie |
| Prywatny interfejs czatu | /chatbot.html |
Osobna strona bota do rozmowy sam na sam, bez współdzielenia zbioru RAG ani historii czatu głównego bota |
| Bot cenzurujący | (działa w tle) | Automatycznie filtruje, oczyszcza lub blokuje przychodzące wiadomości |
| Współprowadzący AI | /cohost.html |
Multimodalne AI, które widzi ekran, słyszy dźwięk i reaguje |
Aby skonfigurować integrację AI w obecnym menu, wykonaj te kroki:
Wybierz dostawcę w sekcji Skonfiguruj dostawcę usługi LLM i uzupełnij odpowiednie pola:
Użyj wbudowanego przycisku Przetestuj wybranego bota czatu aby przed transmisją sprawdzić dostawcę, model i dane uwierzytelniające.
Dostosuj zachowanie bota na czacie:
Włącz potrzebne funkcje wokół bota:
/bot.html; użyj clearBotOverlay do ręcznego czyszczenia/bot.html, /chatbot.html lub /cohost.html w OBS lub przeglądarce według potrzebPełne instrukcje konfiguracji i szczegóły TTS znajdziesz w poradnikach:
Steruj Social Stream Ninja za pomocą kontrolerów MIDI, skrótów klawiaturowych lub StreamDeck z wtyczkami MIDI.
| Numer CC | Wartość | Działanie | Uwagi |
|---|---|---|---|
| 102 | 1 | Wyślij „1” na czat | Szybka reakcja |
| 102 | 2 | Wyślij „LUL” na czat | Reakcja emotką |
| 102 | 3 | Opowiedz dowcip | Wywołuje odpowiedź bota |
| 102 | 4 | Wyczyść nakładkę | Usuwa wyróżnioną wiadomość |
Wskazówka: Sterowanie MIDI najlepiej działa z fizycznymi kontrolerami, ale można je też wywoływać przez urządzenia wirtualne.
Używaj skrótów klawiaturowych do szybkiego dostępu do typowych funkcji.
Skróty można skonfigurować w ustawieniach menu; działają w całym systemie, gdy przeglądarka ma fokus lub używana jest aplikacja.
Social Stream Ninja może odbierać wpłaty i wydarzenia z usług zewnętrznych przez webhooki; poniżej kilka popularnych:
Przyjmuj wpłaty kartą bezpośrednio na konto Stripe.
https://io.socialstream.ninja/SESSIONID/stripecheckout.session.completed&server do URL dokuPrzyjmuj wpłaty na kawę od wspierających.
https://io.socialstream.ninja/SESSIONID/kofi jako URL webhooka&server do URL dokuPrzyjmuj wpłaty przez popularną platformę Buy Me A Coffee.
https://io.socialstream.ninja/SESSIONID/bmac jako URL webhooka&server do URL doku, aby odbierać wydarzeniaUwaga o bezpieczeństwie: Zachowaj ID sesji w tajemnicy, ponieważ każda osoba, która je zna, może wysyłać fałszywe wpłaty do nakładki. URL webhooka należy traktować jako poufną informację.
Social Stream Ninja może też wysyłać dane do usług zewnętrznych:
| Usługa | Parametr URL | Opis |
|---|---|---|
| Singular Live | &singular=IDENTIFIER |
Wysyła wybrane wiadomości do Singular Live do nakładki wyróżnionych wiadomości |
| H2R | &h2r=IDENTIFIER |
Wysyła wybrane wiadomości do lokalnego serwera H2R |
| Ogólny POST | &postserver=URL |
Wysyła wybrane wiadomości do własnej usługi przez POST |
| Ogólny PUT | &putserver=URL |
Wysyła wybrane wiadomości do własnej usługi przez PUT |
Te parametry należy dodać do URL strony doku.
Możesz tworzyć własne polecenia i funkcje, dostosowując kod JavaScript:
custom_sample.js na custom.jsTa metoda pozwala na złożone dostosowania i wyzwalacze.
Możesz od podstaw tworzyć własne nakładki czatu dopasowane do stylu i funkcji transmisji. Social Stream Ninja zapewnia elastyczną podstawę do rozbudowy.
timer.htmlStrona timera ma celowo wąski zakres: jeden timer, opcjonalne sterowanie operatora, stany ostrzeżeń, czas po terminie i kilka stylów wizualnych.
Przydatne działania obejmują starttimer, pausetimer, resettimer, timeradd, timersubtract i settimer.
{
"action": "settimer",
"value": {
"seconds": 300,
"label": "Interview",
"mode": "countdown",
"style": "stage",
"warnSeconds": 60,
"dangerSeconds": 15
}
}
Aby odczytać bieżący stan timera, użyj gettimerstate z tokenem odpowiedzi zwrotnej.
{ "action": "gettimerstate", "get": "timer-state-1" }
Użyj strony z timer.html?session=YOUR_SESSION&server jeśli chcesz sterować nim bezpośrednio przez serwer API.
startgiveaway, closegiveaway, drawgiveaway, resetgiveaway i getgiveawaystate obsługują dedykowaną pulę losowania przez te same kontrolki API/Stream Deck. Losowanie automatycznie zamyka zapisy. Nowa runda zachowuje historię wcześniejszych zwycięzców i odrzuca nieopłacone rezerwacje. Anulowanie ze zwrotem oddaje nierozliczone opłaty za losy. Płatne losy, Number Hunt, Coin Flip Pot i Event Flow używają tej samej usługi prowadzącego. Konfiguracja, prezentacje, wartości poleceń i odzyskiwanie.
Te rozbudowane polecenia i opcje API pozwalają tworzyć wyjątkowe, interaktywne transmisje.