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
-
Constructor Summary
-
Method Summary
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 Details
-
RTMClient
public RTMClient(Slack slack, String botApiToken, String wssUrl, User connectedBotUser) throws URISyntaxException- Throws:
URISyntaxException
-
-
Method Details
-
connect
Connects 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
Disconnects 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
- 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
-
onMessage
-
addMessageHandler
-
removeMessageHandler
-
addErrorHandler
-
removeErrorHandler
-
addCloseHandler
-
removeCloseHandler
-
sendMessage
-
getWssUri
-
getConnectedBotUser
-