Breaking changes:

'Gift': changed from class to enum, so now you can handle
incoming gifts in switch

`Events`
- new:
     onGiftComboFinished
- Removed:
      onGiftBrodcast
- Rename:
     onGiftMessage -> onGift
     onRoomPinMessage -> onRoomPin
     onRoomMessage -> onRoom
     onLinkMessage -> onLink
     onBarrageMessage -> onBarrage
     onPollMessage -> onPoll
     onShopMessage -> onShop
     onDetectMessage -> onDetect

`GiftManager`
   added:
      registerGift
      findById
      findByName
      getGifts
   removed:
      getActiveGifts
This commit is contained in:
JW
2023-10-06 02:49:33 +02:00
parent 65a2d5cfff
commit ed2af8cce7
16 changed files with 126 additions and 145 deletions

View File

@@ -20,7 +20,7 @@
* 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.live.events;
package io.github.jwdeveloper.tiktok.live.builder;
import io.github.jwdeveloper.tiktok.data.events.common.TikTokEvent;
import io.github.jwdeveloper.tiktok.data.events.*;
@@ -37,59 +37,57 @@ import io.github.jwdeveloper.tiktok.data.events.websocket.TikTokWebsocketRespons
import io.github.jwdeveloper.tiktok.data.events.websocket.TikTokWebsocketUnhandledMessageEvent;
public interface TikTokEventBuilder<T> {
public interface EventBuilder<T> {
T onRoom(TikTokEventConsumer<TikTokRoomEvent> event);
T onRoom(EventConsumer<TikTokRoomEvent> event);
T onRoomUserInfo(TikTokEventConsumer<TikTokRoomUserInfoEvent> event);
T onRoomUserInfo(EventConsumer<TikTokRoomUserInfoEvent> event);
T onComment(TikTokEventConsumer<TikTokCommentEvent> event);
T onComment(EventConsumer<TikTokCommentEvent> event);
T onWebsocketMessage(TikTokEventConsumer<TikTokWebsocketMessageEvent> event);
T onWebsocketMessage(EventConsumer<TikTokWebsocketMessageEvent> event);
T onWebsocketResponse(TikTokEventConsumer<TikTokWebsocketResponseEvent> event);
T onWebsocketResponse(EventConsumer<TikTokWebsocketResponseEvent> event);
T onWebsocketUnhandledMessage(TikTokEventConsumer<TikTokWebsocketUnhandledMessageEvent> event);
T onWebsocketUnhandledMessage(EventConsumer<TikTokWebsocketUnhandledMessageEvent> event);
T onGiftCombo(TikTokEventConsumer<TikTokGiftComboFinishedEvent> event);
T onGiftCombo(EventConsumer<TikTokGiftComboFinishedEvent> event);
T onGift(TikTokEventConsumer<TikTokGiftEvent> event);
T onGift(EventConsumer<TikTokGiftEvent> event);
T onQuestion(TikTokEventConsumer<TikTokQuestionEvent> event);
T onQuestion(EventConsumer<TikTokQuestionEvent> event);
T onSubscribe(TikTokEventConsumer<TikTokSubscribeEvent> event);
T onSubscribe(EventConsumer<TikTokSubscribeEvent> event);
T onFollow(TikTokEventConsumer<TikTokFollowEvent> event);
T onFollow(EventConsumer<TikTokFollowEvent> event);
T onLike(TikTokEventConsumer<TikTokLikeEvent> event);
T onLike(EventConsumer<TikTokLikeEvent> event);
T onEmote(TikTokEventConsumer<TikTokEmoteEvent> event);
T onEmote(EventConsumer<TikTokEmoteEvent> event);
T onJoin(TikTokEventConsumer<TikTokJoinEvent> event);
T onJoin(EventConsumer<TikTokJoinEvent> event);
T onShare(TikTokEventConsumer<TikTokShareEvent> event);
T onShare(EventConsumer<TikTokShareEvent> event);
T onUnhandledSocial(EventConsumer<TikTokUnhandledSocialEvent> event);
T onUnhandledSocial(TikTokEventConsumer<TikTokUnhandledSocialEvent> event);
T onLivePaused(EventConsumer<TikTokLivePausedEvent> event);
T onLiveEnded(EventConsumer<TikTokLiveEndedEvent> event);
T onConnected(EventConsumer<TikTokConnectedEvent> event);
T onReconnecting(EventConsumer<TikTokReconnectingEvent> event);
T onDisconnected(EventConsumer<TikTokDisconnectedEvent> event);
T onError(EventConsumer<TikTokErrorEvent> event);
T onEvent(EventConsumer<TikTokEvent> event);
T onLivePaused(TikTokEventConsumer<TikTokLivePausedEvent> event);
T onLiveEnded(TikTokEventConsumer<TikTokLiveEndedEvent> event);
T onConnected(TikTokEventConsumer<TikTokConnectedEvent> event);
T onReconnecting(TikTokEventConsumer<TikTokReconnectingEvent> event);
T onDisconnected(TikTokEventConsumer<TikTokDisconnectedEvent> event);
T onError(TikTokEventConsumer<TikTokErrorEvent> event);
T onEvent(TikTokEventConsumer<TikTokEvent> event);
// TODO implement later
// TODO Figure out how those events works
//T onLinkMicFanTicket(TikTokEventConsumer<TikTokLinkMicFanTicketEvent> event);
//T onEnvelope(TikTokEventConsumer<TikTokEnvelopeEvent> event);
@@ -102,8 +100,6 @@ public interface TikTokEventBuilder<T> {
//T onCaption(TikTokEventConsumer<TikTokCaptionEvent> event);
//T onRoomPin(TikTokEventConsumer<TikTokRoomPinEvent> event);
//T onBarrage(TikTokEventConsumer<TikTokBarrageEvent> event);

View File

@@ -20,12 +20,12 @@
* 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.live.events;
package io.github.jwdeveloper.tiktok.live.builder;
import io.github.jwdeveloper.tiktok.data.events.common.TikTokEvent;
import io.github.jwdeveloper.tiktok.live.LiveClient;
public interface TikTokEventConsumer<T extends TikTokEvent>
public interface EventConsumer<T extends TikTokEvent>
{
void onEvent(LiveClient liveClient, T event);
}

View File

@@ -0,0 +1,21 @@
package io.github.jwdeveloper.tiktok.live.builder;
import io.github.jwdeveloper.tiktok.ClientSettings;
import io.github.jwdeveloper.tiktok.listener.TikTokEventListener;
import io.github.jwdeveloper.tiktok.live.LiveClient;
import java.util.concurrent.CompletableFuture;
import java.util.function.Consumer;
public interface LiveClientBuilder extends EventBuilder<LiveClientBuilder>
{
LiveClientBuilder configure(Consumer<ClientSettings> consumer);
LiveClientBuilder addListener(TikTokEventListener listener);
LiveClient build();
LiveClient buildAndConnect();
CompletableFuture<LiveClient> buildAndConnectAsync();
}