❤؟ الاتصال بـ Tiktok Live في 3 أسطر ؟ ❤
مكتبة جافا مستوحاة من Tiktoklive و Tiktoklivesharp. استخدمه لتلقي أحداث البث المباشر مثل التعليقات والهدايا في الوقت الحقيقي من Tiktok Live من خلال الاتصال بخدمة الدفع عبر البث عبر الإنترنت من Tiktok. تتضمن المكتبة غلافًا يتصل بخدمة البث الشبكي باستخدام اسم المستخدم فقط ( uniqueId ). يتيح لك ذلك الاتصال بالدردشة المباشرة الخاصة بك بالإضافة إلى الدردشة المباشرة من اللافتات الأخرى. لا توجد أوراق اعتماد مطلوبة. يمكن تتبع أحداث مثل انضمام الأعضاء والهدايا والاشتراكات والمشاهدين والأسهم والأسئلة والأحباء والمعارك.
انضم إلى Discord وزيارة قناة #java-support للأسئلة والمساهمات والأفكار. لا تتردد في تقديم طلبات سحب مع الميزات المفقودة/الجديدة ، وما إلى ذلك
هل تفضل لغات البرمجة الأخرى؟
ملاحظة: هذه ليست واجهة برمجة تطبيقات رسمية. إنه مشروع هندسي عكسي.
مافن
< 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 ();
// يتحكم :
رسالة :
تصحيح :
TikTokLive . newClient ( "host-name" )
. onReconnecting (( liveClient , event ) ->
{
})
. buildAndConnect ();حدث خطأ عام. يجب عليك التعامل مع هذا.
TikTokLive . newClient ( "host-name" )
. onError (( liveClient , event ) ->
{
})
. buildAndConnect ();نشأ عندما يتم إنشاء الاتصال بنجاح.
TikTokLive . newClient ( "host-name" )
. onConnected (( liveClient , event ) ->
{
})
. buildAndConnect ();نشأ عندما يتم فصل الاتصال. في هذه الحالة ، يمكنك استدعاء Connect () مرة أخرى للحصول على منطق إعادة الاتصال. لاحظ أنه يجب عليك الانتظار قليلاً قبل محاولة إعادة الاتصال لتجنب أن تكون محدودة في الأسعار.
TikTokLive . newClient ( "host-name" )
. onDisconnected (( liveClient , event ) ->
{
})
. buildAndConnect ();فئة قاعدة لجميع الأحداث
TikTokLive . newClient ( "host-name" )
. onEvent (( liveClient , event ) ->
{
})
. buildAndConnect ();فئة قاعدة لجميع الأحداث
TikTokLive . newClient ( "host-name" )
. onEvent (( liveClient , event ) ->
{
})
. buildAndConnect ();يتم تشغيله في كل مرة يصل تعليق الدردشة الجديدة.
TikTokLive . newClient ( "host-name" )
. onComment (( liveClient , event ) ->
{
})
. buildAndConnect ();يتم تشغيله عندما يتم تحديث الكبد المنحدر مثل الإعجابات والمشاهدين والترتيب ....
TikTokLive . newClient ( "host-name" )
. onRoomInfo (( liveClient , event ) ->
{
})
. buildAndConnect ();يتم تشغيله عندما يرسل المستخدم الهدايا التي لا تحتوي على مزيج (معظم الهدايا باهظة الثمن) أو في حالة انتهاء التحرير والسرد
TikTokLive . newClient ( "host-name" )
. onGift (( liveClient , event ) ->
{
})
. buildAndConnect ();يطلق عندما ينشئ المستخدم اشتراكًا.
TikTokLive . newClient ( "host-name" )
. onSubscribe (( liveClient , event ) ->
{
})
. buildAndConnect ();يطلق عندما يتبع المستخدم التيار. بناء على الحدث الاجتماعي.
TikTokLive . newClient ( "host-name" )
. onFollow (( liveClient , event ) ->
{
})
. buildAndConnect ();يتم تشغيله في كل مرة يتم فيها إرسال هدية
Seee GiftsendType لديها 3 ولايات
مثال عندما يرسل المستخدم هدية مع التحرير والسرد
> التحرير والسرد: 1 -> combostate = giftsendtype.begin
التحرير والسرد: 4 -> combostate = GiftsendType.Active
التحرير والسرد: 8 -> combostate = GiftsendType.Active
التحرير والسرد: 12 -> combostate = giftsendtype.finished
تذكر أنه إذا تم الانتهاء من Compostate ، يتم تشغيل كل من TiktokgiftComboevent و Tiktokgiftevent
TikTokLive . newClient ( "host-name" )
. onGiftCombo (( liveClient , event ) ->
{
})
. buildAndConnect ();نشأ عندما يتم إنهاء البث المباشر من قبل المضيف. سوف يؤدي أيضا إلى حدث tiktokdisconnectedevent.
TikTokLive . newClient ( "host-name" )
. onLiveEnded (( liveClient , event ) ->
{
})
. buildAndConnect ();يتم تشغيله في كل مرة يسأل شخص ما سؤالًا جديدًا عبر ميزة السؤال.
TikTokLive . newClient ( "host-name" )
. onQuestion (( liveClient , event ) ->
{
})
. buildAndConnect ();يدور عندما يشارك المستخدم الدفق. بناء على الحدث الاجتماعي.
TikTokLive . newClient ( "host-name" )
. onShare (( liveClient , event ) ->
{
})
. buildAndConnect (); TikTokLive . newClient ( "host-name" )
. onLiveUnpaused (( liveClient , event ) ->
{
})
. buildAndConnect ();يتم تشغيله في كل مرة يرسل فيها المشترك emote (ملصق).
TikTokLive . newClient ( "host-name" )
. onEmote (( liveClient , event ) ->
{
})
. buildAndConnect (); TikTokLive . newClient ( "host-name" )
. onJoin (( liveClient , event ) ->
{
})
. buildAndConnect ();يتم تشغيله عندما يرسل المشاهد إعجابات إلى اللافتات. بالنسبة للتيارات مع العديد من المشاهدين ، لا يتم تشغيل هذا الحدث دائمًا بواسطة Tiktok.
TikTokLive . newClient ( "host-name" )
. onLike (( liveClient , event ) ->
{
})
. buildAndConnect (); TikTokLive . newClient ( "host-name" )
. onLivePaused (( liveClient , event ) ->
{
})
. buildAndConnect (); TikTokLive . newClient ( "host-name" )
. onWebsocketResponse (( liveClient , event ) ->
{
})
. buildAndConnect ();يتم تشغيله في كل مرة وصلت رسالة البث الشبكي المشفرة لـ Protobuf. يمكنك إلغاء التخلص من الكائن الثنائي اعتمادًا على حالة الاستخدام.
TikTokLive . newClient ( "host-name" )
. onWebsocketUnhandledMessage (( liveClient , event ) ->
{
})
. buildAndConnect (); TikTokLive . newClient ( "host-name" )
. onHttpResponse (( liveClient , event ) ->
{
})
. buildAndConnect ();يتم تشغيله في كل مرة يرسل Tiktok البيانات. البيانات الواردة كرسالة protobuf. يمكنك إلغاء التخلص من الكائن الثنائي اعتمادًا على حالة الاستخدام.
TikTokLive . newClient ( "host-name" )
. onWebsocketMessage (( liveClient , event ) ->
{
})
. buildAndConnect ();قائمة الامتدادات (الإضافات) إلى tiktoklivejava التي ستوفر وقتك
/**
*
* 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 ());
}
}
// وثائق المكتبة للمساهمين
التحسينات الخاصة بك موضع ترحيب! لا تتردد في فتح مشكلة أو سحب.