? เชื่อมต่อกับ Tiktok Live ใน 3 บรรทัด ❤
ห้องสมุด Java ที่ได้รับแรงบันดาลใจจาก Tiktoklive และ Tiktoklivesharp ใช้เพื่อรับกิจกรรมสตรีมสดเช่นความคิดเห็นและของขวัญแบบเรียลไทม์จาก Tiktok Live โดยการเชื่อมต่อกับบริการพุชเว็บคาสต์ภายในของ Tiktok ไลบรารีมีเสื้อคลุมที่เชื่อมต่อกับบริการเว็บคาสต์โดยใช้ชื่อผู้ใช้ ( uniqueId ) สิ่งนี้ช่วยให้คุณสามารถเชื่อมต่อกับแชทสดของคุณเองรวมถึงการแชทสดของสตรีมอื่น ๆ ไม่จำเป็นต้องมีข้อมูลรับรอง เหตุการณ์ต่าง ๆ เช่นสมาชิกที่เข้าร่วมของขวัญการสมัครสมาชิกผู้ชมติดตามการแบ่งปันคำถามการไลค์และการต่อสู้สามารถติดตามได้
เข้าร่วมการสนับสนุน Discord และเยี่ยมชม #java-support Channel สำหรับคำถามการมีส่วนร่วมและแนวคิด อย่าลังเลที่จะส่งคำขอดึงด้วยคุณสมบัติที่ขาดหายไป/ใหม่การแก้ไข ฯลฯ
คุณชอบภาษาการเขียนโปรแกรมอื่น ๆ หรือไม่?
หมายเหตุ: นี่ไม่ใช่ API อย่างเป็นทางการ เป็นโครงการวิศวกรรมย้อนกลับ
หนอง
< 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 >ผู้สำเร็จการศึกษา
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 ();ทริกเกอร์เมื่อการเชื่อมต่อถูกตัดการเชื่อมต่อ ในกรณีนั้นคุณสามารถโทรเชื่อมต่อ () อีกครั้งเพื่อให้มีตรรกะการเชื่อมต่อใหม่ โปรดทราบว่าคุณควรรอสักหน่อยก่อนที่จะพยายามเชื่อมต่อเพื่อหลีกเลี่ยงการ จำกัด อัตรา
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 ();ทริกเกอร์เมื่อ Liveroominfo ได้รับการอัปเดตเช่นชอบผู้ชมการจัดอันดับ ....
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 ();ส่งของขวัญทุกครั้งที่ส่งของขวัญ
@See GiftSendType มี 3 รัฐ
ตัวอย่างเมื่อผู้ใช้ส่งของขวัญด้วยคอมโบ
> คอมโบ: 1 -> combostate = giftsendtype.begin
คอมโบ: 4 -> combostate = giftsendtype.active
คอมโบ: 8 -> combostate = giftsendtype.active
คอมโบ: 12 -> combostate = giftsendtype.finished
โปรดจำไว้ว่าถ้า Combostate เสร็จสิ้นทั้ง Tiktokgiftcomboevent และ TiktokGiftEvent Event จะถูกกระตุ้น
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 มาถึง คุณสามารถ deserialize วัตถุไบนารีขึ้นอยู่กับกรณีการใช้งาน
TikTokLive . newClient ( "host-name" )
. onWebsocketUnhandledMessage (( liveClient , event ) ->
{
})
. buildAndConnect (); TikTokLive . newClient ( "host-name" )
. onHttpResponse (( liveClient , event ) ->
{
})
. buildAndConnect ();ทริกเกอร์ทุกครั้งที่ Tiktok ส่งข้อมูล ข้อมูลขาเข้าเป็นข้อความ protobuf คุณสามารถ deserialize วัตถุไบนารีขึ้นอยู่กับกรณีการใช้งาน
TikTokLive . newClient ( "host-name" )
. onWebsocketMessage (( liveClient , event ) ->
{
})
. buildAndConnect ();รายการส่วนขยาย (addons) ถึง 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 ());
}
}
// เอกสารประกอบห้องสมุดสำหรับผู้มีส่วนร่วม
ยินดีต้อนรับการปรับปรุงของคุณ! อย่าลังเลที่จะเปิดปัญหาหรือดึงคำขอ