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 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
-
EXECUTOR_GROUP_NAME_PREFIX
static final String EXECUTOR_GROUP_NAME_PREFIX
- See Also:
- Constant Field Values
-
-
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
-
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 interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
- 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
-
-