Package com.slack.api.rtm
Class RTMClient
- java.lang.Object
-
- com.slack.api.rtm.RTMClient
-
- All Implemented Interfaces:
Closeable,AutoCloseable
public class RTMClient extends Object implements Closeable
Real Time Messaging (RTM) API- See Also:
- RTM API
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddCloseHandler(RTMCloseHandler closeHandler)voidaddErrorHandler(RTMErrorHandler errorHandler)voidaddMessageHandler(RTMMessageHandler messageHandler)voidclose()voidconnect()Connects to the wss endpoint and starts a new WebSocket session.voiddisconnect()Disconnects from the wss endpoint.UsergetConnectedBotUser()URIgetWssUri()voidonClose(javax.websocket.Session session, javax.websocket.CloseReason reason)voidonError(javax.websocket.Session session, Throwable reason)voidonMessage(String message)voidonOpen(javax.websocket.Session session)voidreconnect()Re-connects to a new wss endpoint and starts a new WebSocket session.voidremoveCloseHandler(RTMCloseHandler closeHandler)voidremoveErrorHandler(RTMErrorHandler errorHandler)voidremoveMessageHandler(RTMMessageHandler messageHandler)voidsendMessage(String message)
-
-
-
Constructor Detail
-
RTMClient
public RTMClient(Slack slack, String botApiToken, String wssUrl, User connectedBotUser) throws URISyntaxException
- Throws:
URISyntaxException
-
-
Method Detail
-
connect
public void connect() throws IOException, javax.websocket.DeploymentExceptionConnects to the wss endpoint and starts a new WebSocket session. If you'd like to reconnect to the endpoint with this instance, call #reconnect() instead. Calling this method won't work as you expect.- Throws:
IOExceptionjavax.websocket.DeploymentException
-
disconnect
public void disconnect() throws IOExceptionDisconnects from the wss endpoint. After calling this method, calling #connect() doesn't work. You need to call #reconnect() or instantiate a new RTMClient instead.- Throws:
IOException
-
reconnect
public void reconnect() throws IOException, SlackApiException, URISyntaxException, javax.websocket.DeploymentExceptionRe-connects to a new wss endpoint and starts a new WebSocket session. This method calls rtm.connect API. Please be aware of the rate limit. https://api.slack.com/docs/rate-limits#rtm- Throws:
IOExceptionSlackApiExceptionURISyntaxExceptionjavax.websocket.DeploymentException
-
close
public void close() throws IOException- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable- Throws:
IOException
-
onOpen
public void onOpen(javax.websocket.Session session)
-
onClose
public void onClose(javax.websocket.Session session, javax.websocket.CloseReason reason)
-
onError
public void onError(javax.websocket.Session session, Throwable reason)
-
onMessage
public void onMessage(String message)
-
addMessageHandler
public void addMessageHandler(RTMMessageHandler messageHandler)
-
removeMessageHandler
public void removeMessageHandler(RTMMessageHandler messageHandler)
-
addErrorHandler
public void addErrorHandler(RTMErrorHandler errorHandler)
-
removeErrorHandler
public void removeErrorHandler(RTMErrorHandler errorHandler)
-
addCloseHandler
public void addCloseHandler(RTMCloseHandler closeHandler)
-
removeCloseHandler
public void removeCloseHandler(RTMCloseHandler closeHandler)
-
sendMessage
public void sendMessage(String message)
-
getWssUri
public URI getWssUri()
-
getConnectedBotUser
public User getConnectedBotUser()
-
-