ไทย
EnglishEspañolPortuguês (Brasil)РусскийFrançaisDeutsch日本語简体中文繁體中文ItalianoPolski한국어УкраїнськаالعربيةTürkçeČeštinaไทย

ปุ่มเดียว เวิร์กโฟลว์ของคุณเอง

ใช้ Stream Deck, HTTP หรือ WebSocket เรียกเวิร์กโฟลว์ Event Flow ที่บันทึก

คู่มือตัวควบคุม ท่าทาง และไอคอน Stream Deck ทั้งหมด

สร้างเวิร์กโฟลว์ที่เรียกได้

  1. ทริกเกอร์ที่มีชื่อStream Deck / API
  2. เงื่อนไขและแอ็กชันEvent Flow ที่คุณบันทึก
  3. ปลายทางFlow Actions, OBS หรือการเชื่อมต่ออื่น
  1. เปิด Event Flow จาก SSN สร้างโฟลว์เฉพาะหรือเลือก ปุ่ม Stream Deck / API เทมเพลต
  2. เพิ่ม เรียกจาก Stream Deck / API ใน Stream Deck และ API กลุ่มทริกเกอร์
  3. ตั้งชื่อว่า intermission ชื่อต้องตรงทุกตัวและแยกตัวพิมพ์เล็กใหญ่ ใช้ชื่อสั้นที่อธิบายชัดเจน
  4. เชื่อมเอาต์พุตกับ แสดงข้อความ (Show Text) ตั้งข้อความเป็น Back in five minutes แล้วเลือกระยะเวลาและเลเยอร์ที่ต้องการ
  5. บันทึกโฟลว์แล้วเปิดใช้ โฟลว์ที่ไม่บันทึกมีเฉพาะในตัวแก้ไข ส่วนโฟลว์ที่ปิดเรียกไม่ได้ เทมเพลตเริ่มต้นตั้งใจปิดจนกว่าคุณตั้งค่าเสร็จ
  6. เปิด โอเวอร์เลย์ Flow Actions ด้วยลิงก์ที่ SSN สร้าง สำหรับผู้ชม ให้เพิ่ม URL นั้นเป็นแหล่งเบราว์เซอร์ OBS ตัวแก้ไขเองไม่ใช่โอเวอร์เลย์

โฟลว์ที่ไม่มีทริกเกอร์ชื่อนี้เรียกผ่าน workflow API ไม่ได้ การเรียกเวิร์กโฟลว์ไม่แทรกแชตจำลองเข้าแผงด็อก เหตุการณ์ OBS เดิมและแชตปกติยังใช้ทริกเกอร์เดิม

โฟลว์รวมทริกเกอร์ที่มีชื่อกับตัวกรองผ่านโหนดตรรกะได้ แยกระบบอัตโนมัติที่ไม่เกี่ยวข้องเป็นคนละโฟลว์ เพราะทุกสาขาทริกเกอร์/ตรรกะในโฟลว์ที่เลือกจะประเมินด้วยเหตุการณ์ API การกดซ้ำเริ่มการทำงานแยก ใส่ ตัวจำกัดอัตรา (Rate Limiter) โหนดสถานะหลังทริกเกอร์หากต้องการคูลดาวน์

เชื่อมปุ่ม Stream Deck

  1. ตั้งค่าของปลั๊กอิน การตั้งค่า พร้อมเซสชัน SSN และรหัสผ่านหากมี ใช้ ทดสอบการเชื่อมต่อ (Test Connection).
  2. ลาก คำสั่งพรีเซ็ต (Preset Command) ลงบนปุ่ม
  3. เลือก Event Flow workflows → Run workflow.
  4. เลือก รีเฟรชเวิร์กโฟลว์ แล้วเลือกโฟลว์และทริกเกอร์ที่บันทึกไว้ ปุ่มเก็บทั้งรหัสโฟลว์และชื่อทริกเกอร์
  5. กดหนึ่งครั้งแล้วดูโอเวอร์เลย์ Flow Actions เครื่องหมายถูกบนปุ่มหมายถึง SSN ยอมรับการเรียก

ตัวเลือกเวิร์กโฟลว์คงการเลือกที่หายไปไว้ หลังเปลี่ยนชื่อ ปิด ลบ หรือนำเข้าโฟลว์ ให้รีเฟรชและเลือกใหม่ โฟลว์ที่นำเข้าเป็นโฟลว์ใหม่มีรหัสต่างกัน หากต้องการเลือกตามชื่อข้ามหลายโฟลว์ให้ใช้ช่อง Value แทน

คำสั่งกำหนดเอง: ตั้ง Action เป็น triggerWorkflow เว้น Target ว่าง แล้วป้อน {"trigger":"intermission"} เป็น Value แล้วเปิด รอคำตอบ (Wait for response) พรีเซ็ตมีตัวช่วยเลือกและกรองตามความสามารถ

หลายแอ็กชัน (Multi Actions): แต่ละคำขอเวิร์กโฟลว์ตอบรับการยอมรับอย่างรวดเร็ว ขั้น Stream Deck ถัดไปอาจเริ่มก่อนแอ็กชันหน่วงในเวิร์กโฟลว์จบ หากลำดับสำคัญ ให้จัดลำดับและหน่วงเวลาใน Event Flow

ส่งค่ากำหนดเอง

ในช่อง Value ของปุ่มหรือคำขอ API:

{
  "trigger": "intermission",
  "flowId": "YOUR_SAVED_FLOW_ID",
  "data": { "name": "Back in five minutes", "minutes": 5 }
}

ตั้ง Show Text เป็น {meta.workflow.data.name} Compare Property อ่านค่า meta.workflow.data.minutes Data เป็นออบเจ็กต์ JSON ที่ไม่บังคับ และจะอยู่ใน meta.workflow.data และไม่สามารถแทนตัวตนเหตุการณ์หรือให้สิทธิ์แชต

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

เหตุการณ์ที่ใช้ภายในโฟลว์ที่เลือกมี type: "api", event: "workflow_trigger", chatname: "Stream Deck / API" ค่าเปล่าสำหรับ chatmessage และข้อมูลด้านบน แชตปกติที่คัดลอกฟิลด์เหล่านั้นไม่สามารถเปิดทริกเกอร์ API ที่มีชื่อได้

ตัวอย่าง API

เปิด SSN ให้ทำงานไว้ นี่เป็นคำสั่งควบคุม Social Stream ระยะไกล ไม่ใช้ API AI/MCP ในเครื่องที่แยกของ SSApp เก็บรหัสเซสชันจริงเป็นส่วนตัว

ค้นหาทริกเกอร์ที่ใช้ได้

{"action":"getWorkflowTriggers","get":"list-1","apiid":"YOUR_SESSION"}

คอลแบ็กมี result.payload.triggers:

{"triggers":[{"flowId":"flow-123","flowName":"Intermission","trigger":"intermission"}]}

เรียกเวิร์กโฟลว์ที่มีชื่อ

{
  "action": "triggerWorkflow",
  "value": {"trigger":"intermission","flowId":"flow-123","data":{"name":"Back shortly"}},
  "get": "run-1",
  "apiid": "YOUR_SESSION"
}

ใช้ค่าที่ไม่ซ้ำ get ข้อความไม่ซ้ำสำหรับแต่ละคำขอ คอลแบ็กที่สำเร็จมี result.ok: true, result.status: "accepted", และ result.payload.matchedFlows การยอมรับหมายถึงพบโฟลว์ที่เปิดใช้และจัดให้ทำงานแล้ว ไม่ได้หมายความว่าแอ็กชันหน่วงเวลา เว็บฮุก คำสั่ง OBS หรือการเล่นสื่อทุกอย่างเสร็จแล้ว

WebSocket

เปิดใช้ การควบคุมส่วนขยายจากระยะไกลผ่าน API ใน SSN เชื่อมกับ wss://io.socialstream.ninja เข้าร่วมด้วย {"join":"YOUR_SESSION","out":1,"in":2} แล้วส่งคำขอด้านบน ช่อง 1 ส่งคำสั่งควบคุม ช่อง 2 ส่งคอลแบ็ก คุณไม่ต้องเปิดช่องแชตสำหรับเวิร์กโฟลว์

HTTP

เปิดการตั้งค่าควบคุม API ระยะไกลเดียวกัน แทนรหัสเซสชันตัวอย่างก่อนใช้:

POST https://io.socialstream.ninja/YOUR_SESSION
Content-Type: application/json

{"action":"triggerWorkflow","value":{"trigger":"intermission","data":{"name":"Back shortly"}}}

สำหรับทริกเกอร์ที่มีชื่อแบบง่าย ใช้สิ่งนี้ได้ด้วย: GET https://io.socialstream.ninja/YOUR_SESSION/triggerWorkflow/null/intermission ส่วนที่สี่ของเส้นทางบรรจุ JSON ที่เข้ารหัส URL เพื่อส่งค่าแบบมีโครงสร้างได้ เข้ารหัสค่า JSON ทั้งหมดด้วย encodeURIComponent(JSON.stringify(value))ช่องส่งกำหนดเองใช้ ?channel=N.

P2P

โหมด P2P เริ่มต้นของปลั๊กอินส่งเพย์โหลดเดียวกันผ่านช่องข้อมูล VDO.Ninja เดิมของ SSN ไม่ต้องเปิดสวิตช์ WebSocket API บนเซิร์ฟเวอร์สำหรับ P2P ไคลเอนต์ P2P เดิมควรส่งคำขอนี้ผ่านการเชื่อมต่อควบคุม SSN ที่มีอยู่ ไม่ต้องเปิด API AI ในเครื่อง

ข้อผิดพลาดและความเข้ากันได้

  • WORKFLOW_NOT_FOUND: ไม่มีโฟลว์ที่บันทึกและเปิดใช้ตรงกับชื่อทริกเกอร์/รหัสโฟลว์
  • INVALID_VALUE: ทริกเกอร์หาย/ไม่ถูกต้อง JSON ผิดรูปแบบ รหัสโฟลว์ไม่ถูกต้อง หรือ data ไม่ใช่ออบเจ็กต์
  • CONTROL_UNAVAILABLE: SSN หรือการควบคุมโฮสต์ระยะไกลปิดอยู่
  • TARGET_UNAVAILABLE: Event Flow ยังโหลดอยู่
  • ไฟล์ Social Stream รุ่นเก่าอาจไม่ประกาศแอ็กชันเหล่านี้ ตรวจ getCapabilities → ssn.actions.triggerWorkflow และ getWorkflowTriggers ต้องติดตั้งทั้งทริกเกอร์ใหม่และปลั๊กอินที่อัปเดต หมายเลขรุ่น SSApp อย่างเดียวไม่ระบุรุ่นไฟล์ Social Stream ที่โหลดจากระยะไกล

อย่าลองคำสั่งที่เปลี่ยนสถานะซ้ำอัตโนมัติเมื่อคำตอบรับหาย เพราะเวิร์กโฟลว์อาจเริ่มแล้ว ตรวจเอาต์พุตก่อน API นี้ไม่มีคิวสถานะการทำงาน

สิ่งที่แต่ละการเชื่อมต่อต้องมี

แอ็กชันเวิร์กโฟลว์ปลายทาง/การตั้งค่าที่ต้องมีสิ่งที่ต้องตรวจ
Show Text สื่อ เสียง และล้างเลเยอร์โอเวอร์เลย์ Flow Actions ที่เชื่อมต่อในเซสชันเดียวกัน ใช้แหล่งเบราว์เซอร์ OBS สำหรับเอาต์พุตผู้ชมเอาต์พุตที่มองเห็น เลเยอร์ ระยะเวลา และเส้นทางเสียง คำสั่งสำเร็จไม่ได้ยืนยันว่าฉาก OBS มองเห็นอยู่
ตัวควบคุม OBSFlow Actions เชื่อมกับ OBS ด้วยที่อยู่/รหัสผ่านที่ตั้งไว้ และชื่อฉาก/แหล่งข้อมูลตรงกันสถานะ OBS จริง ดู คู่มือ OBS.
ปักหมุด/แสดงข้อความเด่นแผงด็อกเริ่มต้นที่เชื่อมต่อ เลือกรหัสข้อความจริงหรือเพย์โหลดข้อความเต็มรายการปักหมุดแผงด็อกและโอเวอร์เลย์ข้อความเด่น ข้อความแชตว่างของทริกเกอร์ API ไม่ใช่แชตที่มีประโยชน์ด้วยตัวเอง
เรียกเว็บฮุก (Call Webhook)URL วิธี HTTP และเนื้อหา JSON ในแอ็กชันคำตอบตัวรับและฟิลด์ข้อผิดพลาด Event Flow คำตอบรับ Stream Deck มาถึงก่อนผลลัพธ์ที่หน่วงหรือมาจากภายนอก
Send Message / ส่งต่อแหล่งข้อมูลที่เชื่อมต่อและเขียนได้ พร้อมปลายทางชัดเจนแชตปลายทางจริง คำขอเวิร์กโฟลว์ไม่ได้อนุญาตให้ข้ามขีดจำกัดแพลตฟอร์ม
สินค้าและการสนับสนุนสินค้าที่บันทึก/เปิดใช้และโอเวอร์เลย์การขายสถานะเลือก/ซ่อน/ตามตารางของ SSN ดู ตัวควบคุมสินค้า.
แจกของรางวัล ตั๋ว คะแนนการแจกของรางวัล/ระบบคะแนนที่ตั้งไว้และตัวผู้กระทำที่เหมาะสม เหตุการณ์ API ที่มีชื่อไม่มีตัวตนผู้ชมใช้พรีเซ็ตแจกของรางวัลระดับโฮสต์สำหรับการควบคุมโฮสต์ อย่าถือเหตุการณ์ API เป็นการซื้อของผู้ชม ดู แจกของรางวัลและคะแนน.
TTS, Spotify, การพิมพ์, MIDIการเชื่อมต่อ สิทธิ์ อุปกรณ์ หรือบัญชีของแต่ละการเชื่อมต่อปลายทาง/อุปกรณ์จริง การติดตั้ง Stream Deck ไม่ได้ตั้งค่าการเชื่อมต่อเหล่านี้

คู่มือ Event Flow ฉบับเต็ม · ตัวอย่างใช้งาน · เอกสารอ้างอิง API

ท่าทางสำหรับตัวจับเวลาและแชต

ตัวจับเวลา: หมุนหนึ่งคลิกเพื่อ ±10 วินาทีตามค่าเริ่มต้น กดปุ่มหมุนค้างขณะหมุน เพื่อ ±1 นาที (6 เท่าของขั้นที่ตั้งไว้) กด/ปล่อยโดยไม่หมุนเพื่อเริ่ม/หยุดชั่วคราว แตะหน้าจอตัวจับเวลาเพื่อรีเฟรช กดค้างที่ หน้าจอ เพื่อรีเซ็ต การกดปุ่มหมุนจริงค้างอย่างเดียวไม่รีเซ็ต

ตรวจแชต: หมุนซ้ายเพื่อแชตเก่า ขวาเพื่อแชตใหม่ กดปุ่มหมุนเพื่อปักหมุดข้อความที่กำลังดู แตะหน้าจอเพื่อแสดงข้อความปักหมุดถัดไปเป็นข้อความเด่น กดหน้าจอค้างเพื่อยกเลิกปักหมุดข้อความที่กำลังดู เปิดแผงด็อกเริ่มต้นไว้ ในโหมด WebSocket เปิดส่งต่อแชตทางช่อง 4

เปิด Help and diagnostics → Controls, icons and workflow guide ในปลั๊กอินเพื่อดูคู่มือออฟไลน์ฉบับเต็ม แอ็กชันทั้งห้าประเภท ทุกพรีเซ็ต/ไอคอน พฤติกรรมรีเซ็ต ค่าเริ่มต้น และการแก้ปัญหา

เอกสารอ้างอิงรายการโหนด Event Flow

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

ทริกเกอร์ กำหนดว่าโฟลว์เริ่มเมื่อใด เชื่อมเงื่อนไขด้วย AND/OR เมื่อจำเป็น แอ็กชัน ทำงานตามลำดับที่เชื่อม โหนดสถานะ จดจำค่าระหว่างเหตุการณ์ สำหรับคูลดาวน์ปุ่ม เลือก ตัวจำกัดอัตรา (Rate Limiter) (THROTTLE) ไม่ใช่แอ็กชัน Delay เพราะ Delay เลื่อนทุกครั้งออกไปและไม่ระงับการกดซ้ำ

ทริกเกอร์: Stream Deck และ API (1)
  • ▶ เรียกจาก Stream Deck / API — apiTrigger
ทริกเกอร์: 📣 เหตุการณ์สตรีม (9)
  • 👋 ผู้ติดตามใหม่ (New Follower) — eventNewFollower
  • ⭐ สมาชิกใหม่ (New Subscriber) — eventNewSubscriber
  • 🔄 สมัครใหม่/ต่ออายุ (Resub/Renewal) — eventResub
  • 🎁 สมาชิกของขวัญ (Gift Sub) — eventGiftSub
  • 💰 บริจาค / ทิป (Donation / Tip) — eventDonation
  • 🚀 Raid — eventRaid
  • 💎 Cheer/Bits — eventCheer
  • 📋 เหตุการณ์อื่น... (Other Event...) — eventOther
  • ✏️ เหตุการณ์กำหนดเอง (Custom Event) — eventCustom
ทริกเกอร์: OBS Studio (7)
  • OBS เริ่มสตรีม (OBS Stream Started) — obsStreamStarted
  • OBS หยุดสตรีม (OBS Stream Stopped) — obsStreamStopped
  • OBS เริ่มบันทึก (OBS Recording Started) — obsRecordingStarted
  • OBS หยุดบันทึก (OBS Recording Stopped) — obsRecordingStopped
  • OBS เปลี่ยนฉาก (OBS Scene Changed) — obsSceneChanged
  • สื่อ OBS เล่นจบ (OBS Media Ended) — obsMediaEnded
  • OBS บันทึกรีเพลย์บัฟเฟอร์แล้ว (OBS Replay Buffer Saved) — obsReplaybufferSaved
ทริกเกอร์: 💬 ข้อความแชต (6)
  • 💬 ข้อความใดก็ได้ (Any Message) — anyMessage
  • 🔍 ข้อความมี (Message Contains) — messageContains
  • ▶️ ข้อความขึ้นต้นด้วย (Message Starts With) — messageStartsWith
  • ⏹️ ข้อความลงท้ายด้วย (Message Ends With) — messageEndsWith
  • 🟰 ข้อความเท่ากับ (Message Equals) — messageEquals
  • 🔤 Regex ข้อความ (Message Regex) — messageRegex
ทริกเกอร์: 📊 คุณสมบัติข้อความ (7)
  • 📏 ความยาวข้อความ (Message Length) — messageLength
  • 🔢 จำนวนคำ (Word Count) — wordCount
  • 😀 มีอีโมจิ (Contains Emoji) — containsEmoji
  • 🔗 มีลิงก์ (Contains Link) — containsLink
  • 💰 มีการบริจาค (Has Donation) — hasDonation
  • ⚖️ เปรียบเทียบคุณสมบัติ (Compare Property) — compareProperty
  • ⚙️ ตัวกรองคุณสมบัติข้อความ (Message Properties Filter) — messageProperties
ทริกเกอร์: 👤 ผู้ใช้และแหล่งข้อมูล (6)
  • 📡 จากแหล่งข้อมูล (From Source) — fromSource
  • 📺 จากชื่อช่อง (From Channel Name) — fromChannelName
  • 👤 จากผู้ใช้ (From User) — fromUser
  • 👑 บทบาทผู้ใช้ (User Role) — userRole
  • 🧠 ผู้ใช้ถูกจดจำแล้ว (User Is Remembered) — userMemoryContains
  • 🎁 ใช้คะแนนช่องแลกรางวัล (Channel Point Redemption) — channelPointRedemption
ทริกเกอร์: ⏰ เวลาและการสุ่ม (4)
  • 🎲 โอกาสสุ่ม (Random Chance) — randomChance
  • ⏰ ช่วงเวลา (Time Interval) — timeInterval
  • 🎤 เมื่อฉันพูดว่า... (When I say...) — voicePhrase
  • 🕐 เวลาของวัน (Time of Day) — timeOfDay
ทริกเกอร์: 🎹 MIDI (3)
  • 🎹 MIDI Note On — midiNoteOn
  • 🎹 MIDI Note Off — midiNoteOff
  • 🎛️ MIDI Control Change — midiCC
ทริกเกอร์: 📦 ขั้นสูง (2)
  • 📣 ประเภทเหตุการณ์ (ขั้นสูง) (Event Type (Advanced)) — eventType
  • โค้ดกำหนดเอง (Custom Code) — customJs
แอ็กชัน: 💬 การจัดการข้อความ (14)
  • 🚫 บล็อกข้อความ (Block Message) — blockMessage
  • ✅ คืนข้อความ (Return Message) — returnMessage
  • ⚡ ทำต่อแบบอะซิงโครนัส (Continue Async) — continueAsync
  • ✏️ แก้ไขข้อความ (Modify Message) — modifyMessage
  • ⬅️ เพิ่มส่วนหน้า (Add Prefix) — addPrefix
  • ➡️ เพิ่มส่วนท้าย (Add Suffix) — addSuffix
  • 🔄 ค้นหาและแทนที่ (Find & Replace) — findReplace
  • ✂️ ลบข้อความ (Remove Text) — removeText
  • 🎨 ตั้งคุณสมบัติ (Set Property) — setProperty
  • 🌟 แสดงข้อความเด่น (Feature Message) — featureMessage
  • ปักหมุดข้อความ (Pin Message) — pinMessage
  • 💬 ส่งข้อความ (Send Message) — sendMessage
  • 📢 ส่งต่อแชต (Relay Chat) — relay
  • 🪞 ตัวกรองข้อความสะท้อน (Reflection Filter) — reflectionFilter
แอ็กชัน: 🔌 การเชื่อมต่อ (6)
  • เรียกโค้ดกำหนดเอง (Execute Custom Code) — customJs
  • 🖨️ พิมพ์ฉลากความร้อน (Print Thermal Label) — printThermal
  • 🌐 เรียกเว็บฮุก (Call Webhook) — webhook
  • ⬆️ เพิ่มคะแนน (Add Points) — addPoints
  • ⬇️ ใช้คะแนน (Spend Points) — spendPoints
  • 🎁 แจกของรางวัล / ตั๋ว (Giveaway / Tickets) — giveawayControl
แอ็กชัน: 🎨 สื่อและเอฟเฟกต์ (7)
  • 🖼️ แสดงโอเวอร์เลย์สื่อ (Display Media Overlay) — playTenorGiphy
  • 👤 แสดงอวาตาร์ (Show Avatar) — showAvatar
  • 🛍 สินค้าและการสนับสนุน (Products & Support) — commerceControl
  • 📝 แสดงข้อความ (Show Text) — showText
  • 🗑️ ล้างเลเยอร์ (Clear Layer) — clearLayer
  • 🔊 เล่นคลิปเสียง (Play Audio Clip) — playAudioClip
  • ⏱️ หน่วงเวลา (Delay) — delay
แอ็กชัน: 🎬 OBS Studio (14)
  • 🎬 เปลี่ยนฉาก (Change Scene) — obsChangeScene
  • 👁️ สลับแหล่งข้อมูล (Toggle Source) — obsToggleSource
  • 📝 ตั้งข้อความแหล่งข้อมูล (Set Text Source) — obsSetText
  • ⏯️ ควบคุมแหล่งสื่อ (Control Media Source) — obsMediaControl
  • 🔊 ตั้งระดับเสียงแหล่งข้อมูล (Set Source Volume) — obsSetVolume
  • 🔄 รีเฟรชแหล่งเบราว์เซอร์ (Refresh Browser Source) — obsRefreshBrowser
  • 🎨 สลับฟิลเตอร์ (Toggle Filter) — obsSetSourceFilter
  • 🔇 ปิด/เปิดเสียง (Mute/Unmute Audio) — obsMuteSource
  • 🔴 เริ่มบันทึก (Start Recording) — obsStartRecording
  • ⏹️ หยุดบันทึก (Stop Recording) — obsStopRecording
  • 📡 เริ่มสตรีม (Start Streaming) — obsStartStreaming
  • ⏹️ หยุดสตรีม (Stop Streaming) — obsStopStreaming
  • ⏺️ ควบคุมรีเพลย์บัฟเฟอร์ (Control Replay Buffer) — obsReplayBufferControl
  • 💾 บันทึกรีเพลย์บัฟเฟอร์ (Save Replay Buffer) — obsReplayBuffer
แอ็กชัน: 🎵 Spotify (10)
  • ⏭️ ข้ามเพลง (Skip Track) — spotifySkip
  • ⏮️ เพลงก่อนหน้า (Previous Track) — spotifyPrevious
  • ⏸️ หยุดชั่วคราว (Pause) — spotifyPause
  • ▶️ ทำต่อ (Resume) — spotifyResume
  • ⏯️ สลับเล่น/หยุดชั่วคราว (Toggle Play/Pause) — spotifyToggle
  • 🔊 ตั้งระดับเสียง (Set Volume) — spotifyVolume
  • 📋 เพิ่มเข้าคิว (Add to Queue) — spotifyQueue
  • 🎵 ประกาศเพลงที่เล่น (Announce Now Playing) — spotifyNowPlaying
  • 🔀 สลับสุ่มเพลง (Toggle Shuffle) — spotifyShuffle
  • 🔁 ตั้งโหมดเล่นซ้ำ (Set Repeat Mode) — spotifyRepeat
แอ็กชัน: 🔊 ข้อความเป็นเสียง (5)
  • 🗣️ อ่านข้อความ (Speak Text) — ttsSpeak
  • 🔇 สลับ TTS (Toggle TTS) — ttsToggle
  • ⏭️ ข้าม TTS (Skip TTS) — ttsSkip
  • 🗑️ ล้างคิว TTS (Clear TTS Queue) — ttsClear
  • 🔊 ตั้งระดับเสียง TTS (Set TTS Volume) — ttsVolume
แอ็กชัน: 🎹 MIDI (2)
  • 🎹 ส่งโน้ต (Send Note) — midiSendNote
  • 🎛️ ส่ง Control Change — midiSendCC
แอ็กชัน: 🧠 หน่วยความจำผู้ใช้ (4)
  • 🧠 จดจำผู้ใช้ (Remember User) — rememberUser
  • 👋 ลืมผู้ใช้ (Forget User) — forgetUser
  • 🧹 ล้างผู้ใช้ทั้งหมด (Clear All Users) — clearUserMemory
  • 🎟️ สุ่มเลือกผู้ใช้ (Pick Random User) — pickRandomUser
แอ็กชัน: 🔧 ควบคุมสถานะ (5)
  • 🚦 ตั้งสถานะเกต (Set Gate State) — setGateState
  • 🔄 รีเซ็ตโหนดสถานะ (Reset State Node) — resetStateNode
  • 🔢 ตั้งค่าตัวนับ (Set Counter Value) — setCounter
  • ➕ เพิ่มตัวนับ (Increment Counter) — incrementCounter
  • ตรวจตัวนับ (Check Counter) — checkCounter
โหนดตรรกะและสถานะ
  • 🔀 เกต AND — AND
  • 🔄 เกต OR — OR
  • 🚫 เกต NOT — NOT
  • 🎲 เกต RANDOM — RANDOM
  • 🚫 ตรวจคำไม่เหมาะสม (Check Bad Words) — CHECK_BAD_WORDS
  • 🚦 สวิตช์เปิด/ปิด (On/Off Switch) — GATE
  • 🔢 ตัวนับ (Counter) — COUNTER
  • ⏲️ ตัวจำกัดอัตรา (Rate Limiter) — THROTTLE
  • 🧠 หน่วยความจำผู้ใช้ (User Memory) — USER_MEMORY

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

สำหรับรายละเอียดการเชื่อมโหนด ดู คู่มือ Event Flow, คู่มือโหนดสถานะ, คู่มือหน่วยความจำผู้ใช้, และ คู่มือ OBS.

ไล่แก้ความล้มเหลว

  1. เริ่มจากโฟลว์ Show Text แบบง่ายและตรวจเอาต์พุต
  2. บันทึกและเปิดใช้ แล้วรีเฟรชรายการเวิร์กโฟลว์ Stream Deck ตรวจทั้งชื่อทริกเกอร์และรหัสโฟลว์
  3. ยืนยันว่าเปิด SSN สถานะเชื่อมต่อเป็น Online และโอเวอร์เลย์ปลายทางเชื่อมเซสชันเดียวกัน
  4. ตรวจคอลแบ็ก API หรือข้อมูลวินิจฉัยปลั๊กอินเพื่อหาข้อผิดพลาดการค้นหา/ตรวจสอบ หากล้มเหลวหลังยอมรับแล้ว ให้ตรวจปลายทางและบันทึกการทำงาน Event Flow
  5. เพิ่มการเชื่อมต่อทีละอย่าง ทดสอบการกดซ้ำ โฟลว์ที่ปิด และการเชื่อมต่อใหม่ก่อนใช้จริง

แผงทดสอบแชตปกติของตัวแก้ไขส่งเหตุการณ์แชต ไม่ได้จำลองเป็นทริกเกอร์ API ที่มีชื่อ ทดสอบทริกเกอร์นี้ผ่าน Stream Deck หรือ API เพื่อยืนยันเส้นทางทั้งหมด