All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.github.twitch4j.pubsub.domain.HypeTrainConfig Maven / Gradle / Ivy

There is a newer version: 1.22.0
Show newest version
package com.github.twitch4j.pubsub.domain;

import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;

import java.util.List;

@Data
public class HypeTrainConfig {
    private String channelId;
    private Boolean isEnabled;
    private Boolean isWhitelisted;
    private HypeTrainKickoff kickoff;
    private Long cooldownDuration;
    private Long levelDuration;
    private String difficulty;
    // private Object rewardEndDate;
    private HypeTrainParticipations participationConversionRates;
    private HypeTrainParticipations notificationThresholds;
    private DifficultySettings difficultySettings;
    private ConductorRewards conductorRewards;
    private String calloutEmoteId;
    private String calloutEmoteToken;
    private String themeColor;
    private Boolean useCreatorColor;
    private String primaryHexColor;
    private Boolean usePersonalizedSettings;
    private Boolean hasConductorBadges;

    @Data
    public static class HypeTrainKickoff {
        private Integer numOfEvents;
        private Integer minPoints;
        private Long duration;
    }

    @Data
    public static class ConductorRewards {
        @JsonProperty("BITS")
        private ConductorReward bits;

        @JsonProperty("SUBS")
        private ConductorReward subs;

        @Data
        public static class ConductorReward {
            @JsonProperty("CURRENT")
            private List current;

            @JsonProperty("FORMER")
            private List former;

            @Data
            public static class RewardType {
                private String type;
                private String id;
                private String groupId;
                private Integer rewardLevel;
                private String badgeId;
                private String imageUrl;
            }
        }
    }

    @Data
    public static class DifficultySettings {
        @JsonProperty("EASY")
        private List easy;

        @JsonProperty("MEDIUM")
        private List medium;

        @JsonProperty("HARD")
        private List hard;

        @JsonProperty("SUPER_HARD")
        private List superHard;

        @JsonProperty("INSANE")
        private List insane;

        @Data
        public static class DifficultySetting {
            private Integer value;
            private Integer goal;
            private List rewards;
        }
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy