Керуйте Social Stream Ninja за допомогою вбудованих команд, автоматизації та інтеграції API
Social Stream Ninja містить кілька вбудованих команд, які глядачі можуть використовувати в чаті або які ви можете запускати через API.
| Команда | Опис | Як увімкнути |
|---|---|---|
!joke |
Відповідає випадковим технічним «татівським» жартом | Увімкніть перемикачем у меню розширення |
hi |
Автоматично вітає кожного, хто пише «hi» в чаті | Увімкніть перемикачем у меню розширення |
!cycle |
Коли ввімкнено, дозволяє глядачам змінювати сцени OBS | Увімкніть перемикачем у меню розширення |
Примітка: Команди бота працюватимуть лише за правильного налаштування автовідповідача й наявності дозволу публікувати повідомлення на відповідних платформах.
Щоб автовідповідач працював правильно:
Якщо під час запуску автовідповідей з’являється синя панель налагодження, її можна приховати, запустивши Chrome з прапорцем --silent-debugger-extension-api .
Social Stream Ninja надає потужний API для програмного керування всіма аспектами налаштування трансляції. Сервер API може як надсилати команди вашій системі, так і слухати вхідні повідомлення об’єднаних сервісів чату.
Керуйте вибраними повідомленнями, очищуйте оверлеї та змінюйте вигляд вмісту на трансляції.
Отримуйте події від сторонніх сервісів, як-от Stripe, Ko-Fi та Buy Me A Coffee.
Експортуйте повідомлення чату у файл або пересилайте їх через вебхук (POST) для власних інтеграцій.
Обов’язкові налаштування (Global settings → Mechanics):
Дивіться повну документацію API для докладних посібників із налаштування та прикладів коду.
https://io.socialstream.ninja/{sessionID}/{action}/{target}/{value}
Ідеально для простих команд зі Stream Deck або власних скриптів.
wss://io.socialstream.ninja:443
Для двостороннього зв’язку в реальному часі з автоматичним повторним підключенням.
Якщо хочете залишити з’єднання одноранговими без увімкнення режиму WebSocket, можна використати Social Stream Ninja WebRTC SDK. Він містить приклади для Node і браузера, зокрема Приймач Social Stream Ninja.
https://io.socialstream.ninja/sse/{sessionID}
Для односторонніх оновлень із сервера в реальному часі.
API використовує систему каналів для маршрутизації повідомлень:
- 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
Підключіться до потрібного каналу:
// 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
| Дія | Опис | Приклад |
|---|---|---|
sendChat |
Надсилає повідомлення на всі підключені платформи чату | https://io.socialstream.ninja/SESSIONID/sendChat/null/Hello everyone! |
sendEncodedChat |
Надсилає повідомлення в URL-кодуванні на всі платформи | https://io.socialstream.ninja/SESSIONID/sendEncodedChat/null/Hello%20everyone%21 |
clearOverlay |
Очищує вибране повідомлення з оверлею | https://io.socialstream.ninja/SESSIONID/clearOverlay |
nextInQueue |
Показує наступне повідомлення в черзі | https://io.socialstream.ninja/SESSIONID/nextInQueue |
autoShow |
Перемикає автоматичний вибір повідомлень | https://io.socialstream.ninja/SESSIONID/autoShow/toggle |
blockUser |
Блокує користувача з певної платформи | https://io.socialstream.ninja/SESSIONID/blockUser/null/{"chatname":"username","type":"twitch"} |
extContent |
Надсилає зовнішній вміст як повідомлення чату | https://io.socialstream.ninja/SESSIONID/extContent/null/{"chatname":"User","chatmessage":"Hello"} |
pin |
Закріплює наявне повідомлення дока за ID повідомлення або повний об’єкт повідомлення. Потрібна сторінка dock.html відкрита в тій самій сесії. |
https://io.socialstream.ninja/SESSIONID/pin/null/MESSAGE_MID |
unpin |
Відкріплює наявне повідомлення дока за ID повідомлення. Для дока з міткою використовуйте поле/сегмент шляху target. | https://io.socialstream.ninja/SESSIONID/unpin/null/MESSAGE_MID |
nextPinned |
Вибирає перше закріплене повідомлення дока. | https://io.socialstream.ninja/SESSIONID/nextPinned |
removefromwaitlist |
Прибирає перший активний запис списку очікування або активний запис із номером у value |
https://io.socialstream.ninja/SESSIONID/removefromwaitlist/null/1 |
highlightwaitlist |
Виділяє перший активний запис списку очікування або активний запис із номером у value |
https://io.socialstream.ninja/SESSIONID/highlightwaitlist/null/1 |
stopentries / startentries |
Зупиняє або відновлює прийом нових заявок до списку очікування, не очищуючи наявного списку. openentries і resumeentries є псевдонімами для startentries. |
https://io.socialstream.ninja/SESSIONID/stopentries |
selectwinner |
Вибирає одного або кількох випадкових переможців списку очікування/розіграшу | https://io.socialstream.ninja/SESSIONID/selectwinner/null/1 |
downloadwaitlist |
Завантажує поточний список очікування як файл TSV із запущеної сторінки/застосунку Social Stream | https://io.socialstream.ninja/SESSIONID/downloadwaitlist |
drawmode |
Вмикає/вимикає режим розіграшу або перемикає його, коли value дорівнює toggle |
https://io.socialstream.ninja/SESSIONID/drawmode/null/toggle |
waitlistmessage |
Задає заголовок списку очікування або розіграшу, що показується на сторінці списку | https://io.socialstream.ninja/SESSIONID/waitlistmessage/null/Type%20!join%20to%20enter |
resetwaitlist |
Очищує список очікування й знову відкриває прийом заявок | https://io.socialstream.ninja/SESSIONID/resetwaitlist |
Спробуйте API в нашій інтерактивній пісочниці зі зручним доступом до всіх команд і функцій:
Для меншого набору кнопок керування ефіром в OBS використовуйте Док керування Social Stream і дотримуйтеся посібника з налаштування OBS.
Спробуйте всі команди API в безпечному середовищі
Отримайте приклади коду для HTTP, WebSocket і SSE
Переглядайте відповіді на команди в реальному часі
Генеруйте тестові повідомлення з випадковим вмістом
Примітка: Не забудьте замінити SESSIONID на справжній ID вашої сесії Social Stream Ninja!
Social Stream Ninja інтегрується зі StreamDeck кількома способами: через власні HTTP-дії та інтеграцію Bitfocus Companion.
Використовуйте дію «Website» у StreamDeck з увімкненим «GET request in background», щоб надсилати команди безпосередньо до API.
Вбудована інтеграція з готовими діями, зворотним зв’язком у реальному часі та змінними для динамічного вмісту.
Bitfocus Companion надає потужні можливості керування Social Stream Ninja через WebSocket або HTTP API.
| Дія | Опис | Метод API |
|---|---|---|
| Очистити вибране повідомлення | Прибирає поточне вибране повідомлення з оверлею | WebSocket/HTTP |
| Наступне в черзі | Показує наступне повідомлення з черги | WebSocket/HTTP |
| Перемкнути автоматичний показ | Вмикає/вимикає автоматичний вибір повідомлень | WebSocket/HTTP |
| Надіслати повідомлення чату | Надсилає повідомлення на всі підключені платформи | WebSocket/HTTP |
featured_message — текст поточного вибраного повідомленняfeatured_username — ім’я користувача поточного вибраного повідомленняqueue_size — кількість повідомлень у черзіSocial Stream Ninja надає широку інтеграцію ШІ для відповідей у чаті, модерації та інших можливостей на трансляціях. Виберіть локальних або хмарних постачальників ШІ відповідно до своїх потреб.
Дозвольте ШІ автоматично спілкуватися з глядачами, відповідати на запитання та підтримувати жваву розмову, навіть коли ви зосереджені на своєму вмісті.
Використовуйте ШІ для допомоги в модерації: визначайте потенційно шкідливі повідомлення й автоматично обробляйте їх за своїми вподобаннями. Виберіть режим без блокування або суворе блокування.
Генерація з доповненням через пошук дозволяє ШІ шукати у власній базі знань, щоб давати точні відповіді, пов’язані з вашим вмістом.
Запускайте різних ботів для різних завдань: публічного чат-бота, приватного особистого бота, бота-цензора й навіть мультимодального співведучого ШІ, який може бачити й чути.
Social Stream Ninja підтримує кількох постачальників ШІ: від повністю локальних браузерних моделей і моделей середовища виконання до розміщених API:
Безкоштовні приватні моделі ШІ на власному комп’ютері через власний API Ollama.
Запускайте Gemma 4 у браузері після дзеркального копіювання файлів моделі на власний хостинг ресурсів; хостинг SSN largefiles наразі не містить ресурсів Gemma.
Запускайте Qwen 3.5 у браузері з власноруч розміщених файлів моделі для локальних приватних відповідей.
API OpenAI, зокрема сучасні моделі чату й голосового спілкування в реальному часі.
Моделі Google Gemini, зокрема поточні текстові Gemini 2.5 і мультимодальні варіанти реального часу.
Ефективні й економні моделі ШІ, оптимізовані для розмовних завдань.
API xAI Grok, зокрема голосові сесії реального часу з використанням тимчасових клієнтських секретів.
Моделі ШІ корпоративного рівня від різних постачальників, зокрема Claude та Llama.
Доступ до кількох моделей ШІ через єдиний інтерфейс API.
Генерація відповідей чату з малою затримкою, сумісна з OpenAI, для швидкого спілкування.
Підключайтеся до llama.cpp, LM Studio, vLLM або будь-якої іншої кінцевої точки, сумісної з OpenAI.
Примітка: Ollama використовує власний API. Для llama.cpp, LM Studio, vLLM або інших серверів, сумісних з OpenAI, виберіть Власний API.
Social Stream Ninja має широку підтримку озвучення повідомлень ботів і вибраного вмісту чату:
Безкоштовне вбудоване озвучення, що використовує синтезатор голосу операційної системи.
Безкоштовне локальне озвучення через WebGPU/CPU для користувачів, які цінують приватність.
Легке браузерне озвучення, що завантажує невелику модель для локальної генерації голосу.
Преміальний синтез мовлення з природними голосами, що налаштовуються.
Високоякісні голоси з широким вибором мов і налаштувань.
Попередні нейронні голосові моделі Google з вибором голосу та мови.
Озвучення тексту на базі ШІ з можливостями природного перетворення голосу.
Синтез мовлення OpenAI з вибором голосів, моделей і необов’язкових сумісних кінцевих точок.
Примітка: Для озвучення відповідна сторінка оверлею має бути відкрита в OBS. Кожен постачальник озвучення має свої голоси, затримку, ціни або вимоги до обладнання.
Social Stream Ninja надає кілька екземплярів ботів для різних випадків використання:
| Тип бота | URL | Опис |
|---|---|---|
| Основний чат-бот | /bot.html |
Оверлей основного бота з необов’язковим озвученням і відповідями в публічному чаті |
| Інтерфейс приватного чату | /chatbot.html |
Окрема сторінка бота для розмови віч-на-віч, яка не використовує набір даних RAG або історію чату основного бота |
| Бот-цензор | (працює у фоновому режимі) | Автоматично фільтрує, очищує або блокує вхідні повідомлення |
| Співведучий на базі ШІ | /cohost.html |
Мультимодальний ШІ, який може бачити екран, чути аудіо й взаємодіяти |
Виконайте ці кроки, щоб налаштувати інтеграцію ШІ в поточному меню:
Виберіть свого постачальника в розділі Налаштувати постачальника сервісу LLM і заповніть відповідні поля:
Використовуйте вбудовану кнопку Перевірити вибраний чат-бот щоб перевірити постачальника, модель і облікові дані перед виходом у прямий ефір.
Налаштуйте поведінку бота в чаті:
Увімкніть потрібні супутні функції бота:
/bot.html; використовуйте clearBotOverlay для ручного очищення/bot.html, /chatbot.html, або /cohost.html в OBS або браузері за потребиПовні інструкції налаштування й докладніші відомості про озвучення наведено в цих посібниках:
Керуйте Social Stream Ninja за допомогою контролерів MIDI, сполучень клавіш або StreamDeck із плагінами MIDI.
| Номер CC | Значення | Дія | Примітки |
|---|---|---|---|
| 102 | 1 | Надіслати «1» у чат | Швидка реакція |
| 102 | 2 | Надіслати «LUL» у чат | Реакція емотом |
| 102 | 3 | Розповісти жарт | Запускає відповідь бота |
| 102 | 4 | Очистити оверлей | Прибирає вибране повідомлення |
Порада: Керування MIDI найкраще працює з фізичними контролерами, але його також можна запускати через віртуальні пристрої MIDI.
Використовуйте сполучення клавіш для швидкого доступу до поширених функцій.
Гарячі клавіші можна налаштувати в меню; вони працюють у всій системі, коли браузер у фокусі або коли використовується застосунок.
Social Stream Ninja може отримувати донати й події від сторонніх сервісів через вебхуки; нижче наведено кілька популярних:
Обробляйте донати з кредитних карток безпосередньо через свій обліковий запис Stripe.
https://io.socialstream.ninja/SESSIONID/stripecheckout.session.completed&server до URL докаОтримуйте донати на каву від своїх прихильників.
https://io.socialstream.ninja/SESSIONID/kofi як URL вебхука&server до URL докаЗбирайте донати через популярну платформу Buy Me A Coffee.
https://io.socialstream.ninja/SESSIONID/bmac як URL вебхука&server до URL дока для отримання подійПримітка щодо безпеки: Зберігайте ID сесії в таємниці, адже будь-хто з ним може надсилати фальшиві донати у ваш оверлей. URL вебхука слід вважати конфіденційним.
Social Stream Ninja також може надсилати дані стороннім сервісам:
| Сервіс | Параметр URL | Опис |
|---|---|---|
| Singular Live | &singular=IDENTIFIER |
Надсилає вибрані повідомлення в Singular Live для оверлею вибраних повідомлень |
| H2R | &h2r=IDENTIFIER |
Надсилає вибрані повідомлення на локальний сервер H2R |
| Універсальний POST | &postserver=URL |
Надсилає вибрані повідомлення до власної кінцевої точки через POST |
| Універсальний PUT | &putserver=URL |
Надсилає вибрані повідомлення до власної кінцевої точки через PUT |
Ці параметри слід додавати до URL сторінки дока.
Ви можете створювати власні команди й функції, змінюючи код JavaScript:
custom_sample.js на custom.jsЦей метод дозволяє складні налаштування та тригери.
Ви можете створювати повністю власні оверлеї чату з нуля відповідно до стилю та функцій своєї трансляції. Social Stream Ninja надає гнучку основу для цього.
timer.htmlСторінка таймера навмисно має вузьке призначення: один таймер, необов’язкове керування оператора, стани попередження, додатковий час і кілька візуальних стилів.
Корисні дії включають starttimer, pausetimer, resettimer, timeradd, timersubtract, і settimer.
{
"action": "settimer",
"value": {
"seconds": 300,
"label": "Interview",
"mode": "countdown",
"style": "stage",
"warnSeconds": 60,
"dangerSeconds": 15
}
}
Щоб запитати поточний стан таймера, використовуйте gettimerstate із токеном зворотного виклику.
{ "action": "gettimerstate", "get": "timer-state-1" }
Використовуйте сторінку з timer.html?session=YOUR_SESSION&server якщо хочете керувати ним безпосередньо через сервер API.
startgiveaway, closegiveaway, drawgiveaway, resetgiveaway, і getgiveawaystate керують окремим пулом розіграшу через ті самі засоби API/Stream Deck. Draw автоматично закриває прийом заявок. New round зберігає історію попередніх переможців і відхиляє неоплачені резервування. Cancel and refund повертає неповернені платежі за квитки. Платні квитки, Number Hunt, Coin Flip Pot і Event Flow використовують ту саму службу ведучого. Налаштування, подання, значення команд і відновлення.
Завдяки цим потужним командам і можливостям API можна створити унікальну інтерактивну трансляцію.