Interface SocketModeClient

All Superinterfaces:
AutoCloseable, Closeable
All Known Implementing Classes:
SocketModeClientJavaWSImpl, SocketModeClientTyrusImpl

public interface SocketModeClient extends Closeable
Socket Mode Client
  • Field Details

    • DEFAULT_MESSAGE_PROCESSOR_CONCURRENCY

      static final int DEFAULT_MESSAGE_PROCESSOR_CONCURRENCY
      See Also:
    • DEFAULT_SESSION_MONITOR_INTERVAL_MILLISECONDS

      static final long DEFAULT_SESSION_MONITOR_INTERVAL_MILLISECONDS
      See Also:
    • LOGGER

      static final org.slf4j.Logger LOGGER
    • GSON

      static final com.google.gson.Gson GSON
    • PRETTY_PRINTING

      static final com.google.gson.Gson PRETTY_PRINTING
    • EXECUTOR_GROUP_NAME_PREFIX

      static final String EXECUTOR_GROUP_NAME_PREFIX
      See Also:
  • Method Details

    • connect

      void connect() throws IOException
      Connects to the current WSS endpoint and starts a new WebSocket session.
      Throws:
      IOException
    • verifyConnection

      boolean verifyConnection()
      Returns true if this client is connected to the Socket Mode server.
    • isAutoReconnectOnCloseEnabled

      boolean isAutoReconnectOnCloseEnabled()
      Returns true if the client tries to reconnect when onClose listeners are called plus isAutoReconnectEnabled() is true. Default: false
    • setAutoReconnectOnCloseEnabled

      void setAutoReconnectOnCloseEnabled(boolean autoReconnectOnCloseEnabled)
    • connectToNewEndpoint

      default void connectToNewEndpoint() throws IOException
      Connects to a new WSS endpoint and starts a new WebSocket session.
      Throws:
      IOException
    • disconnect

      void disconnect() throws IOException
      Disconnects from the wss endpoint and abandons the current session.
      Throws:
      IOException
    • close

      default void close() throws IOException
      Closes this Socket Mode client. After calling this method, the instance is no longer available to use.
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface Closeable
      Throws:
      IOException
    • getSlack

      Slack getSlack()
    • setSlack

      void setSlack(Slack slack)
    • getAppToken

      String getAppToken()
    • setAppToken

      void setAppToken(String appToken)
    • getWssUri

      URI getWssUri()
      Returns the current WSS URI.
    • setWssUri

      void setWssUri(URI wssUri)
    • isAutoReconnectEnabled

      boolean isAutoReconnectEnabled()
      Tries to reconnect to the Socket Mode server if true.
    • setAutoReconnectEnabled

      void setAutoReconnectEnabled(boolean autoReconnectEnabled)
    • isSessionMonitorEnabled

      boolean isSessionMonitorEnabled()
      A background job for session maintenance works if true.
    • setSessionMonitorEnabled

      void setSessionMonitorEnabled(boolean sessionMonitorEnabled)
    • getSessionMonitorExecutor

      Optional<ScheduledExecutorService> getSessionMonitorExecutor()
    • setSessionMonitorExecutor

      void setSessionMonitorExecutor(Optional<ScheduledExecutorService> executorService)
    • getMessageQueue

      SocketModeMessageQueue getMessageQueue()
      Returns the message queue for message processor workers.
    • setMessageQueue

      void setMessageQueue(SocketModeMessageQueue messageQueue)
    • getMessageProcessorExecutor

      ScheduledExecutorService getMessageProcessorExecutor()
    • setMessageProcessorExecutor

      void setMessageProcessorExecutor(ScheduledExecutorService executorService)
    • initializeMessageProcessorExecutor

      default void initializeMessageProcessorExecutor(int concurrency)
    • initializeSessionMonitorExecutor

      default void initializeSessionMonitorExecutor(long intervalMillis)
    • sendSocketModeResponse

      default void sendSocketModeResponse(SocketModeResponse response)
    • sendSocketModeResponse

      default void sendSocketModeResponse(String message)
    • sendWebSocketMessage

      void sendWebSocketMessage(String message)
      Sends a text message to the Socket Mode server via the current WebSocket connection.
    • getWebSocketErrorListeners

      List<WebSocketErrorListener> getWebSocketErrorListeners()
    • addWebSocketErrorListener

      default void addWebSocketErrorListener(WebSocketErrorListener listener)
    • removeWebSocketErrorListener

      default void removeWebSocketErrorListener(WebSocketErrorListener listener)
    • runErrorListeners

      default void runErrorListeners(Throwable reason)
    • getWebSocketCloseListeners

      List<WebSocketCloseListener> getWebSocketCloseListeners()
    • addWebSocketCloseListener

      default void addWebSocketCloseListener(WebSocketCloseListener listener)
    • removeWebSocketCloseListener

      default void removeWebSocketCloseListener(WebSocketCloseListener listener)
    • runCloseListenersAndAutoReconnectAsNecessary

      default void runCloseListenersAndAutoReconnectAsNecessary(Integer code, String reason)
    • enqueueMessage

      default void enqueueMessage(String message)
    • getWebSocketMessageListeners

      List<WebSocketMessageListener> getWebSocketMessageListeners()
    • addWebSocketMessageListener

      default void addWebSocketMessageListener(WebSocketMessageListener listener)
    • removeWebSocketMessageListener

      default void removeWebSocketMessageListener(WebSocketMessageListener listener)
    • getEventsApiEnvelopeListeners

      List<EnvelopeListener<EventsApiEnvelope>> getEventsApiEnvelopeListeners()
    • getInteractiveEnvelopeListeners

      List<EnvelopeListener<InteractiveEnvelope>> getInteractiveEnvelopeListeners()
    • getSlashCommandsEnvelopeListeners

      List<EnvelopeListener<SlashCommandsEnvelope>> getSlashCommandsEnvelopeListeners()
    • addEventsApiEnvelopeListener

      default void addEventsApiEnvelopeListener(EnvelopeListener<EventsApiEnvelope> listener)
    • removeEventsApiEnvelopeListener

      default void removeEventsApiEnvelopeListener(EnvelopeListener<EventsApiEnvelope> listener)
    • addInteractiveEnvelopeListener

      default void addInteractiveEnvelopeListener(EnvelopeListener<InteractiveEnvelope> listener)
    • removeInteractiveEnvelopeListener

      default void removeInteractiveEnvelopeListener(EnvelopeListener<InteractiveEnvelope> listener)
    • addSlashCommandsEnvelopeListener

      default void addSlashCommandsEnvelopeListener(EnvelopeListener<SlashCommandsEnvelope> listener)
    • removeSlashCommandsEnvelopeListener

      default void removeSlashCommandsEnvelopeListener(EnvelopeListener<SlashCommandsEnvelope> listener)
    • getLogger

      default org.slf4j.Logger getLogger()
    • getGson

      default com.google.gson.Gson getGson()
    • processMessage

      default void processMessage(String message) throws IOException
      Throws:
      IOException
    • debugLogRequest

      default void debugLogRequest(String message)
    • debugLogResponse

      default void debugLogResponse(String message)
    • getExecutorGroupNamePrefix

      default String getExecutorGroupNamePrefix()
    • maintainCurrentSession

      long maintainCurrentSession()
      Maintains the current session in a background job.

      see also: initializeSessionMonitorExecutor

      Returns:
      unix time to check next time