Tam Stream Deck kontrolleri, hareketleri ve simge kılavuzu
Çağrılabilen bir iş akışı oluşturun
- Adlandırılmış tetikleyiciStream Deck / API
- Koşullar ve eylemlerKayıtlı Etkinlik Akışınız
- HedefFlow Actions, OBS veya başka bir entegrasyon
- Açın: Etkinlik Akışı SSN'den. Ayrı bir akış oluşturun veya şu şablonu seçin: Stream Deck / API düğmesi .
- Ekleyin: Stream Deck / API'den çalıştır şu bölümde: Stream Deck ve API tetikleyici grubu.
- Şu adı verin:
intermission. Adlar tam eşleşir ve büyük/küçük harfe duyarlıdır; kısa, açıklayıcı bir ad kullanın. - Çıkışını şuna bağlayın: Metin Göster. Metni şu değere ayarlayın:
Back in five minutesve istenen süreyi ve katmanı seçin. - Akışı kaydedin, ardından etkinleştirin. Kaydedilmemiş akış yalnızca düzenleyicide bulunur; devre dışı akış çağrılamaz. Başlangıç şablonu, kurulumu bitirene kadar bilinçli olarak devre dışıdır.
- Şunu açın: Flow Actions katmanı SSN'nin oluşturduğu bağlantıyı kullanarak. İzleyicileriniz için bu URL'yi OBS Tarayıcı Kaynağı olarak ekleyin. Düzenleyicinin kendisi katman değildir.
Bu adlandırılmış tetikleyicisi olmayan akışlar iş akışı API'si üzerinden çağrılamaz. İş akışı çağırmak panele sahte sohbet eklemez. Mevcut OBS etkinlikleri ve normal sohbet mevcut tetikleyicilerini kullanmaya devam eder.
Akış, mantık düğümleriyle adlandırılmış tetikleyicisini filtrelerle birleştirebilir. İlgisiz otomasyonları ayrı akışlarda tutun: seçilen akıştaki tüm tetikleyici/mantık dalları API etkinliğiyle değerlendirilir. Tekrarlanan basışlar ayrı çalıştırmalar başlatır; bir Hız Sınırlayıcı durum düğümünü tetikleyiciden sonra koyun; bekleme süresi istiyorsanız.
Bir Stream Deck tuşu bağlayın
- Eklentinin şu ayarını yapılandırın: Kurulum eylemini SSN oturumunuz ve isteğe bağlı parolayla. Şunu kullanın: Bağlantıyı Test Et.
- Sürükleyin: Ön Ayarlı Komut bir tuşun üzerine.
- Seçin: Etkinlik Akışı iş akışları → İş akışını çalıştır.
- Seçin: İş akışlarını yenile, ardından kayıtlı akışınızı ve tetikleyicinizi seçin. Tuş, tetikleyici adının yanı sıra akış kimliğini de saklar.
- Bir kez basın ve Flow Actions katmanını izleyin. Tuşun onay işareti, SSN'nin çalıştırmayı kabul ettiği anlamına gelir.
İş akışı seçicisi eksik seçimleri korur. Akışı yeniden adlandırdıktan, devre dışı bıraktıktan, sildikten veya içe aktardıktan sonra yenileyip yeniden seçin. Yeni akış olarak içe aktarılan iş akışının kimliği farklıdır. Bunun yerine birkaç akışı ada göre hedeflemek için Değer alanını kullanın.
Özel Komut: Eylem'i şu değere ayarlayın: triggerWorkflow, Hedef'i boş bırakın ve şunu girin: {"trigger":"intermission"} Değer olarak ve şunu etkinleştirin: Yanıtı bekle. Ön ayar, rehberli seçim ve yetenek filtreleme sunar.
Çoklu Eylemler: her iş akışı isteği kabulü hızlıca onaylar. Sonraki Stream Deck adımı gecikmeli iş akışı eylemleri bitmeden başlayabilir. Sıra önemliyse sıralamayı ve gecikmeleri Etkinlik Akışı'nın içine koyun.
Özel değerler geçirin
Tuşun Değer alanında veya API isteğinizde:
{
"trigger": "intermission",
"flowId": "YOUR_SAVED_FLOW_ID",
"data": { "name": "Back in five minutes", "minutes": 5 }
}Metin Göster'i şu değere ayarlayın: {meta.workflow.data.name}. Özelliği Karşılaştır şunu okuyabilir: meta.workflow.data.minutes. Veri, isteğe bağlı bir JSON nesnesidir; şurada kalır: meta.workflow.data ve etkinliğin kimliğini değiştiremez veya sohbet ayrıcalığı veremez.
Şunu atlayın: flowId tam olarak bu tetikleyici adına sahip tüm etkin akışları çağırmak için. Aynı akıştaki birden fazla eşleşen tetikleyici düğümü yine o akışı yalnızca bir kez değerlendirir. Yalnızca tek akışı çalıştırmak için seçiciden veya keşif yanıtından kimliğini koruyun.
Seçilen akışta kullanılan etkinlik şu alanları içerir: type: "api", event: "workflow_trigger", chatname: "Stream Deck / API", boş bir chatmessage ve yukarıdaki verileri. Bu alanları kopyalayan normal sohbet, adlandırılmış API tetikleyicisini etkinleştiremez.
API örnekleri
SSN'yi etkin ve çalışır durumda tutun. Bunlar Social Stream uzaktan kontrol çağrılarıdır; SSApp'in ayrı yerel yapay zekâ/MCP API'sini kullanmazlar. Gerçek oturum kimliğinizi gizli tutun.
Kullanılabilir tetikleyicileri keşfedin
{"action":"getWorkflowTriggers","get":"list-1","apiid":"YOUR_SESSION"}Geri çağrı şunu içerir: result.payload.triggers:
{"triggers":[{"flowId":"flow-123","flowName":"Intermission","trigger":"intermission"}]}
Adlandırılmış iş akışını çalıştırın
{
"action": "triggerWorkflow",
"value": {"trigger":"intermission","flowId":"flow-123","data":{"name":"Back shortly"}},
"get": "run-1",
"apiid": "YOUR_SESSION"
}Benzersiz bir get dizesini her istek için kullanın. Başarılı geri çağrı şunu içerir: result.ok: true, result.status: "accepted", ve result.payload.matchedFlows. Kabul, etkin akışın bulunduğu ve çalıştırılmak üzere planlandığı anlamına gelir. Her gecikmeli eylemin, webhook'un, OBS çağrısının veya medya oynatımının tamamlandığı anlamına gelmez.
WebSocket
Şunu etkinleştirin: uzantının uzaktan API kontrolü SSN'de. Şuna bağlayın: wss://io.socialstream.ninja. Şununla katılın: {"join":"YOUR_SESSION","out":1,"in":2}, ardından yukarıdaki isteği gönderin. Kanal 1 kontrolleri; kanal 2 geri çağrıları taşır. İş akışları için sohbet kanalını etkinleştirmeniz gerekmez.
HTTP
Aynı uzaktan API kontrolü ayarını etkinleştirin. Kullanmadan önce oturum yer tutucusunu değiştirin:
POST https://io.socialstream.ninja/YOUR_SESSION
Content-Type: application/json
{"action":"triggerWorkflow","value":{"trigger":"intermission","data":{"name":"Back shortly"}}}Basit bir adlandırılmış tetikleyici için şunu da kullanabilirsiniz: GET https://io.socialstream.ninja/YOUR_SESSION/triggerWorkflow/null/intermission. Dördüncü yol bölümü yapılandırılmış değerler için URL kodlamalı JSON içerebilir. Tüm JSON değerini şununla kodlayın: encodeURIComponent(JSON.stringify(value)). Özel gönderim kanalları şunu kullanır: ?channel=N.
P2P
Eklentinin varsayılan P2P modu, aynı veri yükünü SSN'nin mevcut VDO.Ninja veri kanalı aktarımı üzerinden gönderir. P2P için barındırılan WebSocket API anahtarı gerekmez. Mevcut P2P istemcileri bu isteği kurulu SSN kontrol bağlantıları üzerinden göndermelidir; yerel yapay zekâ API'sini açmak gerekmez.
Hatalar ve uyumluluk
WORKFLOW_NOT_FOUND: tetikleyici/akış kimliğiyle eşleşen kayıtlı, etkin akış yok.INVALID_VALUE: eksik/geçersiz tetikleyici, hatalı JSON, geçersiz akış kimliği veya nesne olmayan veri.CONTROL_UNAVAILABLE: SSN veya uzaktan yayıncı kontrolü devre dışı.TARGET_UNAVAILABLE: Etkinlik Akışı hâlâ yükleniyor.- Eski Social Stream varlıkları bu eylemleri bildirmeyebilir. Şunu kontrol edin:
getCapabilities→ssn.actions.triggerWorkflowvegetWorkflowTriggers. Yeni tetikleyici ve güncellenen eklenti birlikte yüklü olmalıdır; tek başına SSApp sürüm numarası uzaktan yüklenen Social Stream varlıklarını belirlemez.
Onay kaybolduktan sonra durumu değiştiren çağrıyı otomatik tekrarlamayın: iş akışı zaten başlamış olabilir. Önce çıktısını kontrol edin. Bu API çalıştırma durumu kuyruğu sağlamaz.
Her entegrasyon ne gerektirir?
| İş akışı eylemi | Gerekli hedef/kurulum | Kontrol edilecekler |
|---|---|---|
| Metin Göster, medya, ses, katman temizleme | Aynı oturumda bağlı Flow Actions katmanı; izleyici çıktısı için OBS Tarayıcı Kaynağı. | Görünür çıktı, katman, süre ve ses yönlendirmesi. Başarılı komut OBS sahnesinin görünürlüğünü kanıtlamaz. |
| OBS kontrolleri | Yapılandırılmış adres/parolayla OBS'ye bağlı Flow Actions; eşleşen sahne/kaynak adları. | Gerçek OBS durumu. Şuna bakın: OBS kılavuzu. |
| Mesajı sabitle/öne çıkar | Bağlı varsayılan panel; gerçek mesaj kimliği veya tam mesaj veri yükü seçin. | Paneldeki sabitlenmiş liste ve öne çıkan katman. API tetikleyicisinin boş sohbet metni kendi başına yararlı sohbet değildir. |
| Webhook çağır | Eylemdeki URL, yöntem ve JSON gövdesi. | Alıcı yanıtı ve Etkinlik Akışı hata alanları; Stream Deck onayı gecikmeli/harici sonuçlardan önce gelir. |
| Mesaj Gönder / aktar | Yazılabilir, bağlı kaynak ve açık hedef. | Gerçek hedef sohbet. İş akışı isteği platform sınırlarını aşma izni değildir. |
| Ürünler ve destek | Kaydedilmiş/etkinleştirilmiş ürünler ve ticaret katmanı. | SSN'nin seçili/gizli/programlı durumu. Şuna bakın: ürün kontrolleri. |
| Çekiliş, biletler, puanlar | Yapılandırılmış çekiliş/ekonomi ve uygun bir aktör. Adlandırılmış API etkinliğinde izleyici kimliği yoktur. | Yayıncı kontrolleri için yayıncı düzeyindeki çekiliş ön ayarlarını kullanın; API etkinliğini izleyici satın alması gibi ele almayın. Şuna bakın: çekilişler ve puanlar. |
| TTS, Spotify, yazdırma, MIDI | Her entegrasyonun kendi bağlantısı, izinleri, cihaz veya hesap kurulumu. | Gerçek hedef/cihaz. Stream Deck'i yüklemek bu entegrasyonları yapılandırmaz. |
Tam Etkinlik Akışı kılavuzu · Tarifler · API başvuru kaynağı
Zamanlayıcı ve sohbet hareketleri
Zamanlayıcı: varsayılan olarak ±10 saniye için bir tık çevirin; çevirirken döner düğmeyi basılı tutun ±1 dakika için (yapılandırılan adımın 6 katı). Başlatmak/duraklatmak için çevirmeden basıp bırakın. Yenilemek için zamanlayıcı ekranına dokunun; şu ekranı sıfırlamak için basılı tutun. Yalnızca fiziksel döner düğmeyi basılı tutmak sıfırlamaz.
Sohbet İnceleme: eski sohbet için sola, yeni sohbet için sağa çevirin; incelenen mesajı sabitlemek için döner düğmeye basın. Sonraki sabitlenmiş mesajı öne çıkarmak için ekrana dokunun; incelenen mesajın sabitlemesini kaldırmak için ekranı basılı tutun. Varsayılan paneli açık tutun. WebSocket modunda 4. kanalda sohbet aktarmayı etkinleştirin.
Açın: Yardım ve tanılama → Kontroller, simgeler ve iş akışı kılavuzu eklenti içinde; tam çevrimdışı kılavuz, beş eylem türünün tamamı, tüm ön ayarlar/simgeler, sıfırlama davranışı, varsayılanlar ve sorun giderme için.
Etkinlik Akışı paleti başvuru kaynağı
Palette 45 tetikleyici, 67 eylem, beş mantık düğümü ve dört durum düğümü bulunur. Her kayıtta simgesinin yanında metin etiketi vardır. Ayarlarını ve entegrasyon ön koşullarını görmek için düğüm seçin; palet simgesi hedefin bağlı olduğunu kanıtlamaz.
Tetikleyiciler akışın ne zaman başlayacağını belirler. Gerektiğinde koşulları AND/OR ile bağlayın. Eylemler bağlandıkları sırayla çalışır. Durum düğümleri etkinlikler arasında değerleri hatırlar. Düğme bekleme süresi için şunu seçin: Hız Sınırlayıcı (THROTTLE) seçin, Gecikme eylemini değil: Gecikme her çalıştırmayı erteler ve tekrarlanan basışları engellemez.
Tetikleyiciler: Stream Deck ve API (1)
- ▶ Stream Deck / API'den Çalıştır —
apiTrigger
Tetikleyiciler: 📣 Yayın Etkinlikleri (9)
- 👋 Yeni Takipçi —
eventNewFollower - ⭐ Yeni Abone —
eventNewSubscriber - 🔄 Yeniden Abonelik/Yenileme —
eventResub - 🎁 Hediye Abonelik —
eventGiftSub - 💰 Bağış / Bahşiş —
eventDonation - 🚀 Baskın —
eventRaid - 💎 Cheer/Bits —
eventCheer - 📋 Diğer Etkinlik... —
eventOther - ✏️ Özel Etkinlik —
eventCustom
Tetikleyiciler: OBS Studio (7)
- OBS Yayını Başladı —
obsStreamStarted - OBS Yayını Durdu —
obsStreamStopped - OBS Kaydı Başladı —
obsRecordingStarted - OBS Kaydı Durdu —
obsRecordingStopped - OBS Sahnesi Değişti —
obsSceneChanged - OBS Medyası Bitti —
obsMediaEnded - OBS Yeniden Oynatma Arabelleği Kaydedildi —
obsReplaybufferSaved
Tetikleyiciler: 💬 Sohbet Mesajları (6)
- 💬 Herhangi Bir Mesaj —
anyMessage - 🔍 Mesaj Şunu İçerir —
messageContains - ▶️ Mesaj Şununla Başlar —
messageStartsWith - ⏹️ Mesaj Şununla Biter —
messageEndsWith - 🟰 Mesaj Şuna Eşittir —
messageEquals - 🔤 Mesaj Regex —
messageRegex
Tetikleyiciler: 📊 Mesaj Özellikleri (7)
- 📏 Mesaj Uzunluğu —
messageLength - 🔢 Kelime Sayısı —
wordCount - 😀 Emoji İçerir —
containsEmoji - 🔗 Bağlantı İçerir —
containsLink - 💰 Bağış Var —
hasDonation - ⚖️ Özelliği Karşılaştır —
compareProperty - ⚙️ Mesaj Özellikleri Filtresi —
messageProperties
Tetikleyiciler: 👤 Kullanıcı ve Kaynak (6)
- 📡 Kaynaktan —
fromSource - 📺 Kanal Adından —
fromChannelName - 👤 Kullanıcıdan —
fromUser - 👑 Kullanıcı Rolü —
userRole - 🧠 Kullanıcı Hatırlanıyor —
userMemoryContains - 🎁 Kanal Puanı Ödülü Kullanımı —
channelPointRedemption
Tetikleyiciler: ⏰ Zamanlama ve Rastgelelik (4)
- 🎲 Rastgele Olasılık —
randomChance - ⏰ Zaman Aralığı —
timeInterval - 🎤 Ben Şunu Dediğimde... —
voicePhrase - 🕐 Günün Saati —
timeOfDay
Tetikleyiciler: 🎹 MIDI (3)
- 🎹 MIDI Nota Açık —
midiNoteOn - 🎹 MIDI Nota Kapalı —
midiNoteOff - 🎛️ MIDI Kontrol Değişimi —
midiCC
Tetikleyiciler: 📦 Gelişmiş (2)
- 📣 Etkinlik Türü (Gelişmiş) —
eventType - Özel Kod —
customJs
Eylemler: 💬 Mesaj Eylemleri (14)
- 🚫 Mesajı Engelle —
blockMessage - ✅ Mesajı Geri Döndür —
returnMessage - ⚡ Asenkron Devam Et —
continueAsync - ✏️ Mesajı Değiştir —
modifyMessage - ⬅️ Ön Ek Ekle —
addPrefix - ➡️ Son Ek Ekle —
addSuffix - 🔄 Bul ve Değiştir —
findReplace - ✂️ Metni Kaldır —
removeText - 🎨 Özellik Ayarla —
setProperty - 🌟 Mesajı Öne Çıkar —
featureMessage - Mesajı Sabitle —
pinMessage - 💬 Mesaj Gönder —
sendMessage - 📢 Sohbeti Aktar —
relay - 🪞 Yansıma Filtresi —
reflectionFilter
Eylemler: 🔌 Entegrasyonlar (6)
- Özel Kod Çalıştır —
customJs - 🖨️ Termal Etiket Yazdır —
printThermal - 🌐 Webhook Çağır —
webhook - ⬆️ Puan Ekle —
addPoints - ⬇️ Puan Harca —
spendPoints - 🎁 Çekiliş / Biletler —
giveawayControl
Eylemler: 🎨 Medya ve Efektler (7)
- 🖼️ Medya Katmanını Göster —
playTenorGiphy - 👤 Avatarı Göster —
showAvatar - 🛍 Ürünler ve Destek —
commerceControl - 📝 Metin Göster —
showText - 🗑️ Katmanı Temizle —
clearLayer - 🔊 Ses Klibi Oynat —
playAudioClip - ⏱️ Gecikme —
delay
Eylemler: 🎬 OBS Studio (14)
- 🎬 Sahneyi Değiştir —
obsChangeScene - 👁️ Kaynağı Aç/Kapat —
obsToggleSource - 📝 Metin Kaynağını Ayarla —
obsSetText - ⏯️ Medya Kaynağını Kontrol Et —
obsMediaControl - 🔊 Kaynak Ses Düzeyini Ayarla —
obsSetVolume - 🔄 Tarayıcı Kaynağını Yenile —
obsRefreshBrowser - 🎨 Filtreyi Aç/Kapat —
obsSetSourceFilter - 🔇 Sesi Kapat/Aç —
obsMuteSource - 🔴 Kaydı Başlat —
obsStartRecording - ⏹️ Kaydı Durdur —
obsStopRecording - 📡 Yayını Başlat —
obsStartStreaming - ⏹️ Yayını Durdur —
obsStopStreaming - ⏺️ Yeniden Oynatma Arabelleğini Kontrol Et —
obsReplayBufferControl - 💾 Yeniden Oynatma Arabelleğini Kaydet —
obsReplayBuffer
Eylemler: 🎵 Spotify (10)
- ⏭️ Parçayı Atla —
spotifySkip - ⏮️ Önceki Parça —
spotifyPrevious - ⏸️ Duraklat —
spotifyPause - ▶️ Sürdür —
spotifyResume - ⏯️ Oynat/Duraklat Geçişi —
spotifyToggle - 🔊 Ses Düzeyini Ayarla —
spotifyVolume - 📋 Kuyruğa Ekle —
spotifyQueue - 🎵 Şimdi Çalanı Duyur —
spotifyNowPlaying - 🔀 Karışık Çalmayı Aç/Kapat —
spotifyShuffle - 🔁 Tekrar Modunu Ayarla —
spotifyRepeat
Eylemler: 🔊 Metinden Konuşma (5)
- 🗣️ Metni Seslendir —
ttsSpeak - 🔇 TTS'yi Aç/Kapat —
ttsToggle - ⏭️ TTS'yi Atla —
ttsSkip - 🗑️ TTS Kuyruğunu Temizle —
ttsClear - 🔊 TTS Ses Düzeyini Ayarla —
ttsVolume
Eylemler: 🎹 MIDI (2)
- 🎹 Nota Gönder —
midiSendNote - 🎛️ Kontrol Değişimi Gönder —
midiSendCC
Eylemler: 🧠 Kullanıcı Belleği (4)
- 🧠 Kullanıcıyı Hatırla —
rememberUser - 👋 Kullanıcıyı Unut —
forgetUser - 🧹 Tüm Kullanıcıları Temizle —
clearUserMemory - 🎟️ Rastgele Kullanıcı Seç —
pickRandomUser
Eylemler: 🔧 Durum Kontrolü (5)
- 🚦 Kapı Durumunu Ayarla —
setGateState - 🔄 Durum Düğümünü Sıfırla —
resetStateNode - 🔢 Sayaç Değerini Ayarla —
setCounter - ➕ Sayacı Artır —
incrementCounter - Sayacı Kontrol Et —
checkCounter
Mantık ve durum düğümleri
- 🔀 VE Kapısı —
AND - 🔄 VEYA Kapısı —
OR - 🚫 DEĞİL Kapısı —
NOT - 🎲 RASTGELE Kapısı —
RANDOM - 🚫 Kötü Kelimeleri Kontrol Et —
CHECK_BAD_WORDS - 🚦 Aç/Kapat Anahtarı —
GATE - 🔢 Sayaç —
COUNTER - ⏲️ Hız Sınırlayıcı —
THROTTLE - 🧠 Kullanıcı Belleği —
USER_MEMORY
Mesaj filtreleri, izleyici puanları ve hatırlanan kullanıcı eylemleri anlamlı mesaj/kullanıcı verisi gerektirir. Yayıncı düğmesi ne gerçek izleyici ne de kaynak yanıt hedefi sağlar. Yayıncı kontrollerini veya açıkça yapılandırılmış hedefi seçin; izleyici gibi davranmak için adlandırılmış iş akışı kullanmayın.
Ayrıntılı bağlantı için şuna bakın: Etkinlik Akışı kılavuzu, durum düğümleri kılavuzu, kullanıcı belleği kılavuzu, ve OBS kılavuzu.
Bir hatayı çözme
- Önce basit bir Metin Göster akışı kullanın ve çıktısını doğrulayın.
- Kaydedip etkinleştirin; Stream Deck iş akışı listesini yenileyin. Hem tetikleyici adını hem akış kimliğini doğrulayın.
- SSN'nin etkin olduğunu, bağlantının Çevrimiçi olduğunu ve hedef katmanın aynı oturuma bağlı olduğunu doğrulayın.
- Arama/doğrulama hataları için API geri çağrısını veya eklenti tanılama bilgilerini kontrol edin. Kabulden sonraki hatalar için hedefi ve Etkinlik Akışı çalışma zamanı günlüklerini inceleyin.
- Diğer entegrasyonları teker teker ekleyin. Canlı kullanmadan önce tekrarlanan basışları, devre dışı akışı ve yeniden bağlantıyı test edin.
Düzenleyicinin normal sohbet test paneli sohbet etkinliği gönderir. Adlandırılmış API tetikleyicisi gibi davranmaz. Tüm yolu doğrulamak için bu tetikleyiciyi Stream Deck veya API üzerinden test edin.