mirror of
https://github.com/jwdeveloper/TikTokLiveJava.git
synced 2026-02-27 16:59:39 -05:00
Updated HTTP response code messages
General optimization of classes and removal of no longer needed classes Removed unused imports
This commit is contained in:
@@ -1,43 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2023-2023 jwdeveloper jacekwoln@gmail.com
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining
|
||||
* a copy of this software and associated documentation files (the
|
||||
* "Software"), to deal in the Software without restriction, including
|
||||
* without limitation the rights to use, copy, modify, merge, publish,
|
||||
* distribute, sublicense, and/or sell copies of the Software, and to
|
||||
* permit persons to whom the Software is furnished to do so, subject to
|
||||
* the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be
|
||||
* included in all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
||||
* LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
||||
* OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
||||
* WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
*/
|
||||
package io.github.jwdeveloper.tiktok.data.events;
|
||||
|
||||
import io.github.jwdeveloper.tiktok.annotations.EventMeta;
|
||||
import io.github.jwdeveloper.tiktok.annotations.EventType;
|
||||
import io.github.jwdeveloper.tiktok.data.events.common.TikTokHeaderEvent;
|
||||
|
||||
import io.github.jwdeveloper.tiktok.data.models.users.User;
|
||||
import lombok.Data;
|
||||
|
||||
|
||||
@Data
|
||||
@EventMeta(eventType = EventType.Message)
|
||||
public class CustomEvent extends TikTokHeaderEvent {
|
||||
private final User user;
|
||||
private final String title;
|
||||
|
||||
public CustomEvent(User user, String title) {
|
||||
this.user = user;
|
||||
this.title = title;
|
||||
}
|
||||
}
|
||||
@@ -38,8 +38,7 @@ public class TikTokBarrageEvent extends TikTokHeaderEvent {
|
||||
private final Picture rightIcon;
|
||||
private final String eventName;
|
||||
private final int duration;
|
||||
|
||||
private BarrageParam barrageParam;
|
||||
private final BarrageParam barrageParam;
|
||||
|
||||
public TikTokBarrageEvent(WebcastBarrageMessage msg) {
|
||||
super(msg.getCommon());
|
||||
@@ -49,6 +48,5 @@ public class TikTokBarrageEvent extends TikTokHeaderEvent {
|
||||
rightIcon = Picture.map(msg.getRightIcon());
|
||||
duration = msg.getDuration();
|
||||
barrageParam = BarrageParam.map(msg);
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -38,9 +38,9 @@ public class TikTokCaptionEvent extends TikTokHeaderEvent {
|
||||
String text;
|
||||
|
||||
public TikTokCaptionEvent(WebcastCaptionMessage msg) {
|
||||
super(msg.getCommon());
|
||||
super(msg.getCommon());
|
||||
captionTimeStamp = msg.getTimeStamp();
|
||||
iSOLanguage = msg.getCaptionData().getLanguage();
|
||||
text = msg.getCaptionData().getText();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -40,7 +40,7 @@ import java.util.List;
|
||||
public class TikTokCommentEvent extends TikTokHeaderEvent {
|
||||
private final User user;
|
||||
private final String text;
|
||||
private final String getUserLanguage;
|
||||
private final String userLanguage;
|
||||
private final User mentionedUser;
|
||||
private final List<Picture> pictures;
|
||||
private final boolean visibleToSender;
|
||||
@@ -50,7 +50,7 @@ public class TikTokCommentEvent extends TikTokHeaderEvent {
|
||||
user = User.map(msg.getUser(), msg.getUserIdentity());
|
||||
text = msg.getContent();
|
||||
visibleToSender = msg.getVisibleToSender();
|
||||
getUserLanguage = msg.getContentLanguage();
|
||||
userLanguage = msg.getContentLanguage();
|
||||
mentionedUser = User.map(msg.getAtUser());
|
||||
pictures = msg.getEmotesListList().stream().map(e -> Picture.map(e.getEmote().getImage())).toList();
|
||||
}
|
||||
@@ -66,4 +66,4 @@ public class TikTokCommentEvent extends TikTokHeaderEvent {
|
||||
builder.setContent(message);
|
||||
return new TikTokCommentEvent(builder.build());
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -30,14 +30,10 @@ import lombok.Getter;
|
||||
@Getter
|
||||
@EventMeta(eventType = EventType.Message)
|
||||
public class TikTokDetectEvent extends TikTokHeaderEvent {
|
||||
String language;
|
||||
private final String language;
|
||||
|
||||
|
||||
public TikTokDetectEvent(WebcastMsgDetectMessage msg) {
|
||||
super(msg.getCommon());
|
||||
language = msg.getFromRegion();
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
public TikTokDetectEvent(WebcastMsgDetectMessage msg) {
|
||||
super(msg.getCommon());
|
||||
language = msg.getFromRegion();
|
||||
}
|
||||
}
|
||||
@@ -30,9 +30,11 @@ import lombok.Getter;
|
||||
* Triggered when the connection gets disconnected. In that case you can call connect() again to have a reconnect logic.
|
||||
* Note that you should wait a little bit before attempting a reconnect to to avoid being rate-limited.
|
||||
*/
|
||||
@Getter
|
||||
@EventMeta(eventType = EventType.Control)
|
||||
public class TikTokDisconnectedEvent extends TikTokLiveClientEvent {
|
||||
@Getter private final String reason;
|
||||
private final String reason;
|
||||
|
||||
public TikTokDisconnectedEvent(String reason) {
|
||||
this.reason = reason.isBlank() ? "None" : reason;
|
||||
}
|
||||
|
||||
@@ -36,9 +36,9 @@ import lombok.Value;
|
||||
@Value
|
||||
@EventMeta(eventType = EventType.Message)
|
||||
public class TikTokEnvelopeEvent extends TikTokHeaderEvent {
|
||||
User user;
|
||||
public TikTokEnvelopeEvent(WebcastEnvelopeMessage msg) {
|
||||
super(msg.getCommon());
|
||||
user = User.map(msg.getEnvelopeInfo());
|
||||
}
|
||||
}
|
||||
User user;
|
||||
public TikTokEnvelopeEvent(WebcastEnvelopeMessage msg) {
|
||||
super(msg.getCommon());
|
||||
user = User.map(msg.getEnvelopeInfo());
|
||||
}
|
||||
}
|
||||
@@ -31,10 +31,10 @@ import lombok.Getter;
|
||||
@Getter
|
||||
@EventMeta(eventType = EventType.Message)
|
||||
public class TikTokInRoomBannerEvent extends TikTokHeaderEvent {
|
||||
private final String json;
|
||||
private final String json;
|
||||
|
||||
public TikTokInRoomBannerEvent(WebcastInRoomBannerMessage msg) {
|
||||
super(msg.getHeader());
|
||||
json = msg.getJson();
|
||||
}
|
||||
}
|
||||
public TikTokInRoomBannerEvent(WebcastInRoomBannerMessage msg) {
|
||||
super(msg.getHeader());
|
||||
json = msg.getJson();
|
||||
}
|
||||
}
|
||||
@@ -22,22 +22,16 @@
|
||||
*/
|
||||
package io.github.jwdeveloper.tiktok.data.events;
|
||||
|
||||
import io.github.jwdeveloper.tiktok.annotations.EventMeta;
|
||||
import io.github.jwdeveloper.tiktok.annotations.EventType;
|
||||
import io.github.jwdeveloper.tiktok.annotations.*;
|
||||
import io.github.jwdeveloper.tiktok.data.events.common.TikTokHeaderEvent;
|
||||
import io.github.jwdeveloper.tiktok.data.models.users.User;
|
||||
import io.github.jwdeveloper.tiktok.messages.webcast.WebcastLinkMessage;
|
||||
import lombok.Getter;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Getter
|
||||
@EventMeta(eventType = EventType.Message)
|
||||
public class TikTokLinkEvent extends TikTokHeaderEvent {
|
||||
|
||||
|
||||
public TikTokLinkEvent(WebcastLinkMessage msg) {
|
||||
super(msg.getCommon());
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -33,11 +33,7 @@ import lombok.Getter;
|
||||
@EventMeta(eventType = EventType.Message)
|
||||
public class TikTokLinkLayerEvent extends TikTokHeaderEvent {
|
||||
|
||||
|
||||
public TikTokLinkLayerEvent(WebcastLinkLayerMessage msg) {
|
||||
super(msg.getCommon());
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
@@ -32,10 +32,8 @@ import lombok.Getter;
|
||||
@EventMeta(eventType = EventType.Message)
|
||||
public class TikTokLinkMicMethodEvent extends TikTokHeaderEvent {
|
||||
|
||||
public TikTokLinkMicMethodEvent(WebcastLinkMicMethod msg) {
|
||||
super(msg.getCommon());
|
||||
public TikTokLinkMicMethodEvent(WebcastLinkMicMethod msg) {
|
||||
super(msg.getCommon());
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -32,15 +32,14 @@ import lombok.Getter;
|
||||
@Getter
|
||||
@EventMeta(eventType = EventType.Message)
|
||||
public class TikTokRankTextEvent extends TikTokHeaderEvent {
|
||||
private final String eventType;
|
||||
private final String eventType;
|
||||
|
||||
private final String label;
|
||||
private final String label;
|
||||
|
||||
public TikTokRankTextEvent(WebcastRankTextMessage msg) {
|
||||
super(msg.getCommon());
|
||||
var text = Text.map(msg.getSelfGetBadgeMsg());
|
||||
label = text.getPattern();
|
||||
eventType = text.getKey();
|
||||
}
|
||||
|
||||
}
|
||||
public TikTokRankTextEvent(WebcastRankTextMessage msg) {
|
||||
super(msg.getCommon());
|
||||
var text = Text.map(msg.getSelfGetBadgeMsg());
|
||||
label = text.getPattern();
|
||||
eventType = text.getKey();
|
||||
}
|
||||
}
|
||||
@@ -33,13 +33,11 @@ import lombok.Getter;
|
||||
@EventMeta(eventType = EventType.Message)
|
||||
public class TikTokRankUpdateEvent extends TikTokHeaderEvent {
|
||||
|
||||
public TikTokRankUpdateEvent(WebcastHourlyRankMessage msg) {
|
||||
super(msg.getCommon());
|
||||
public TikTokRankUpdateEvent(WebcastHourlyRankMessage msg) {
|
||||
super(msg.getCommon());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public TikTokRankUpdateEvent(WebcastRankUpdateMessage msg) {
|
||||
super(msg.getCommon());
|
||||
}
|
||||
|
||||
}
|
||||
public TikTokRankUpdateEvent(WebcastRankUpdateMessage msg) {
|
||||
super(msg.getCommon());
|
||||
}
|
||||
}
|
||||
@@ -32,25 +32,24 @@ import lombok.Getter;
|
||||
@Getter
|
||||
@EventMeta(eventType = EventType.Message)
|
||||
public class TikTokShopEvent extends TikTokHeaderEvent {
|
||||
private final String title;
|
||||
private final String title;
|
||||
|
||||
private final String price;
|
||||
private final String price;
|
||||
|
||||
private final Picture picture;
|
||||
private final Picture picture;
|
||||
|
||||
private final String shopUrl;
|
||||
private final String shopUrl;
|
||||
|
||||
private final String shopName;
|
||||
private final String shopName;
|
||||
|
||||
//Not working
|
||||
public TikTokShopEvent(WebcastOecLiveShoppingMessage msg) {
|
||||
super(msg.getCommon());
|
||||
var data = msg.getShopData();
|
||||
title = data.getTitle();
|
||||
price = data.getPriceString();
|
||||
picture = new Picture(data.getImageUrl());
|
||||
shopUrl = data.getShopUrl();
|
||||
shopName = data.getShopName();
|
||||
}
|
||||
|
||||
}
|
||||
//Not working
|
||||
public TikTokShopEvent(WebcastOecLiveShoppingMessage msg) {
|
||||
super(msg.getCommon());
|
||||
var data = msg.getShopData();
|
||||
title = data.getTitle();
|
||||
price = data.getPriceString();
|
||||
picture = new Picture(data.getImageUrl());
|
||||
shopUrl = data.getShopUrl();
|
||||
shopName = data.getShopName();
|
||||
}
|
||||
}
|
||||
@@ -30,12 +30,13 @@ import lombok.*;
|
||||
/**
|
||||
* Triggered before the connection is established.
|
||||
*/
|
||||
@Getter
|
||||
@EventMeta(eventType = EventType.Control)
|
||||
public class TikTokPreConnectionEvent extends TikTokLiveClientEvent
|
||||
{
|
||||
@Getter private final LiveUserData.Response userData;
|
||||
@Getter private final LiveData.Response roomData;
|
||||
@Getter @Setter boolean cancelConnection = false;
|
||||
private final LiveUserData.Response userData;
|
||||
private final LiveData.Response roomData;
|
||||
@Setter boolean cancelConnection = false;
|
||||
|
||||
public TikTokPreConnectionEvent(LiveUserData.Response userData, LiveData.Response liveData) {
|
||||
this.userData = userData;
|
||||
|
||||
@@ -30,7 +30,7 @@ import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
|
||||
|
||||
/*
|
||||
/**
|
||||
Triggered when LiveRoomInfo got updated such as likes, viewers, ranking ....
|
||||
*/
|
||||
@Getter
|
||||
@@ -39,4 +39,4 @@ Triggered when LiveRoomInfo got updated such as likes, viewers, ranking ....
|
||||
public class TikTokRoomInfoEvent extends TikTokEvent
|
||||
{
|
||||
LiveRoomInfo roomInfo;
|
||||
}
|
||||
}
|
||||
@@ -33,15 +33,13 @@ import lombok.Getter;
|
||||
@EventMeta(eventType = EventType.Message)
|
||||
public class TikTokRoomPinEvent extends TikTokHeaderEvent
|
||||
{
|
||||
private final TikTokCommentEvent pinnedMessage;
|
||||
private final long timestamp;
|
||||
|
||||
private TikTokCommentEvent pinnedMessage;
|
||||
private long timestamp;
|
||||
|
||||
public TikTokRoomPinEvent(WebcastRoomPinMessage msg, TikTokCommentEvent commentEvent)
|
||||
{
|
||||
super(msg.getCommon());
|
||||
this.timestamp = msg.getTimestamp();
|
||||
this.pinnedMessage = commentEvent;
|
||||
}
|
||||
|
||||
}
|
||||
public TikTokRoomPinEvent(WebcastRoomPinMessage msg, TikTokCommentEvent commentEvent)
|
||||
{
|
||||
super(msg.getCommon());
|
||||
this.timestamp = msg.getTimestamp();
|
||||
this.pinnedMessage = commentEvent;
|
||||
}
|
||||
}
|
||||
@@ -24,10 +24,8 @@ package io.github.jwdeveloper.tiktok.data.events.social;
|
||||
|
||||
import io.github.jwdeveloper.tiktok.annotations.EventMeta;
|
||||
import io.github.jwdeveloper.tiktok.annotations.EventType;
|
||||
import io.github.jwdeveloper.tiktok.data.events.TikTokSubscribeEvent;
|
||||
import io.github.jwdeveloper.tiktok.data.events.common.TikTokHeaderEvent;
|
||||
import io.github.jwdeveloper.tiktok.data.models.users.User;
|
||||
import io.github.jwdeveloper.tiktok.messages.webcast.WebcastMemberMessage;
|
||||
import io.github.jwdeveloper.tiktok.messages.webcast.WebcastSocialMessage;
|
||||
import lombok.Value;
|
||||
|
||||
@@ -38,21 +36,21 @@ import lombok.Value;
|
||||
@EventMeta(eventType = EventType.Message)
|
||||
public class TikTokFollowEvent extends TikTokHeaderEvent
|
||||
{
|
||||
User user;
|
||||
int totalFollowers;
|
||||
User user;
|
||||
int totalFollowers;
|
||||
|
||||
public TikTokFollowEvent(WebcastSocialMessage msg) {
|
||||
super(msg.getCommon());
|
||||
user = User.map(msg.getUser());
|
||||
totalFollowers = msg.getFollowCount();
|
||||
}
|
||||
public TikTokFollowEvent(WebcastSocialMessage msg) {
|
||||
super(msg.getCommon());
|
||||
user = User.map(msg.getUser());
|
||||
totalFollowers = msg.getFollowCount();
|
||||
}
|
||||
|
||||
public static TikTokFollowEvent of(String userName)
|
||||
{
|
||||
return new TikTokFollowEvent(WebcastSocialMessage.newBuilder()
|
||||
.setUser(io.github.jwdeveloper.tiktok.messages.data.User.newBuilder()
|
||||
.setNickname(userName)
|
||||
.build())
|
||||
.build());
|
||||
.setUser(io.github.jwdeveloper.tiktok.messages.data.User.newBuilder()
|
||||
.setNickname(userName)
|
||||
.build())
|
||||
.build());
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -35,19 +35,18 @@ import lombok.Getter;
|
||||
@Getter
|
||||
@EventMeta(eventType = EventType.Message)
|
||||
public class TikTokShareEvent extends TikTokHeaderEvent {
|
||||
private final User user;
|
||||
private final int totalShares;
|
||||
private final User user;
|
||||
private final int totalShares;
|
||||
|
||||
public TikTokShareEvent(WebcastSocialMessage msg, Integer amount) {
|
||||
super(msg.getCommon());
|
||||
user = User.map(msg.getUser());
|
||||
this.totalShares = amount;
|
||||
}
|
||||
public TikTokShareEvent(WebcastSocialMessage msg, Integer amount) {
|
||||
super(msg.getCommon());
|
||||
user = User.map(msg.getUser());
|
||||
this.totalShares = amount;
|
||||
}
|
||||
|
||||
public TikTokShareEvent(WebcastSocialMessage msg) {
|
||||
super(msg.getCommon());
|
||||
user = User.map(msg.getUser());
|
||||
totalShares = 1;
|
||||
}
|
||||
|
||||
}
|
||||
public TikTokShareEvent(WebcastSocialMessage msg) {
|
||||
super(msg.getCommon());
|
||||
user = User.map(msg.getUser());
|
||||
totalShares = 1;
|
||||
}
|
||||
}
|
||||
@@ -1,37 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2023-2023 jwdeveloper jacekwoln@gmail.com
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining
|
||||
* a copy of this software and associated documentation files (the
|
||||
* "Software"), to deal in the Software without restriction, including
|
||||
* without limitation the rights to use, copy, modify, merge, publish,
|
||||
* distribute, sublicense, and/or sell copies of the Software, and to
|
||||
* permit persons to whom the Software is furnished to do so, subject to
|
||||
* the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be
|
||||
* included in all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
||||
* LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
||||
* OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
||||
* WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
*/
|
||||
package io.github.jwdeveloper.tiktok.data.models;
|
||||
|
||||
import lombok.Value;
|
||||
|
||||
@Value
|
||||
public class EnumValue
|
||||
{
|
||||
public int value;
|
||||
public String name;
|
||||
|
||||
public static EnumValue Map(Enum<?> _enum)
|
||||
{
|
||||
return new EnumValue(_enum.ordinal() ,_enum.name());
|
||||
}
|
||||
}
|
||||
@@ -22,7 +22,6 @@
|
||||
*/
|
||||
package io.github.jwdeveloper.tiktok.data.models.gifts;
|
||||
|
||||
//TODO it should be called GiftComboStateType
|
||||
public enum GiftComboStateType {
|
||||
Finished,
|
||||
Begin,
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -23,20 +23,12 @@
|
||||
package io.github.jwdeveloper.tiktok.data.requests;
|
||||
|
||||
import io.github.jwdeveloper.tiktok.data.models.gifts.Gift;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.Getter;
|
||||
import lombok.*;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class GiftsData
|
||||
{
|
||||
@Getter
|
||||
public final class Request
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
@Getter
|
||||
@AllArgsConstructor
|
||||
public static final class Response
|
||||
@@ -44,5 +36,4 @@ public class GiftsData
|
||||
private String json;
|
||||
private List<Gift> gifts;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
@@ -178,6 +178,4 @@ public class LiveClientSettings {
|
||||
headers.put("Accept-Language", "en-US,en; q=0.9");
|
||||
return headers;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -22,53 +22,52 @@
|
||||
*/
|
||||
package io.github.jwdeveloper.tiktok.listener;
|
||||
|
||||
import io.github.jwdeveloper.tiktok.live.LiveClient;
|
||||
|
||||
/**
|
||||
*
|
||||
* @see ListenersManager
|
||||
*
|
||||
* ListenersManager
|
||||
* <p>
|
||||
* TikTokEventListener is an alternative way of handing TikTok events.
|
||||
* <p>
|
||||
* {@code TikTokLive.newClient("someuser").addListener(listener);}
|
||||
* <p>
|
||||
* After registertion, all listeners are kept in Listener manager - {@link LiveClient#getListenersManager()}
|
||||
* <p>
|
||||
* Method in TikTokEventListener should meet requirements below to be detected
|
||||
* <p>- @TikTokEventObserver annotation
|
||||
* <p>- 2 parameters of (LiveClient, Class extending TikTokEvent)
|
||||
* <pre>
|
||||
* {@code
|
||||
* public static class CustomListener implements TikTokEventListener
|
||||
* {
|
||||
* @TikTokEventObserver
|
||||
* public void onError(LiveClient liveClient, TikTokErrorEvent event)
|
||||
* {
|
||||
* System.out.println(event.getException().getMessage());
|
||||
* }
|
||||
*
|
||||
* TikTokLive.newClient("someuser").addListener(listener)
|
||||
* @TikTokEventObserver
|
||||
* public void onCommentMessage(LiveClient liveClient, TikTokCommentEvent event)
|
||||
* {
|
||||
* System.out.println(event.getText());
|
||||
* }
|
||||
*
|
||||
* After registertion all listeners are kept in Listener manager
|
||||
* that could be obtained by client.getListenerManager();
|
||||
*
|
||||
* 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 implements TikTokEventListener
|
||||
* {
|
||||
* @TikTokEventHandler
|
||||
* public void onError(LiveClient liveClient, TikTokErrorEvent event)
|
||||
* {
|
||||
* System.out.println(event.getException().getMessage());
|
||||
* }
|
||||
*
|
||||
* @TikTokEventHandler
|
||||
* public void onCommentMessage(LiveClient liveClient, TikTokCommentEvent event)
|
||||
* {
|
||||
* System.out.println(event.getText());
|
||||
* }
|
||||
*
|
||||
* @TikTokEventHandler
|
||||
* public void onGiftMessage(LiveClient liveClient, TikTokGiftMessageEvent event)
|
||||
* {
|
||||
* System.out.println(event.getGift().getDescription());
|
||||
* }
|
||||
*
|
||||
* @TikTokEventHandler
|
||||
* public void onAnyEvent(LiveClient liveClient, TikTokEvent event)
|
||||
* {
|
||||
* System.out.println(event.getClass().getSimpleName());
|
||||
* }
|
||||
* }
|
||||
* @TikTokEventObserver
|
||||
* public void onGiftMessage(LiveClient liveClient, TikTokGiftMessageEvent event)
|
||||
* {
|
||||
* System.out.println(event.getGift().getDescription());
|
||||
* }
|
||||
*
|
||||
* @TikTokEventObserver
|
||||
* public void onAnyEvent(LiveClient liveClient, TikTokEvent event)
|
||||
* {
|
||||
* System.out.println(event.getClass().getSimpleName());
|
||||
* }
|
||||
* }
|
||||
* }
|
||||
* </pre>
|
||||
*/
|
||||
public interface TikTokEventListener
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user