The slack-bot-api
is a java 8
library that can used to interface with Slack's
Real Time Messaging API to create your own bot.
Two different WebSocket
client implementations are available for use.
Project Tyrus
<dependency>
<groupId>io.dangernoodle</groupId>
<artifactId>slack-bot-api-tyrus</artifactId>
<version>${slack-bot-api.version}</version>
</dependency>
Jetty
<dependency>
<groupId>io.dangernoodle</groupId>
<artifactId>slack-bot-api-jetty</artifactId>
<version>${slack-bot-api.version}</version>
</dependency>
SlackClientSettings settings = new SlackClientSettings(AUTH_TOKEN);
SlackClient slackClient = SlackClientBuilder.createClient(settings);
SlackObserverRegistry regsitry = slackClient.getObserverRegistry();
registry.addChannelJoinedObserver((event, client) -> {
logger.debug("channel joined event: " + event);
});
registry.addChannelLeftObserver((event, client) -> {
logger.info("channel joined event: " + event);
});
...
slackClient.connect();
Simple Messages
Simple text messages can be sent directly over the websocket connection.
slackClient.send("simple text message");
Complex Messages
Details to follow...
This library was inspired by the excellent simple-slack-api
library. If you are looking to create a slack bot and are unable to use java 8
, the simple-slack-api
is highly recommend as an alternative.