Class TwitchPubSubBuilder

java.lang.Object
com.github.twitch4j.pubsub.TwitchPubSubBuilder

public class TwitchPubSubBuilder extends Object
Twitch PubSub Builder
  • Method Details

    • builder

      public static TwitchPubSubBuilder builder()
      Initialize the builder
      Returns:
      Twitch PubSub Builder
    • build

      public TwitchPubSub build()
      Twitch PubSub Client
      Returns:
      TwitchPubSub
    • withBotOwnerId

      public TwitchPubSubBuilder withBotOwnerId(String userId)
      With a Bot Owner's User ID
      Parameters:
      userId - the user id
      Returns:
      TwitchPubSubBuilder
    • withBotOwnerIds

      public TwitchPubSubBuilder withBotOwnerIds(Collection<String> botOwnerIds)
      With multiple Bot Owner User IDs
      Parameters:
      botOwnerIds - the user ids
      Returns:
      TwitchPubSubBuilder
    • getWebsocketConnection

      public WebsocketConnection getWebsocketConnection()
      WebsocketConnection

      can be used to inject a mocked connection into the TwitchChat instance

    • getEventManager

      public com.github.philippheuer.events4j.core.EventManager getEventManager()
      Event Manager
    • getDefaultEventHandler

      public Class<? extends com.github.philippheuer.events4j.api.service.IEventHandler> getDefaultEventHandler()
      EventManager
    • getScheduledThreadPoolExecutor

      public ScheduledThreadPoolExecutor getScheduledThreadPoolExecutor()
      Scheduler Thread Pool Executor
    • getProxyConfig

      public ProxyConfig getProxyConfig()
      Proxy Configuration
    • getBotOwnerIds

      public Collection<String> getBotOwnerIds()
      User IDs of Bot Owners for applying CommandPermission.OWNER
    • getWsPingPeriod

      public int getWsPingPeriod()
      WebSocket RFC Ping Period in ms (0 = disabled)
    • getWsCloseDelay

      public int getWsCloseDelay()
      Websocket Close Delay in ms (0 = minimum)
      See Also:
    • getConnectionBackoffStrategy

      public IBackoffStrategy getConnectionBackoffStrategy()
      WebSocket Connection Backoff Strategy
    • getFallbackTopicHandler

      public Consumer<PubSubResponsePayload> getFallbackTopicHandler()
      Consumer of PubSub messages for topics that did not match internal handlers.

      By default, Twitch4J simply logs these payloads, but this consumer can be utilized by users to implement new logic, such as support for more undocumented topics.

    • withWebsocketConnection

      protected TwitchPubSubBuilder withWebsocketConnection(WebsocketConnection websocketConnection)
      WebsocketConnection

      can be used to inject a mocked connection into the TwitchChat instance

      Returns:
      a clone of this object, except with this updated property (returns this if an identical value is passed).
    • withEventManager

      public TwitchPubSubBuilder withEventManager(com.github.philippheuer.events4j.core.EventManager eventManager)
      Event Manager
      Returns:
      a clone of this object, except with this updated property (returns this if an identical value is passed).
    • withDefaultEventHandler

      public TwitchPubSubBuilder withDefaultEventHandler(Class<? extends com.github.philippheuer.events4j.api.service.IEventHandler> defaultEventHandler)
      EventManager
      Returns:
      a clone of this object, except with this updated property (returns this if an identical value is passed).
    • withScheduledThreadPoolExecutor

      public TwitchPubSubBuilder withScheduledThreadPoolExecutor(ScheduledThreadPoolExecutor scheduledThreadPoolExecutor)
      Scheduler Thread Pool Executor
      Returns:
      a clone of this object, except with this updated property (returns this if an identical value is passed).
    • withProxyConfig

      public TwitchPubSubBuilder withProxyConfig(ProxyConfig proxyConfig)
      Proxy Configuration
      Returns:
      a clone of this object, except with this updated property (returns this if an identical value is passed).
    • setBotOwnerIds

      public TwitchPubSubBuilder setBotOwnerIds(Collection<String> botOwnerIds)
      User IDs of Bot Owners for applying CommandPermission.OWNER
      Returns:
      this.
    • withWsPingPeriod

      public TwitchPubSubBuilder withWsPingPeriod(int wsPingPeriod)
      WebSocket RFC Ping Period in ms (0 = disabled)
      Returns:
      a clone of this object, except with this updated property (returns this if an identical value is passed).
    • withWsCloseDelay

      public TwitchPubSubBuilder withWsCloseDelay(int wsCloseDelay)
      Websocket Close Delay in ms (0 = minimum)
      Returns:
      a clone of this object, except with this updated property (returns this if an identical value is passed).
      See Also:
    • withConnectionBackoffStrategy

      public TwitchPubSubBuilder withConnectionBackoffStrategy(IBackoffStrategy connectionBackoffStrategy)
      WebSocket Connection Backoff Strategy
      Returns:
      a clone of this object, except with this updated property (returns this if an identical value is passed).
    • withFallbackTopicHandler

      public TwitchPubSubBuilder withFallbackTopicHandler(Consumer<PubSubResponsePayload> fallbackTopicHandler)
      Consumer of PubSub messages for topics that did not match internal handlers.

      By default, Twitch4J simply logs these payloads, but this consumer can be utilized by users to implement new logic, such as support for more undocumented topics.

      Returns:
      a clone of this object, except with this updated property (returns this if an identical value is passed).