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

Package

Revision

Tags

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
  3. 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." );
	}
}