Interface SocketModeClient

    • Field Detail

      • DEFAULT_MESSAGE_PROCESSOR_CONCURRENCY

        static final int DEFAULT_MESSAGE_PROCESSOR_CONCURRENCY
        See Also:
        Constant Field Values
      • DEFAULT_SESSION_MONITOR_INTERVAL_MILLISECONDS

        static final long DEFAULT_SESSION_MONITOR_INTERVAL_MILLISECONDS
        See Also:
        Constant Field Values
      • 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
    • Method Detail

      • 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.
      • 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
      • 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)
      • getMessageQueue

        SocketModeMessageQueue getMessageQueue()
        Returns the message queue for message processor workers.
      • 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.
      • removeWebSocketErrorListener

        default void removeWebSocketErrorListener​(WebSocketErrorListener listener)
      • runErrorListeners

        default void runErrorListeners​(Throwable reason)
      • removeWebSocketCloseListener

        default void removeWebSocketCloseListener​(WebSocketCloseListener listener)
      • runCloseListenersAndAutoReconnectAsNecessary

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

        default void enqueueMessage​(String message)
      • getLogger

        default org.slf4j.Logger getLogger()
      • getGson

        default com.google.gson.Gson getGson()
      • 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