تحكم في 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.
صدّر رسائل الدردشة إلى ملف أو مرّرها عبر Webhook (POST) لإنشاء تكاملات مخصصة.
الإعدادات المطلوبة (الإعدادات العامة ← آليات العمل):
راجع توثيق 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 |
يثبت رسالة موجودة في لوحة الإرساء بواسطة معرّف الرسالة، أو يثبت كائن رسالة كاملاً. يتطلب dock.html مفتوحة على الجلسة نفسها. |
https://io.socialstream.ninja/SESSIONID/pin/null/MESSAGE_MID |
unpin |
يلغي تثبيت رسالة موجودة في لوحة الإرساء بواسطة معرّف الرسالة. استخدم حقل الهدف أو مقطع المسار للوحة إرساء ذات تسمية. | 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 بمعرّف جلستك الفعلي من 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 في المتصفح من ملفات النموذج التي تستضيفها بنفسك للحصول على ردود محلية وخاصة.
واجهات OpenAI API، بما في ذلك نماذج الدردشة الحديثة والصوت الآني.
نماذج Google Gemini، بما في ذلك خيارات Gemini 2.5 الحالية للنص والوسائط المتعددة المباشرة.
نماذج ذكاء اصطناعي فعالة واقتصادية ومُحسّنة لمهام المحادثة.
واجهات xAI Grok API، بما في ذلك جلسات الصوت الآنية عند استخدام أسرار عميل مؤقتة.
نماذج ذكاء اصطناعي بمستوى المؤسسات من مزوّدين مختلفين، بما في ذلك Claude وLlama.
الوصول إلى عدة نماذج ذكاء اصطناعي عبر واجهة API موحدة.
استدلال دردشة متوافق مع OpenAI بزمن استجابة منخفض لردود محادثة سريعة.
اتصل بـ llama.cpp أو LM Studio أو vLLM أو أي نقطة نهاية أخرى متوافقة مع OpenAI.
ملاحظة: Ollama يستخدم واجهة API الأصلية الخاصة به. بالنسبة إلى llama.cpp أو LM Studio أو vLLM أو غيرها من الخوادم المتوافقة مع OpenAI، اختر واجهة API مخصصة (Custom API).
يتضمن Social Stream Ninja دعماً شاملاً لتحويل النص إلى كلام لرسائل الروبوت ومحتوى الدردشة المميزة:
تحويل نص إلى كلام مجاني ومدمج باستخدام مولّد الصوت في نظام التشغيل.
تحويل نص إلى كلام مجاني يعمل محلياً عبر WebGPU/CPU للمستخدمين المهتمين بالخصوصية.
تحويل نص إلى كلام خفيف يعمل في المتصفح وينزّل نموذجاً صغيراً لتوليد الصوت محلياً.
توليد صوت متميز بأصوات طبيعية قابلة للتخصيص.
أصوات عالية الجودة مع خيارات واسعة للغات والتخصيص.
نماذج الأصوات العصبية التجريبية من Google مع خيارات قابلة للتحديد للصوت واللغة.
تحويل النص إلى كلام بالذكاء الاصطناعي مع إمكانات تحويل صوت طبيعي.
توليد الكلام من OpenAI مع أصوات ونماذج قابلة للاختيار ونقاط نهاية متوافقة اختيارية.
ملاحظة: تتطلب وظيفة تحويل النص إلى كلام فتح صفحة التراكب المناسبة في OBS. يقدم كل مزوّد خيارات صوت وزمن استجابة وتسعيراً أو متطلبات أجهزة مختلفة.
يوفر Social Stream Ninja عدة نسخ من الروبوت لحالات استخدام مختلفة:
| نوع الروبوت | URL | الوصف |
|---|---|---|
| روبوت الدردشة الأساسي (Primary Chat Bot) | /bot.html |
تراكب الروبوت الرئيسي مع تحويل نص إلى كلام اختياري وردود في الدردشة العامة |
| واجهة الدردشة الخاصة | /chatbot.html |
صفحة روبوت مخصصة لمحادثة فردية لا تشارك مجموعة بيانات RAG أو سجل الدردشة للروبوت الرئيسي |
| روبوت الرقابة | (يعمل في الخلفية) | يصفّي الرسائل الواردة أو ينقّيها أو يحظرها تلقائياً |
| المقدّم المشارك بالذكاء الاصطناعي | /cohost.html |
ذكاء اصطناعي متعدد الوسائط يمكنه رؤية شاشتك وسماع الصوت والتفاعل |
اتبع هذه الخطوات لإعداد تكامل الذكاء الاصطناعي باستخدام القائمة الحالية:
حدد مزوّدك في تهيئة مزوّد خدمة LLM (Configure LLM Service Provider) واملأ الحقول المطابقة:
استخدم الخيار المدمج اختبار روبوت الدردشة المحدد (Test selected chat bot) للتحقق من المزوّد والنموذج وبيانات الاعتماد قبل البث المباشر.
خصص سلوك الروبوت في الدردشة:
فعّل الميزات التي تريدها حول الروبوت:
/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 استقبال التبرعات والأحداث من خدمات أطراف ثالثة عبر Webhooks؛ وفيما يلي بعض الخدمات الشائعة:
عالج تبرعات البطاقات الائتمانية مباشرةً عبر حساب Stripe الخاص بك.
https://io.socialstream.ninja/SESSIONID/stripecheckout.session.completed&server إلى رابط لوحة الإرساءتلقَّ تبرعات القهوة من داعميك.
https://io.socialstream.ninja/SESSIONID/kofi كرابط Webhook&server إلى رابط لوحة الإرساءاجمع التبرعات عبر منصة Buy Me A Coffee الشهيرة.
https://io.socialstream.ninja/SESSIONID/bmac كرابط Webhook&server إلى رابط لوحة الإرساء لاستقبال الأحداثملاحظة أمنية: احتفظ بمعرّف جلستك خاصاً، إذ يمكن لأي شخص يملكه إرسال تبرعات وهمية إلى تراكبك. ينبغي التعامل مع رابط Webhook كمعلومة حساسة.
يمكن لـ Social Stream Ninja أيضاً إرسال بيانات إلى خدمات أطراف ثالثة:
| الخدمة | معامل URL | الوصف |
|---|---|---|
| Singular Live | &singular=IDENTIFIER |
يرسل الرسائل المحددة إلى Singular Live لتراكب الرسائل المميزة |
| H2R | &h2r=IDENTIFIER |
يرسل الرسائل المحددة إلى خادم H2R محلي |
| POST عام | &postserver=URL |
يرسل الرسائل المحددة إلى نقطة نهاية مخصصة عبر POST |
| PUT عام | &putserver=URL |
يرسل الرسائل المحددة إلى نقطة نهاية مخصصة عبر PUT |
ينبغي إضافة هذه المعاملات إلى رابط صفحة لوحة الإرساء.
يمكنك إنشاء أوامرك ووظائفك الخاصة بتخصيص شيفرة 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 نفسها. يغلق السحب باب المشاركة تلقائياً. تحتفظ الجولة الجديدة بسجل الفائزين السابقين وترفض الحجوزات غير المدفوعة. يعيد الإلغاء والاسترداد مبالغ التذاكر المعلقة. تستخدم التذاكر المدفوعة وNumber Hunt وCoin Flip Pot وEvent Flow خدمة المضيف نفسها. الإعداد والعروض وقيم الأوامر والاستعادة.
باستخدام هذه الأوامر القوية وخيارات API، يمكنك إنشاء تجربة بث فريدة وتفاعلية.