Package com.slack.api.socket_mode
Interface SocketModeClient
- All Superinterfaces:
AutoCloseable
,Closeable
- All Known Implementing Classes:
SocketModeClientJavaWSImpl
,SocketModeClientTyrusImpl
public interface SocketModeClient extends Closeable
Socket Mode Client
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static class
SocketModeClient.Backend
Built-in backend supports. -
Field Summary
Fields Modifier and Type Field Description static int
DEFAULT_MESSAGE_PROCESSOR_CONCURRENCY
static long
DEFAULT_SESSION_MONITOR_INTERVAL_MILLISECONDS
static String
EXECUTOR_GROUP_NAME_PREFIX
static com.google.gson.Gson
GSON
static org.slf4j.Logger
LOGGER
static com.google.gson.Gson
PRETTY_PRINTING
-
Method Summary
-
Field Details
-
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 -
EXECUTOR_GROUP_NAME_PREFIX
- See Also:
- Constant Field Values
-
-
Method Details
-
connect
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
Connects to a new WSS endpoint and starts a new WebSocket session.- Throws:
IOException
-
disconnect
Disconnects from the wss endpoint and abandons the current session.- Throws:
IOException
-
close
Closes this Socket Mode client. After calling this method, the instance is no longer available to use.- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
- Throws:
IOException
-
getSlack
Slack getSlack() -
setSlack
-
getAppToken
String getAppToken() -
setAppToken
-
getWssUri
URI getWssUri()Returns the current WSS URI. -
setWssUri
-
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
-
getMessageQueue
SocketModeMessageQueue getMessageQueue()Returns the message queue for message processor workers. -
setMessageQueue
-
getMessageProcessorExecutor
ScheduledExecutorService getMessageProcessorExecutor() -
setMessageProcessorExecutor
-
initializeMessageProcessorExecutor
default void initializeMessageProcessorExecutor(int concurrency) -
initializeSessionMonitorExecutor
default void initializeSessionMonitorExecutor(long intervalMillis) -
sendSocketModeResponse
-
sendSocketModeResponse
-
sendWebSocketMessage
Sends a text message to the Socket Mode server via the current WebSocket connection. -
getWebSocketErrorListeners
List<WebSocketErrorListener> getWebSocketErrorListeners() -
addWebSocketErrorListener
-
removeWebSocketErrorListener
-
runErrorListeners
-
getWebSocketCloseListeners
List<WebSocketCloseListener> getWebSocketCloseListeners() -
addWebSocketCloseListener
-
removeWebSocketCloseListener
-
runCloseListenersAndAutoReconnectAsNecessary
-
enqueueMessage
-
getWebSocketMessageListeners
List<WebSocketMessageListener> getWebSocketMessageListeners() -
addWebSocketMessageListener
-
removeWebSocketMessageListener
-
getEventsApiEnvelopeListeners
List<EnvelopeListener<EventsApiEnvelope>> getEventsApiEnvelopeListeners() -
getInteractiveEnvelopeListeners
List<EnvelopeListener<InteractiveEnvelope>> getInteractiveEnvelopeListeners() -
getSlashCommandsEnvelopeListeners
List<EnvelopeListener<SlashCommandsEnvelope>> getSlashCommandsEnvelopeListeners() -
addEventsApiEnvelopeListener
-
removeEventsApiEnvelopeListener
-
addInteractiveEnvelopeListener
-
removeInteractiveEnvelopeListener
-
addSlashCommandsEnvelopeListener
-
removeSlashCommandsEnvelopeListener
-
getLogger
default org.slf4j.Logger getLogger() -
getGson
default com.google.gson.Gson getGson() -
processMessage
- Throws:
IOException
-
debugLogRequest
-
debugLogResponse
-
getExecutorGroupNamePrefix
-
maintainCurrentSession
long maintainCurrentSession()Maintains the current session in a background job.see also: initializeSessionMonitorExecutor
- Returns:
- unix time to check next time
-