❤️❤️? Stellen Sie eine Verbindung zu Tiktok Live in 3 Zeilen ? ❤️❤️
Eine Java -Bibliothek, inspiriert von Tiktoklive und Tiktoklivesharp. Verwenden Sie es, um Live -Stream -Events wie Kommentare und Geschenke in Echtzeit von Tiktok Live zu erhalten, indem Sie sich mit dem internen Webcast -Push -Service von Tiktok verbinden. Die Bibliothek enthält einen Wrapper, der mit dem Webcast -Dienst nur den Benutzernamen ( uniqueId ) verbindet. Auf diese Weise können Sie eine Verbindung zu Ihrem eigenen Live -Chat sowie zum Live -Chat anderer Streamer herstellen. Es sind keine Anmeldeinformationen erforderlich. Ereignisse wie Mitglieder, die sich anschließen, Geschenke, Abonnements, Zuschauer, folgt, teilen, Fragen, Likes und Schlachten können verfolgt werden.
Treten Sie der Support-Discord bei und besuchen Sie den #java-support -Kanal für Fragen, Beiträge und Ideen. Fühlen Sie sich frei, Pull -Anfragen mit fehlenden/neuen Funktionen, Korrekturen usw. zu stellen
Bevorzugen Sie andere Programmiersprachen?
Hinweis: Dies ist keine offizielle API. Es ist ein Reverse Engineering -Projekt.
Maven
< repositories >
< repository >
< id >jitpack.io</ id >
< url >https://jitpack.io</ url >
</ repository >
</ repositories >
< dependencies >
< dependency >
< groupId >com.github.jwdeveloper.TikTok-Live-Java</ groupId >
< artifactId >Client</ artifactId >
< version >1.8.13-Release</ version >
< scope >compile</ scope >
</ dependency >
</ dependencies >Gradle
dependencyResolutionManagement {
repositoriesMode . set( RepositoriesMode . FAIL_ON_PROJECT_REPOS )
repositories {
mavenCentral()
maven { url ' https://jitpack.io ' }
}
}
dependencies {
implementation ' com.github.jwdeveloper.TikTok-Live-Java:Client:1.8.13-Release '
} TikTokLive . newClient ( "bangbetmenygy" )
. onGift (( liveClient , event ) ->
{
String message = switch ( event . getGift ()) {
case ROSE -> "ROSE!" ;
case GG -> "GOOD GAME" ;
case TIKTOK -> "Ye" ;
case CORGI -> "Nice gift" ;
default -> "Thank you for " + event . getGift (). getName ();
};
System . out . println ( event . getUser (). getProfileName () + " sends " + message );
})
. onGiftCombo (( liveClient , event ) ->
{
System . out . println ( event . getComboState ()+ " " + event . getCombo () + " " + event . getGift (). getName ());
})
. onRoomInfo (( liveClient , event ) ->
{
var roomInfo = event . getRoomInfo ();
System . out . println ( "Room Id: " + roomInfo . getRoomId ());
System . out . println ( "Likes: " + roomInfo . getLikesCount ());
System . out . println ( "Viewers: " + roomInfo . getViewersCount ());
})
. onJoin (( liveClient , event ) ->
{
System . out . println ( event . getUser (). getProfileName () + "Hello on my stream! " );
})
. onConnected (( liveClient , event ) ->
{
System . out . println ( "Connected to live " );
})
. onError (( liveClient , event ) ->
{
System . out . println ( "Error! " + event . getException (). getMessage ());
})
. buildAndConnect (); TikTokLive . newClient ( "bangbetmenygy" )
. configure (( settings ) ->
{
settings . setHostName ( "bangbetmenygy" ); // This method is useful in case you want change hostname later
settings . setClientLanguage ( "en" ); // Language
settings . setTimeout ( Duration . ofSeconds ( 2 )); // Connection timeout
settings . setLogLevel ( Level . ALL ); // Log level
settings . setPrintToConsole ( true ); // Printing all logs to console even if log level is Level.OFF
settings . setRetryOnConnectionFailure ( true ); // Reconnecting if TikTok user is offline
settings . setRetryConnectionTimeout ( Duration . ofSeconds ( 1 )); // Timeout before next reconnection
//Optional: Sometimes not every message from chat are send to TikTokLiveJava to fix this issue you can set sessionId
// documentation how to obtain sessionId https://github.com/isaackogan/TikTok-Live-Connector#send-chat-messages
settings . setSessionId ( "86c3c8bf4b17ebb2d74bb7fa66fd0000" );
//Optional:
//RoomId can be used as an override if you're having issues with HostId.
//You can find it in the HTML for the livestream-page
settings . setRoomId ( "XXXXXXXXXXXXXXXXX" );
})
. buildAndConnect ();
// Kontrolle :
Nachricht :
Debugg :
TikTokLive . newClient ( "host-name" )
. onReconnecting (( liveClient , event ) ->
{
})
. buildAndConnect ();Allgemeiner Fehlerereignis. Sie sollten damit umgehen.
TikTokLive . newClient ( "host-name" )
. onError (( liveClient , event ) ->
{
})
. buildAndConnect ();Ausgelöst, wenn die Verbindung erfolgreich hergestellt wird.
TikTokLive . newClient ( "host-name" )
. onConnected (( liveClient , event ) ->
{
})
. buildAndConnect ();Ausgelöst, wenn die Verbindung nicht verbunden wird. In diesem Fall können Sie Connect () erneut aufrufen, um eine Wiederverbindungslogik zu haben. Beachten Sie, dass Sie ein wenig warten sollten, bevor Sie eine Wiederverbindung versuchen, um zu vermeiden, dass bewertet wird.
TikTokLive . newClient ( "host-name" )
. onDisconnected (( liveClient , event ) ->
{
})
. buildAndConnect ();Basisklasse für alle Ereignisse
TikTokLive . newClient ( "host-name" )
. onEvent (( liveClient , event ) ->
{
})
. buildAndConnect ();Basisklasse für alle Ereignisse
TikTokLive . newClient ( "host-name" )
. onEvent (( liveClient , event ) ->
{
})
. buildAndConnect ();Jedes Mal ausgelöst, wenn ein neuer Chat -Kommentar ankommt.
TikTokLive . newClient ( "host-name" )
. onComment (( liveClient , event ) ->
{
})
. buildAndConnect ();Ausgelöst, als LiveroomInfo aktualisiert wurde, z. B. Likes, Zuschauer, Ranking ....
TikTokLive . newClient ( "host-name" )
. onRoomInfo (( liveClient , event ) ->
{
})
. buildAndConnect ();Ausgelöst, wenn der Benutzer Geschenke sendet, die keine Kombination haben (die meisten teuren Geschenke) oder wenn die Kombination fertig ist
TikTokLive . newClient ( "host-name" )
. onGift (( liveClient , event ) ->
{
})
. buildAndConnect ();Trigger, wenn ein Benutzer ein Abonnement erstellt.
TikTokLive . newClient ( "host-name" )
. onSubscribe (( liveClient , event ) ->
{
})
. buildAndConnect ();Trigger, wenn ein Benutzer dem Streamer folgt. Basierend auf sozialem Ereignis.
TikTokLive . newClient ( "host-name" )
. onFollow (( liveClient , event ) ->
{
})
. buildAndConnect ();Jedes Mal ausgelöst, wenn das Geschenk gesendet wird
@see tiftsendype Es hat 3 Staaten
Beispiel Wenn der Benutzer Geschenk mit Combo sendet
> Combo: 1 -> combostate = GiftsendType.begin
Kombination: 4 -> Combostate = GiftsendType.Active
Kombination: 8 -> Combostate = GiftsendType.Active
Kombination: 12 -> Combostate = GiftsendType.finished
Denken Sie daran, ob Combostate sowohl TiktokgiftcomboEvent als auch TiktokgifeVvent -Ereignis ausgelöst wird
TikTokLive . newClient ( "host-name" )
. onGiftCombo (( liveClient , event ) ->
{
})
. buildAndConnect ();Ausgelöst, wenn der Live -Stream vom Host beendet wird. Wird auch das TiktokdisconnectedEvent -Ereignis auslösen.
TikTokLive . newClient ( "host-name" )
. onLiveEnded (( liveClient , event ) ->
{
})
. buildAndConnect ();Jedes Mal ausgelöst, wenn jemand eine neue Frage über die Fragenfunktion stellt.
TikTokLive . newClient ( "host-name" )
. onQuestion (( liveClient , event ) ->
{
})
. buildAndConnect ();Auslöst, wenn ein Benutzer den Stream teilt. Basierend auf sozialem Ereignis.
TikTokLive . newClient ( "host-name" )
. onShare (( liveClient , event ) ->
{
})
. buildAndConnect (); TikTokLive . newClient ( "host-name" )
. onLiveUnpaused (( liveClient , event ) ->
{
})
. buildAndConnect ();Jedes Mal ausgelöst, wenn ein Abonnent eine Emote sendet (Aufkleber).
TikTokLive . newClient ( "host-name" )
. onEmote (( liveClient , event ) ->
{
})
. buildAndConnect (); TikTokLive . newClient ( "host-name" )
. onJoin (( liveClient , event ) ->
{
})
. buildAndConnect ();Ausgelöst, wenn ein Betrachter Likes an den Streamer sendet. Für Streams mit vielen Zuschauern wird dieses Ereignis nicht immer von Tiktok ausgelöst.
TikTokLive . newClient ( "host-name" )
. onLike (( liveClient , event ) ->
{
})
. buildAndConnect (); TikTokLive . newClient ( "host-name" )
. onLivePaused (( liveClient , event ) ->
{
})
. buildAndConnect (); TikTokLive . newClient ( "host-name" )
. onWebsocketResponse (( liveClient , event ) ->
{
})
. buildAndConnect ();Jedes Mal ausgelöst, wenn eine protobuf codierte Webcast -Nachricht ankommt. Sie können das binäre Objekt je nach Anwendungsfall deserialisieren.
TikTokLive . newClient ( "host-name" )
. onWebsocketUnhandledMessage (( liveClient , event ) ->
{
})
. buildAndConnect (); TikTokLive . newClient ( "host-name" )
. onHttpResponse (( liveClient , event ) ->
{
})
. buildAndConnect ();Jedes Mal ausgelöst, wenn Tiktok Daten sendet. Daten, die als Protobuf -Nachricht einkommen. Sie können das binäre Objekt je nach Anwendungsfall deserialisieren.
TikTokLive . newClient ( "host-name" )
. onWebsocketMessage (( liveClient , event ) ->
{
})
. buildAndConnect ();Liste der Erweiterungen (Addons) zu Tiktoklivejava, die Ihre Zeit speichern
/**
*
* Listeners are an alternative way of handling events.
* I would to suggest to use then when logic of handing event
* is more complex
*
*/
public static void main ( String [] args ) throws IOException {
showLogo ();
CustomListener customListener = new CustomListener ();
TikTokLive . newClient ( SimpleExample . TIKTOK_HOSTNAME )
. addListener ( customListener )
. buildAndConnect ();
System . in . read ();
}
/**
*
* Method in TikTokEventListener should meet 4 requirements to be detected
* - must have @TikTokEventHandler annotation
* - must have 2 parameters
* - first parameter must be LiveClient
* - second must be class that extending TikTokEvent
*/
public static class CustomListener {
@ TikTokEventObserver
public void onLike ( LiveClient liveClient , TikTokLikeEvent event ) {
System . out . println ( event . toString ());
}
@ TikTokEventObserver
public void onError ( LiveClient liveClient , TikTokErrorEvent event ) {
// event.getException().printStackTrace();
}
@ TikTokEventObserver
public void onComment ( LiveClient liveClient , TikTokCommentEvent event ) {
var userName = event . getUser (). getName ();
var text = event . getText ();
liveClient . getLogger (). info ( userName + ": " + text );
}
@ TikTokEventObserver
public void onGift ( LiveClient liveClient , TikTokGiftEvent event ) {
var message = switch ( event . getGift ()) {
case ROSE -> "Thanks :)" ;
case APPETIZERS -> ":OO" ;
case APRIL -> ":D" ;
case TIKTOK -> ":P" ;
case CAP -> ":F" ;
default -> ":I" ;
};
liveClient . getLogger (). info ( message );
}
@ TikTokEventHandler
public void onAnyEvent ( LiveClient liveClient , TikTokEvent event ) {
liveClient . getLogger (). info ( event . getClass (). getSimpleName ());
}
}
// Bibliotheksdokumentation für Mitwirkende
Ihre Verbesserungen sind willkommen! Fühlen Sie sich frei, ein Problem zu öffnen oder eine Anfrage zu ziehen.