Libraries

s&box libraries list

TikTok Live

minima.tiktoklive

A simple library that allows you to develop experiences that integrate with TikTok Live

About

TikTok Live

Simple library that allows you to subscribe to various TikTok Live events via a EulerStream web socket connection.
Have requests, questions, or concerns?

To Get Started:

  1. Add the TikTokLiveConnector component to your game
  2. Set the ttl_uri ConVar to a EulerStream WebSocket URI
    • It should roughly look like wss://ws.eulerstream.com?uniqueId=tv_asahi_news&apiKey=API_KEY_HERE
    • Run the Game

    Example Component:

    using Minima.TikTokLive;
    
    public class TikTokExample: Component, ITikTokLiveEvents {
    	void ITikTokLiveEvents.OnChat( WebcastChatMessage msg ) {
    		if ( msg.User is not {} user )
    			return;
    		
    		Log.Info($"[{user.Nickname}]: {msg.Comment}"  );
    	}
    	
    	void ITikTokLiveEvents.OnGift( WebcastGiftMessage msg ) {
    		if ( msg.User is not {} user || msg.GiftDetails is not {} giftDetails )
    			return;
    	
    		Log.Info($"[{user.Nickname}] sent a gift {giftDetails.GiftName} worth {giftDetails.DiamondCount} diamonds"  );
    	}
    	
    	void ITikTokLiveEvents.OnLike( WebcastLikeMessage msg ) {
    		if ( msg.User is not {} user )
    			return;
    		
    		Log.Info($"[{user.Nickname}] liked the stream {msg.LikeCount} times." );
    	}
    	
    	void ITikTokLiveEvents.OnSubNotify( WebcastSubNotifyMessage msg ) {
    		if ( msg.User is not {} user )
    			return;
    		
    		Log.Info($"[{user.Nickname}] subscribed to the stream." );
    	}
    	
    	void ITikTokLiveEvents.OnSocialMessage( WebcastSocialMessage msg ) {
    		if ( msg.User is not {} user )
    			return;
    		
    		if ( msg.MessageKind == WebcastSocialMessage.Kind.Follow )
    			Log.Info($"[{user.Nickname}] followed the stream." );
    		else if ( msg.MessageKind == WebcastSocialMessage.Kind.Share )
    			Log.Info($"[{user.Nickname}] shared the stream." );
    	}
    	
    	void ITikTokLiveEvents.OnMemberMessage( WebcastMemberMessage msg ) {
    		if ( msg.User is not {} user )
    			return;
    		
    		if ( msg.MessageKind == WebcastMemberMessage.Kind.Join )
    			Log.Info($"[{user.Nickname}] joined the stream." );
    	}
    }

    Media