คำสั่งและ API

ควบคุม Social Stream Ninja ด้วยคำสั่งในตัว ระบบอัตโนมัติ และการเชื่อมต่อ API

คำสั่งบอต

คำสั่งบอตที่มีให้ในตัว

Social Stream Ninja มีคำสั่งในตัวหลายรายการที่ผู้ชมใช้ในแชตได้ หรือคุณเรียกผ่าน API ได้

คำสั่ง คำอธิบาย วิธีเปิดใช้
!joke ตอบด้วยมุกพ่อสายเนิร์ดแบบสุ่ม เปิดผ่านสวิตช์ในเมนูส่วนขยาย
hi ทักทายทุกคนที่พิมพ์ "hi" ในแชตโดยอัตโนมัติ เปิดผ่านสวิตช์ในเมนูส่วนขยาย
!cycle เมื่อเปิดใช้ ผู้ชมสามารถเปลี่ยนฉาก OBS ได้ เปิดผ่านสวิตช์ในเมนูส่วนขยาย

หมายเหตุ: คำสั่งบอตจะทำงานต่อเมื่อตั้งค่าระบบตอบอัตโนมัติถูกต้อง และคุณมีสิทธิ์โพสต์ข้อความในแต่ละแพลตฟอร์ม

การตั้งค่าตอบกลับอัตโนมัติ

เพื่อให้ระบบตอบอัตโนมัติทำงานถูกต้อง:

  1. ตรวจสอบว่าเข้าสู่ระบบแพลตฟอร์มแล้ว (YouTube, Twitch ฯลฯ)
  2. ตรวจสอบว่าหน้าต่างแชตมองเห็นอยู่ (ไม่ได้ย่อหน้าต่าง)
  3. ลองส่งข้อความทดสอบด้วยตนเองก่อนเพื่อยืนยันสิทธิ์
  4. เปิดสวิตช์คำสั่งที่ต้องการในเมนูส่วนขยาย

หากเห็นแถบดีบักสีน้ำเงินเมื่อมีการตอบอัตโนมัติ คุณซ่อนได้โดยเปิด Chrome พร้อมแฟล็ก --silent-debugger-extension-api นี้

API เซิร์ฟเวอร์

ภาพรวม

Social Stream Ninja มี API ที่ช่วยให้คุณเขียนโปรแกรมควบคุมทุกส่วนของการตั้งค่าสตรีมได้ เซิร์ฟเวอร์ API ทั้งส่งคำสั่งไปยังระบบของคุณและรับฟังข้อความขาเข้าจากบริการแชตที่รวมไว้ได้

การจัดการโอเวอร์เลย์

ควบคุมข้อความเด่น ล้างโอเวอร์เลย์ และจัดการรูปแบบเนื้อหาที่แสดงในสตรีม

การเชื่อมต่อ Webhook

รับอีเวนต์จากบริการภายนอก เช่น Stripe, Ko-Fi และ Buy Me A Coffee

ส่งออกข้อความ

ส่งออกข้อความแชตเป็นไฟล์ หรือส่งต่อผ่าน webhook (POST) สำหรับการเชื่อมต่อกำหนดเอง

การตั้งค่าที่จำเป็น (การตั้งค่าส่วนกลาง → กลไก):

  • 🎮 การควบคุมระยะไกล (StreamDeck/Bitfocus): เปิดใช้ "เปิดการควบคุมส่วนขยายจากระยะไกลผ่าน API" (สวิตช์ 1) — เชื่อมต่อกับ ช่อง 1
  • 📡 ตัวรับแชต (แอป Python/Node): เปิดสวิตช์ 1 + "ส่งข้อความแชตไปยังเซิร์ฟเวอร์ API" (สวิตช์ 3) — เชื่อมต่อกับ ช่อง 4

ดู เอกสาร API ฉบับสมบูรณ์ สำหรับคู่มือตั้งค่าแบบละเอียดและตัวอย่างโค้ด

Endpoint ของ API และวิธีเชื่อมต่อ

HTTP GET/POST

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

เหมาะสำหรับคำสั่งง่าย ๆ จาก Stream Deck หรือสคริปต์กำหนดเอง

WebSocket

wss://io.socialstream.ninja:443

สำหรับการสื่อสารสองทางแบบเรียลไทม์พร้อมเชื่อมต่อใหม่อัตโนมัติ

หากต้องการคงการเชื่อมต่อแบบเพียร์ทูเพียร์โดยไม่เปิดโหมด WebSocket ให้ใช้ Social Stream Ninja WebRTC SDK ซึ่งมีตัวอย่าง Node และเบราว์เซอร์ เช่น ตัวรับข้อมูล Social Stream Ninja.

Server-Sent Events

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

คำสั่ง API ที่ใช้บ่อย

การดำเนินการ คำอธิบาย ตัวอย่าง
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 เลิกปักหมุดข้อความในแผงด็อกด้วยรหัสข้อความ สำหรับแผงด็อกที่มีป้ายกำกับ ให้ใช้ช่อง 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 แบบโต้ตอบ

ลอง API ในพื้นที่ทดลองแบบโต้ตอบที่เข้าถึงคำสั่งและฟีเจอร์ทั้งหมดได้ง่าย:

หากต้องการชุดปุ่มควบคุมรายการสดขนาดเล็กใน OBS ให้ใช้ แผงด็อกควบคุม Social Stream และทำตาม คู่มือตั้งค่า OBS.

ทดสอบคำสั่ง

ลองคำสั่ง API ทั้งหมดในสภาพแวดล้อมที่ปลอดภัย

สร้างโค้ด

รับตัวอย่างโค้ดสำหรับ HTTP, WebSocket และ SSE

ดูผลลัพธ์

ดูผลตอบกลับจากคำสั่งแบบเรียลไทม์

สร้างการทดสอบ

สร้างข้อความทดสอบด้วยเนื้อหาสุ่ม

หมายเหตุ: อย่าลืมแทนที่ SESSIONID ด้วยรหัสเซสชันจริงจาก Social Stream Ninja!

StreamDeck และ Companion

การเชื่อมต่อ StreamDeck

Social Stream Ninja เชื่อมต่อกับ StreamDeck ได้หลายวิธี: การกระทำ HTTP โดยตรง และการเชื่อมต่อ Bitfocus Companion

วิธีผ่าน HTTP/API

ใช้การกระทำ "Website" ของ StreamDeck พร้อมเปิด "GET request in background" เพื่อส่งคำสั่งตรงไปยัง API

Bitfocus Companion

เชื่อมต่อโดยตรงพร้อมการกระทำสำเร็จรูป สถานะตอบกลับแบบเรียลไทม์ และตัวแปรสำหรับเนื้อหาที่เปลี่ยนแปลงได้

การเชื่อมต่อ Companion

Bitfocus Companion ควบคุม Social Stream Ninja ได้อย่างครบครันผ่าน WebSocket หรือ HTTP API

การดำเนินการ คำอธิบาย วิธีผ่าน API
ล้างข้อความเด่น นำข้อความเด่นปัจจุบันออกจากโอเวอร์เลย์ WebSocket/HTTP
รายการถัดไปในคิว แสดงข้อความที่รอในคิวถัดไป WebSocket/HTTP
สลับการแสดงอัตโนมัติ เปิด/ปิดการนำข้อความมาแสดงเด่นอัตโนมัติ WebSocket/HTTP
ส่งข้อความแชต ส่งข้อความไปทุกแพลตฟอร์มที่เชื่อมต่อ WebSocket/HTTP

ตัวแปรแบบไดนามิก

  • featured_message - ข้อความเด่นที่แสดงอยู่ปัจจุบัน
  • featured_username - ชื่อผู้ใช้ของข้อความเด่นปัจจุบัน
  • queue_size - จำนวนข้อความในคิว

การเชื่อมต่อ AI

โหมดแชตบอต AI

Social Stream Ninja เชื่อมต่อ AI อย่างครบถ้วนเพื่อเสริมสตรีมด้วยคำตอบแชต การดูแลแชต และอื่น ๆ ที่ขับเคลื่อนด้วย AI เลือกผู้ให้บริการในเครื่องหรือคลาวด์ให้ตรงกับความต้องการ

คำตอบแชตอัตโนมัติ

ให้ AI พูดคุยกับผู้ชมโดยอัตโนมัติ ตอบคำถามและทำให้บทสนทนาคึกคัก แม้คุณกำลังจดจ่อกับเนื้อหา

การดูแลเนื้อหา

ใช้ AI ช่วยดูแลแชต โดยระบุข้อความที่อาจเป็นอันตรายและจัดการอัตโนมัติตามที่คุณกำหนด เลือกระหว่างโหมดไม่บล็อกหรือบล็อกอย่างเข้มงวด

ค้นหา RAG

Retrieval-Augmented Generation ช่วยให้ AI ค้นหาฐานความรู้กำหนดเอง เพื่อให้คำตอบที่ถูกต้องและเฉพาะเจาะจงกับเนื้อหาของคุณ

บอตหลายตัว

ใช้บอตแต่ละตัวสำหรับงานต่างกัน: บอตแชตสาธารณะ บอตส่วนตัวตัวต่อตัว บอตเซ็นเซอร์ และแม้แต่ผู้ช่วยดำเนินรายการ AI หลายสื่อที่มองเห็นและได้ยิน

ผู้ให้บริการ AI ที่รองรับ

Social Stream Ninja รองรับผู้ให้บริการ AI หลายราย ตั้งแต่โมเดลในเบราว์เซอร์/รันไทม์ที่ทำงานในเครื่องทั้งหมด ไปจนถึง API ที่โฮสต์ไว้:

Ollama (Native Local API)

โมเดล AI ฟรีที่เน้นความเป็นส่วนตัวและโฮสต์เอง ทำงานบนคอมพิวเตอร์ของคุณผ่าน API ของ Ollama

Local Gemma 4

เรียกใช้ Gemma 4 ในเบราว์เซอร์หลังทำสำเนาไฟล์โมเดลไปยังโฮสต์ไฟล์ของคุณเอง ขณะนี้โฮสต์ largefiles ของ SSN ไม่มีไฟล์ Gemma

Local Qwen 3.5

เรียกใช้ Qwen 3.5 ในเบราว์เซอร์จากไฟล์โมเดลที่คุณโฮสต์เอง เพื่อสร้างคำตอบในเครื่องอย่างเป็นส่วนตัว

ChatGPT / OpenAI

API ของ OpenAI รวมโมเดลแชตรุ่นใหม่และเสียงเรียลไทม์

Google Gemini

โมเดล Google Gemini รวมตัวเลือกข้อความ Gemini 2.5 ปัจจุบันและตัวเลือกหลายสื่อแบบสด

DeepSeek

โมเดล AI ที่มีประสิทธิภาพและคุ้มค่า ปรับให้เหมาะกับงานสนทนา

xAI (Grok)

API ของ xAI Grok รวมเซสชันเสียงเรียลไทม์เมื่อใช้ client secret อายุสั้น

AWS Bedrock

โมเดล AI ระดับองค์กรจากผู้ให้บริการหลายราย รวมถึง Claude และ Llama

OpenRouter

เข้าถึงโมเดล AI หลายตัวผ่านอินเทอร์เฟซ API เดียว

Groq

การประมวลผลแชตที่เข้ากันได้กับ OpenAI และมีเวลาแฝงต่ำ เพื่อการตอบสนทนาอย่างรวดเร็ว

Custom API (เข้ากันได้กับ OpenAI)

เชื่อมต่อกับ llama.cpp, LM Studio, vLLM หรือ endpoint อื่นที่เข้ากันได้กับ OpenAI

หมายเหตุ: Ollama ใช้ API เฉพาะของตัวเอง สำหรับ llama.cpp, LM Studio, vLLM หรือเซิร์ฟเวอร์อื่นที่เข้ากันได้กับ OpenAI ให้เลือก Custom API.

การเชื่อมต่อการแปลงข้อความเป็นเสียงพูด

Social Stream Ninja รองรับ TTS อย่างครบถ้วนสำหรับข้อความบอตและเนื้อหาแชตที่นำมาแสดงเด่น:

TTS ของระบบ

TTS ฟรีในตัวที่ใช้ระบบสังเคราะห์เสียงของระบบปฏิบัติการ

Kokoro

TTS ฟรีที่ทำงานในเครื่องด้วย WebGPU/CPU สำหรับผู้ที่ใส่ใจความเป็นส่วนตัว

Kitten TTS

TTS น้ำหนักเบาในเบราว์เซอร์ที่ดาวน์โหลดโมเดลขนาดเล็กเพื่อสร้างเสียงในเครื่อง

ElevenLabs

การสังเคราะห์เสียงระดับพรีเมียมด้วยเสียงธรรมชาติที่ปรับแต่งได้

Google Cloud TTS

เสียงคุณภาพสูงพร้อมภาษาและตัวเลือกปรับแต่งหลากหลาย

Gemini (Preview TTS)

โมเดลเสียงนิวรัลรุ่นพรีวิวของ Google ที่เลือกเสียงและภาษาได้

Speechify

การแปลงข้อความเป็นเสียงพูดด้วย AI พร้อมความสามารถแปลงเสียงอย่างเป็นธรรมชาติ

OpenAI TTS

การสังเคราะห์เสียง OpenAI ที่เลือกเสียง โมเดล และ endpoint ที่เข้ากันได้เพิ่มเติมได้

หมายเหตุ: ฟังก์ชัน TTS ต้องเปิดหน้าโอเวอร์เลย์ที่เหมาะสมใน OBS ผู้ให้บริการ TTS แต่ละรายมีตัวเลือกเสียง เวลาแฝง และราคาหรือข้อกำหนดฮาร์ดแวร์ต่างกัน

บอตแต่ละตัวและโอเวอร์เลย์

Social Stream Ninja มีบอตหลายตัวสำหรับการใช้งานต่างกัน:

ประเภทบอต URL คำอธิบาย
แชตบอตหลัก /bot.html โอเวอร์เลย์บอตหลักพร้อม TTS และคำตอบแชตสาธารณะเป็นตัวเลือกเพิ่มเติม
อินเทอร์เฟซแชตส่วนตัว /chatbot.html หน้าบอตตัวต่อตัวโดยเฉพาะที่ไม่ใช้ชุดข้อมูล RAG หรือประวัติแชตร่วมกับบอตหลัก
บอตเซ็นเซอร์ (ทำงานเบื้องหลัง) กรอง ปรับข้อความให้เหมาะสม หรือบล็อกข้อความขาเข้าโดยอัตโนมัติ
ผู้ช่วยดำเนินรายการ AI /cohost.html AI หลายสื่อที่มองเห็นหน้าจอ ได้ยินเสียง และโต้ตอบได้

ตั้งค่าการเชื่อมต่อ AI

ทำตามขั้นตอนเหล่านี้เพื่อตั้งค่าการเชื่อมต่อ AI ด้วยเมนูปัจจุบัน:

1

เลือกและเชื่อมต่อผู้ให้บริการ LLM

เลือกผู้ให้บริการใน ตั้งค่าผู้ให้บริการ LLM และกรอกช่องที่ตรงกัน:

  • Ollama: ติดตั้งในเครื่องและตั้ง endpoint หากจำเป็น
  • Local Gemma / Local Qwen: ใช้ไฟล์โมเดลสำหรับเบราว์เซอร์ที่โฮสต์ไว้ และเลือกกำหนดโฟลเดอร์โมเดลแทนได้ Qwen ใช้ SSN largefiles ได้ ส่วน Gemma ต้องใช้โฟลเดอร์สำเนาที่คุณโฮสต์เอง
  • ChatGPT, Gemini, DeepSeek, xAI, Groq, OpenRouter, Bedrock: เพิ่มคีย์ API และโมเดลที่ต้องการ
  • Custom API: ป้อน endpoint ที่เข้ากันได้กับ OpenAI รหัสโมเดล และคีย์ API หากต้องใช้
2

ทดสอบแชตบอตที่เลือก

ใช้ตัวที่มีในระบบ ทดสอบแชตบอตที่เลือก เพื่อยืนยันผู้ให้บริการ โมเดล และข้อมูลรับรองก่อนถ่ายทอดสด

3

ตั้งค่าพฤติกรรมบอต

ปรับพฤติกรรมของบอตในแชต:

  • เปิดแชตบอต LLM AI
  • ตั้งชื่อบอต คำเรียกใช้งาน และขีดจำกัดอัตราการตอบ
  • เลือกว่าจะส่งคำตอบกลับเข้าแชตหรือส่งเฉพาะหน้าโอเวอร์เลย์บอต
  • เพิ่มคำสั่งกำหนดเองสำหรับน้ำเสียง บทบาท และกฎดูแลแชต
4

เปิดตัวเลือกเพิ่มเติม

เปิดฟีเจอร์เสริมบอตที่คุณต้องการ:

  • เปิด TTS สำหรับคำตอบบอตและเลือกผู้ให้บริการ
  • เลือกการซ่อนอัตโนมัติแบบเวลาคงที่ ตามความยาวข้อความ หรือหลัง TTS สำหรับ /bot.html; ใช้ clearBotOverlay สำหรับล้างด้วยตนเอง
  • เปิด RAG และอัปโหลดเอกสารเพื่อให้ตอบโดยอ้างอิงความรู้ได้
  • เปิดบอตเซ็นเซอร์เพื่อดูแลแชตหรือใช้โหมดบล็อกเข้มงวด
  • เปิด /bot.html, /chatbot.html, หรือ /cohost.html ใน OBS หรือเบราว์เซอร์ตามต้องการ

การควบคุมด้วย MIDI และปุ่มลัด

การเชื่อมต่อ MIDI

ควบคุม Social Stream Ninja ด้วยคอนโทรลเลอร์ MIDI แป้นพิมพ์ลัด หรือ StreamDeck พร้อมปลั๊กอิน MIDI

สิ่งที่ต้องเตรียม

  1. เปิดการรองรับ MIDI ในการตั้งค่าส่วนขยาย
  2. ติดตั้งอุปกรณ์ MIDI loopback เสมือน (เช่น loopMIDI)
  3. ตั้งค่าคอนโทรลเลอร์ MIDI หรือปลั๊กอิน MIDI ของ StreamDeck
หมายเลข CC ค่า การดำเนินการ หมายเหตุ
102 1 ส่ง "1" เข้าแชต รีแอ็กชันด่วน
102 2 ส่ง "LUL" เข้าแชต รีแอ็กชันอีโมต
102 3 เล่าเรื่องตลก เรียกให้บอตตอบ
102 4 ล้างโอเวอร์เลย์ นำข้อความเด่นออก

เคล็ดลับ: การควบคุม MIDI เหมาะที่สุดกับคอนโทรลเลอร์จริง แต่เรียกผ่านอุปกรณ์ MIDI เสมือนได้เช่นกัน

การรองรับปุ่มลัด

ใช้แป้นพิมพ์ลัดเพื่อเข้าถึงฟังก์ชันที่ใช้บ่อยอย่างรวดเร็ว

ตั้งค่าปุ่มลัดได้ในเมนูการตั้งค่า และใช้ได้ทั่วระบบเมื่อเบราว์เซอร์มีโฟกัสหรือขณะใช้แอป

การเชื่อมต่อ Webhook

บริการรับบริจาค

Social Stream Ninja รับการบริจาคและอีเวนต์จากบริการภายนอกผ่าน webhook ได้ ตัวอย่างบริการยอดนิยมมีดังนี้:

Stripe

Stripe

รับบริจาคผ่านบัตรเครดิตโดยตรงด้วยบัญชี Stripe ของคุณ

  • สร้างลิงก์ชำระเงินที่ stripe.com
  • ใน Stripe Dashboard ไปที่ Developers → Webhooks
  • เพิ่ม endpoint: https://io.socialstream.ninja/SESSIONID/stripe
  • เลือกอีเวนต์ checkout.session.completed
  • เพิ่ม &server ลงใน URL แผงด็อก
Ko-Fi

Ko-Fi

รับการเลี้ยงกาแฟจากผู้สนับสนุน

  • เข้าสู่บัญชี Ko-Fi
  • ไปที่ การตั้งค่า Webhook
  • เพิ่ม https://io.socialstream.ninja/SESSIONID/kofi เป็น URL ของ webhook
  • เพิ่ม &server ลงใน URL แผงด็อก
  • ทดสอบด้วยปุ่ม "Send Single Donation Test"
Buy Me A Coffee

Buy Me A Coffee

รับบริจาคผ่านแพลตฟอร์มยอดนิยม Buy Me A Coffee

  • เข้าสู่บัญชี Buy Me A Coffee
  • ไปยังการตั้งค่า webhook
  • เพิ่ม https://io.socialstream.ninja/SESSIONID/bmac เป็น URL ของ webhook
  • เพิ่ม &server ลงใน URL แผงด็อกเพื่อรับอีเวนต์
  • รองรับทั้งอีเวนต์บริจาคและสมาชิก

หมายเหตุด้านความปลอดภัย: เก็บรหัสเซสชันเป็นความลับ เพราะผู้ที่มีรหัสสามารถส่งการบริจาคปลอมไปยังโอเวอร์เลย์ได้ ควรถือว่า URL ของ webhook เป็นข้อมูลอ่อนไหว

การเชื่อมต่อบริการภายนอก

Social Stream Ninja ส่งข้อมูลไปยังบริการภายนอกได้ด้วย:

บริการ พารามิเตอร์ URL คำอธิบาย
Singular Live &singular=IDENTIFIER ส่งข้อความที่เลือกไปยัง Singular Live เพื่อแสดงในโอเวอร์เลย์ข้อความเด่น
H2R &h2r=IDENTIFIER ส่งข้อความที่เลือกไปยังเซิร์ฟเวอร์ H2R ในเครื่อง
POST ทั่วไป &postserver=URL ส่งข้อความที่เลือกไปยัง endpoint กำหนดเองผ่าน POST
PUT ทั่วไป &putserver=URL ส่งข้อความที่เลือกไปยัง endpoint กำหนดเองผ่าน PUT

ควรเพิ่มพารามิเตอร์เหล่านี้ใน URL หน้าแผงด็อก

สคริปต์กำหนดเอง

JavaScript กำหนดเอง

คุณสร้างคำสั่งและฟังก์ชันของตัวเองได้ด้วยการปรับโค้ด JavaScript:

การใช้ custom.js

  1. เปลี่ยนชื่อ custom_sample.js เป็นชื่อไฟล์ custom.js
  2. แก้ไขไฟล์เพื่อเพิ่มฟังก์ชันของคุณเอง
  3. เปิดไฟล์ dock.html ในเครื่องเพื่อโหลด custom.js

วิธีนี้รองรับการปรับแต่งและเงื่อนไขเรียกใช้งานที่ซับซ้อน

โอเวอร์เลย์กำหนดเอง

สร้างโอเวอร์เลย์กำหนดเอง

คุณสร้างโอเวอร์เลย์แชตเองทั้งหมดจากศูนย์ให้ตรงกับสไตล์และหน้าที่ของสตรีมได้ Social Stream Ninja มีพื้นฐานยืดหยุ่นให้ต่อยอด

เริ่มต้นจากเทมเพลต

เริ่มจากเทมเพลตโอเวอร์เลย์ตัวอย่างเพื่อเข้าใจพื้นฐาน:

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

เทมเพลตขนาดเล็กนี้มีเพียงโค้ดที่จำเป็นให้โอเวอร์เลย์ทำงานได้

ดูโอเวอร์เลย์ตัวอย่าง

ฟีเจอร์หลักที่ปรับแต่งได้

  • สลับระหว่างข้อความเด่นกับการแสดงทุกข้อความ
  • ปรับหน้าตาด้วย CSS
  • เพิ่มภาพเคลื่อนไหวกำหนดเองสำหรับข้อความใหม่
  • สร้างการกรองข้อความของคุณเอง
  • เพิ่มองค์ประกอบโต้ตอบด้วย JavaScript

ขั้นตอนการทำ

  1. ดาวน์โหลดไฟล์ HTML โอเวอร์เลย์ตัวอย่าง
  2. แก้ไข HTML เพื่อจัดวางตามต้องการ
  3. ปรับ CSS ให้ได้หน้าตาตามต้องการ
  4. แก้ไข JavaScript ตามต้องการเพื่อกำหนดพฤติกรรมเอง
  5. บันทึกไฟล์ในเครื่องเพื่อใช้เป็นแหล่งเบราว์เซอร์ใน OBS

API ตัวจับเวลา

การควบคุมระยะไกลสำหรับ timer.html

หน้านาฬิกาจับเวลาตั้งใจให้มีขอบเขตจำกัด: ตัวจับเวลาหนึ่งตัว ส่วนควบคุมผู้ดำเนินการที่เลือกเปิดได้ สถานะเตือน เวลาเกิน และรูปแบบภาพไม่กี่แบบ

การกระทำที่มีประโยชน์ ได้แก่ starttimer, pausetimer, resettimer, timeradd, timersubtract, และ settimer.

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

หากต้องการสอบถามสถานะตัวจับเวลาปัจจุบัน ให้ใช้ gettimerstate พร้อมโทเค็น callback

{ "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 เหล่านี้ช่วยให้คุณสร้างประสบการณ์สตรีมที่มีเอกลักษณ์และโต้ตอบได้