TikTokLive client sevices customization

This commit is contained in:
jacek.wolniewicz
2024-07-01 21:57:07 +02:00
parent 87727070e9
commit 85d99ce4f1
6 changed files with 93 additions and 16 deletions

View File

@@ -0,0 +1,48 @@
package io.github.jwdeveloper.tiktok;
import io.github.jwdeveloper.tiktok.data.events.common.TikTokEvent;
import io.github.jwdeveloper.tiktok.data.events.gift.TikTokGiftEvent;
import io.github.jwdeveloper.tiktok.data.models.gifts.Gift;
import io.github.jwdeveloper.tiktok.live.GiftsManager;
import io.github.jwdeveloper.tiktok.live.LiveClient;
import java.util.List;
import java.util.Map;
import java.util.function.Predicate;
/**
* When the default implementation does not meet your needs,
* you can override it using `customize` method
*/
public class CusomizationExample {
public static void main(String[] args) {
var client = TikTokLive.newClient("john")
.configure(liveClientSettings ->
{
liveClientSettings.setFetchGifts(false);
liveClientSettings.setOffline(true);
})
.onError((liveClient, event) ->
{
event.getException().printStackTrace();
})
.customize(container ->
{
//overriding default implementation of GiftsManager, with own one
container.registerSingleton(TikTokLiveEventHandler.class, CustomEventsHandler.class);
}).build();
client.connect();
client.publishEvent(TikTokGiftEvent.of("rose", 1, 12));
client.publishEvent(TikTokGiftEvent.of("stone", 2, 12));
}
public static class CustomEventsHandler extends TikTokLiveEventHandler {
@Override
public void publish(LiveClient tikTokLiveClient, TikTokEvent tikTokEvent) {
System.out.println("Hello from custom events handler: " + tikTokEvent.getClass().getSimpleName());
}
}
}