Oyunlar ve ödüller oluşturun

Hediye, destek tutarı veya sohbet komutunu yayınınızdaki bir eyleme dönüştürün.

Evet, oyununuz TikTok hediyelerine tepki verebilir

Social Stream Ninja olayı yakalayıp sayfanıza gönderir. JavaScript kodunuz roketi hızlandırma, bahçe büyütme, düşman oluşturma veya ortak hedefi ilerletme eylemini seçer. Eylem ve eşiği oyun içinde belirlersiniz. SSN üzerinden platformun hediye fiyatlarını değiştiremezsiniz.

Buradan başlayın: üç şablonu deneyin; ardından kuralınızın ölçüsünü seçin: platform birimleri, hediye kimliği veya tahmini USD.

Ses, uyarı, OBS eylemi veya webhook için şununla başlayın: Etkinlik Akışı. Oyun alanı veya kendi oyun durumunuz için özel HTML sayfası kullanabilirsiniz. Hazır oyunlar için oyun galerisi.

Üç küçük, düzenlenebilir şablon

Önizlemelerde örnek düğmeleri ve son alınan veri inceleyicisi bulunur. Bunlar hayali olaylardır, satın alma değildir. Önizleme modu canlı oturumunuza katılmaz.

  • Jeton roketi: 10 TikTok jetonu, 100 Twitch Biti veya 100 Facebook Yıldızı bir itiş kazandırır. Kalanlar izleyici ve platform bazında ayrı birikir. Şunu değiştirin: COST alanını HTML içinde düzenleyerek tutarları belirleyin.
  • Ortak destek hedefi: dört platformun tahmini USD desteğini birleştirip Ay üssü kurun. Şunu değiştirin: GOAL_USD ya da ilerleme görünümünü hasar, yakıt veya zamanlayıcıyla değiştirin.
  • Hediye ve olay bahçesi: seçilen TikTok hediyesi çiçek, yakalanan TikTok takibi ağaç ekler; ücretsiz !water sohbet komutu su ekler. Şunu ayarlayın: GIFT_ID değerini yakalanan kimliğe ayarlayın veya şunu ayarlayın: GIFT_NAME değerini tam adına ayarlayın. “Demo flower” hayali bir örnektir.

HTML kaynağını açıp şunu arayın: EDIT THIS RULE veya EDIT THESE RULES. receive(data) işlevinde örnek eylemi oyun mantığınızla değiştirirsiniz. Bağlantı ve sayım yardımcıları şuradadır: starter.js; görsel stiller şuradadır: starter.css.

Şablonu yayınınıza bağlayın

  1. SSN’yi başlatıp sohbet kaynağınızı bağlayın. Sohbet ve hediye/destek satırlarının dock’a geldiğini doğrulayın. TikTok kurulumu için bağlantı modları.
  2. Şablonu şu parametre olmadan açın: ?demo. SSN oturum kimliğinizi ve varsa oturum parolasını ekleyin.
  3. Sayfayı tarayıcıda kontrol edin, ardından aynı URL’yi OBS Tarayıcı Kaynağına ekleyin; örneğin 1000 × 800 boyutunda. Şunu ekleyin: &clean ile veri inceleyicisini, bağlantı durumunu ve yönetim düğmelerini gizleyin.
https://socialstream.ninja/games/templates/coin-rocket.html?session=YOUR_SESSION&password=YOUR_PASSWORD&clean

Beta sitesinde şu yolu koruyun: /beta/ şunun önünde: games/. Parola yoksa parola parametresini çıkarın. Oturum bağlantılarınızı gizli tutun.

Varsayılan bağlantı SSN katmanlarıyla aynı iframe köprüsünü kullanır. Barındırılan WebSocket yakalanmış sohbet yolunu kullanmak için SSN’de şu ayarı açın: Uzantıdan Panele sunucu üzerinden mesaj gönder ayarını açıp şunu ekleyin: &server2. Bkz. WebSocket rehberi yerel kurulum içindir; şablonlar şunu da kabul eder: &server2&localserver ve &localserverport=3000. localserver tek başına yolu etkinleştirmez. Eski server akışı başka kanal kullanır ve oraya yayın yapan bir dock gerektirebilir.

Kendi kopyanızı oluşturun

Beta kaynak ZIP dosyasını indirin ve arşivi çıkarın. Şu klasördeki dosyaları düzenleyin: games/templates/; klasör yapısını koruyun. Şablonlar ayrıca şunu yükler: js/local-server-url.js, dosyasını, destek hedefi ise şunu yükler: currency.js depo kökünden yüklenir.

Çıkarılan klasörü yerel web sunucusuyla sunun. Python kuruluysa bu klasörden çalıştırın:

python -m http.server 8080 --bind 127.0.0.1

Ardından şunu kullanın: http://127.0.0.1:8080/games/templates/coin-rocket.html?session=YOUR_SESSION adresini tarayıcıda veya OBS’de açın. Başka yerde barındırırken aynı göreli yolları koruyun. Derleme gerekmez.

Bir eylem için jeton sayısını nasıl seçerim?

Sayıyı seçmeden önce neyi ölçmek istediğinize karar verin:

KuralOkuyun:Örnek
Platform birimleriTikTok meta.coinsPerGift × meta.tiktokGiftCount varsa bu alanı veya açıkça verilen hasDonation etiketiyle, örneğin 10 coins, 100 bits, veya 100 Stars.Her 10 jeton bir itiş kazandırır.
Belirli bir hediyeTikTok meta.giftId veya meta.giftName, ve adedi.Her eşleşen hediye, tahmini USD değerinden bağımsız olarak bir çiçek ekler.
Karşılaştırılabilir destek değerigetDonationValueUSD(data) şuradan: currency.js.Tahmini her 1 USD, 10 yakıt ekler; 25 USD hedefi tamamlar.
Ücretsiz veya üyelik eylemiKaynağın gerçek event, veya bir sohbet komutu.Takip bir ağaç büyütür; yeni abonelik animasyon oynatır.

Tutarın anlamını belirleyin: tam eşleşme (coins === 10), bir olay başına minimum (coins >= 10), veya bir biriken bakiye. Roket biriken bakiye kullanır: 25 jeton iki itiş kazandırır, beş jeton kalır. Yalnızca tam 10 kuralı 25 jetonu yok sayar. Olay başına birkaç eylemden biri seçilecekse en yüksek eşiği önce kontrol edin; böylece tüm alt seviyeler de tetiklenmez.

TikTok’ta izleyiciler Jeton alıp Hediyelere harcar; jeton bedeli hediyede görünür. Kendi LIVE yayınınızdaki hediyeleri seçin ve kuralı yayımlamadan önce veriyi inceleyin. Hediye adı, hediye adedi, Jeton ve Elmas farklı ölçülerdir. USD tahminini bölerek “kesin jeton” hesaplamayın veya elmas adedini jeton saymayın. TikTok’un Jeton ve Hediye açıklaması.

Yakalama yalnızca hediye adı/adedi veya elmas etiketi sağlıyorsa, açık jeton meta verisi yokken jeton şablonu olayı atlar. Hediye kimliği kuralını veya tahmini USD şablonunu kullanın. Jeton verisi SSN hediye eşlemesinden de gelebilir; kesin fiyat önemliyse güncel LIVE hediye menüsüyle karşılaştırın. Katalog ve yakalama yöntemleri değişir; her TikTok mesajında garanti edilen evrensel bir jeton alanı yoktur.

Her platform ne gönderir?

type kaynağı tanımlar; event varsa eylemi tanımlar. Kullanılabilirlik yakalama modu, ayarlar ve platformun sunduğu verilere bağlıdır. Örnekler SSN’nin mevcut kod yollarını anlatır; her hesapta tüm olayları garanti etmez.

PlatformDestek ve olay verileriAyrı değerlendirin
TikToktype: "tiktok", event: "gift". Bağış yakalama şu alanı sağlayabilir: hasDonation ve donoValue. Meta veriler kimlik, ad, adet, hediye başına jeton/elmas ve seri kimliği içerebilir.Jetonlarla Hediye alınır; Elmaslar üretici ödülleridir. SSApp WebSocket yakalaması seriyi tamamlayıp iletir; tarayıcı yakalaması birikimli güncellemeler gönderebilir. TikTok bağış yakalamasını kapatmak, hediyeleri parasal alanlar olmadan bırakabilir.
TwitchCheer işlemleri Bit kullanır, örneğin hasDonation: "100 bits". API yakalama şu alanı kullanabilir: event: "cheer" ve donoValue: 1; görüntülenen sohbetin yakalanmasında olay işareti bulunmayabilir.Abonelikler, hediye abonelikler, baskınlar ve Kanal Puanları ayrı eylemlerdir. Normal mesajdaki abone rozeti yeni abonelik değildir. Doğrudan Cheer ile Twitch Uzantılarında kullanılan Bitler farklı entegrasyonlardır.
FacebookGörünür Live Chat Yıldız satırları örneğin şunu sağlar: hasDonation: "100 Stars" ve donoValue: 1, etiketiyle; şu alan olmadan: event işaretini.Yorum API’si sohbet metninden Yıldız çıkarımı yapmaz. DOM yakalaması görünür bir Yıldız satırı gerektirir; sıradan yorumlar ve tepkiler ücretli tutar kanıtı değildir.
YouTubesuperchat ve supersticker orijinal para birimi tutarını şu alanda taşır: hasDonation. Hediyeler şu alanı kullanır: jeweldonation şununla: N Jewels, veya 1 YouTube Gift tutar gizliyken.İzleyiciler Jewel ile Hediye alır; üreticiler Ruby kazanır. Üyelik ve hediye üyelikler ayrı olaylardır, Jewel değildir. Super Thanks ayrı bir üründür ve canlı sohbette bağış olayı garantisi vermez.

Platform kaynakları: TikTok Elmasları; Twitch Bitleri ve abonelikleri; Meta’nın Yıldızlar açıklaması; YouTube Super Chat ve Super Stickers; YouTube Jewels, Gifts ve Rubies. Terimler 29 Eylül 2026 tarihinde doğrulandı; koşullar ve kullanılabilirlik için platformların güncel sayfalarına bakın.

Diğer kaynaklar da bahşiş, hediye, üyelik veya satın alma bildirebilir. Şunu inceleyin: etkinlik başvuru kaynağı verisini inceleyip şablonun şu filtresine ekleyin: isSupport . Ürün satışı veya hediye abonelik otomatik olarak bahşiş değildir. Örneğin YouTube hediye satın alımı ile alıcının kullanma bildirimini ayırır; ikisini de saymak aynı hediyeyi iki kez ödüllendirir.

donoValue ve currency.js dosyasını doğru kullanın

hasDonation orijinal gösterim etiketidir, örneğin €5.00 veya 100 bits. donoValue kaynağın sağladığı isteğe bağlı sayısal USD tutarıdır. Etiketten tahmin etmeden önce sıfır dahil geçerli kaynak değerini kullanın. Orijinal etiketi gösterim için koruyun.

<script src="../../currency.js"></script>
<script>
// From games/templates/: use the existing helper, including its zero handling.
var usd = getDonationValueUSD(data);
// Use usd for your rule; display data.hasDonation for the original amount/unit.
</script>

Mevcut dönüşüm davranışı: SSN şu anda bir TikTok jetonunu 0,01 USD, elmasını 0,005 USD, Twitch Bitini veya Facebook Yıldızını 0,01 USD ve YouTube Jewel birimini 0,005 USD tahmin eder. Fiyatı bilinmeyen TikTok hediyesi başına bir jeton kullanılır; Jewel adedi bulunmayan YouTube hediyesi için ayrı bir 0,01 USD geçici tahmini vardır. Para birimleri de canlı kur hizmeti yerine dahili yaklaşık oranlarla çevrilir.

Bunlar SSN karşılaştırma değerleridir; izleyici harcaması, üreticinin net geliri veya çekilebilir bakiye için ortak bir tanım değildir. Farklı yakalama yöntemleri farklı tahmin üretebilir. Özellikle bilinmeyen TikTok hediyesinin bir jeton varsayılması, gerçek bedelinin bir jeton olduğunu kanıtlamaz.

Şunu kullanmayın: donoValue || convertToUSD(...): bu, bilerek verilen sıfırı yok sayar. Ödemeyi algılamak için şuradan rakam çıkarmayın: chatmessage alanını kullanmayın veya şunu zorunlu tutmayın: event === "donation": Facebook Yıldızları ve bazı Cheer olaylarında olay işareti yoktur. Destek hedefi şablonu önce destek türlerini seçer, sonra ortak dönüştürücüyü çağırır.

Kaynak: currency.js ve veri başvurusu. Hediye meta verileri isteğe bağlıdır; örnekler yakalamada bulunmayan alanları uydurmaz.

Hediye serisini bir kez sayın

TikTok aynı seri için birikimli 1, 2, 3 sayılarını bildirebilir. Bu altı değil üç hediyedir. Toplanan eylemlerde görülen en büyük adet veya tutarı saklayıp sadece artışı uygulayın. Aynı toplamı taşıyan tamamlanma güncellemesi hiçbir şey eklemez.

// All three events refer to the same streak:
// incoming total: 1, 2, 3, 3
// added to game:  1, 1, 1, 0
var newCoins = RewardStarter.increment(data, RewardStarter.coins(data), 'coins');

Yardımcı işlev varsa yerel TikTok grup/gönderen/hediye kimliklerini, ardından şunu kullanır: meta.tiktokGiftStreakId veya mesaj kimlikleri. Sıradan mesaj kimlikleri de tekrarlanan teslimatı engeller. Şunu beklemez: repeatEnd çünkü tarayıcı yakalaması bu alanı hiç sağlamayabilir. Seri bittikten sonra tek eylem gerekiyorsa bağlantının gerçekten gönderdiği alanlarla ayrı tamamlanma kuralı yazılmalıdır.

Öğrenme şablonları bellekte en fazla 2.000 kimlik tutar. Sıfırlama veya yenileme bu belleği ve ilerlemeyi siler. Sabit kimliksiz mesajlar güvenilir biçimde ayıklanamaz; aynı kanalın ikinci yakalaması farklı kimlikler kullanabilir. Tek yakalama yoluyla başlayın. Roket bakiyeleri platform ve kullanıcı kimliğine göre, kimlik yoksa görünen ada göre gruplar; aynı adlı kişiler bakiye paylaşabilir. Kalıcı oyun için ücretli ödüllerin yeniden başlatmadan sonra korunmasına güvenmeden önce durum kaydı ve yeniden oynatma yönetimi ekleyin.

Özel oyun olmadan ödüller

Şurada: Etkinlik Akışı, şunu kullanın: Özelliği Karşılaştır şununla: donoValue, büyük veya eşit, ve USD eşiğini seçin; ardından ses, animasyon veya OBS kontrolü bağlayın. Karşılaştırma geçerli kaynak değerine öncelik verir, gerektiğinde mevcut para birimi dönüşümünü kullanır.

Belirli bir TikTok hediyesi için şunu karşılaştırın: meta.giftId veya meta.giftName, alanını karşılaştırın ve akışı TikTok hediye olaylarıyla sınırlayın. Şu alanların sayısal karşılaştırmaları: hasDonation da USD olarak çözülür; ham jeton karşılaştırması değildir. Jetona özel kurallar için yerel meta veri veya özel kod kullanın.

Her mesaja uygulanan eşik, biriken bakiyeden veya seri sayacından farklıdır. Event Flow eşiğinin şablondaki biriktirme ve tekrar eleme işlemlerini otomatik yaptığını varsaymayın. Şunları kullanın: durum düğümleri ile durumu saklayın veya mantığı oyununuzda tutun.

Ücretli eylem bağlamadan önce deneyin

  1. Örnek düğmelerini kullanın. 1 → 2 → 3 serisi üç hediyelik değer eklemeli; açık sıfır örneği USD eklememeli; bilinmeyen fiyat kesin jeton eklememelidir.
  2. Gerçek kaynağı bağlayıp yakalanan veriyi inceleyin. Hediye adı/kimliği, tutar/birim, adet ve beklenen olayı doğrulayın. Örnek, kuralı doğrular; canlı platform yakalamasını değil.
  3. OBS sahnesinde tekrarlanan olayları, yeniden bağlantıyı ve yenilemeyi deneyin. Bellekteki ilerlemeyi korumak önemliyse Tarayıcı Kaynağını kapatmayın veya yenilemeyin.

Gözetimsiz veya AFK oyun için SSN, kaynak yakalama ve oyun sayfası çalışmaya devam etmelidir. Uyku modu, süresi dolmuş giriş veya kopan bağlantı eylemleri keser; şablonlar kaçırılan olayları tamamlamaz ve iadeleri işlemez. Otomatik tepkiler gözetimsiz yayından gelir elde etme izni vermez: biçiminize uygun güncel LIVE ve para kazanma kurallarını kontrol edin.

Veri gelmiyorsa önce SSN dock, sonra oturum/parola ve aktarım ayarını kontrol edin. Sohbet geliyor ama hediye eşleşmiyorsa veriyi ve bağış/olay filtrelerini inceleyin. Takip ve abonelik olayları kaynağa göre değişir; bkz. etkinlik başvuru kaynağı. Bağlantı ayrıntıları için özel katmanlar.