Skip to content

Commit ef4a027

Browse files
committed
Update README.md
1 parent fdfd804 commit ef4a027

File tree

1 file changed

+33
-22
lines changed

1 file changed

+33
-22
lines changed

README.md

Lines changed: 33 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
# Simple Slack API
22

3-
This library allows an aplication to connect to [Slack](http://www.slack.com/) to receive and send messages from any channel as if it were a slack client. The main purpose of this library is to build slack bots able to react to channel events without having to configure any web hook. For now this library has very limited features and is quite experimental.
3+
This library allows an aplication to connect to [Slack](http://www.slack.com/) to receive and send messages from any channel as if it were a slack client.
4+
5+
The main purpose of this library is to build slack bots able to react to channel events without having to configure any web hook.
46

57

68
## Short example
@@ -28,22 +30,24 @@ session.connect();
2830
### Listening to messages :
2931

3032
Slack messages can be retrieved by attaching a SlackMessageListener to the session provided by the factory :
33+
34+
3135
```java
32-
session.addMessageListener(new SlackMessageListener()
36+
session.addMessagePostedListener(new SlackMessagePostedListener()
3337
{
34-
@Override
35-
public void onSessionLoad(SlackSession slackSession)
36-
{
37-
// is called when the session is connected
38-
}
39-
40-
@Override
41-
public void onMessage(SlackMessage slackMessage)
42-
{
43-
// is called every time a message is sent on a subscribed channel
44-
}
38+
@Override
39+
public void onEvent(SlackMessagePosted event, SlackSession session)
40+
{
41+
session.sendMessageOverWebSocket(session.findChannelByName("general"), "Message sent : " + event.getMessageContent(), null);
42+
}
4543
});
46-
```
44+
```
45+
46+
(Since v0.4.0, lambda friendly version)
47+
```java
48+
session.addMessagePostedListener((e, s)
49+
-> s.sendMessageOverWebSocket(s.findChannelByName("general"), "Message sent : " + e.getMessageContent(), null));
50+
```
4751
### Message operation :
4852

4953
The SlackSession interface provides various methods to send/modify and delete messages on a given channel :
@@ -54,6 +58,19 @@ SlackMessageHandle updateMessage(String timeStamp, SlackChannel channel, String
5458
SlackMessageHandle deleteMessage(String timeStamp, SlackChannel channel)
5559
```
5660

61+
### Supported events :
62+
63+
The following events are handled :
64+
65+
* message post on a channel / group / to the bot
66+
* message update on a channel / group / to the bot
67+
* message delete on a channel / group / to the bot
68+
* channel creation
69+
* channel deletion
70+
* channel archiving
71+
* channel unarchiving
72+
* channel renaming
73+
* private group joining
5774

5875
## Full example :
5976

@@ -67,16 +84,11 @@ public class Example
6784

6885
final SlackSession session = SlackSessionFactory.
6986
createWebSocketSlackSession("authenticationtoken", Proxy.Type.HTTP, "myproxy", 1234, true);
70-
87+
session.addMessagePostedListener(new SlackMessagePostedListener()
7188
session.addMessageListener(new SlackMessageListener()
7289
{
7390
@Override
74-
public void onSessionLoad(SlackSession slackSession)
75-
{
76-
}
77-
78-
@Override
79-
public void onMessage(SlackMessage slackMessage)
91+
public void onEvent(SlackMessagePosted event, SlackSession session)
8092
{
8193
//let's send a message
8294
SlackMessageHandle handle = session.sendMessage(slackMessage.getChannel(),
@@ -104,7 +116,6 @@ public class Example
104116
});
105117
session.connect();
106118

107-
108119
while (true)
109120
{
110121
Thread.sleep(1000);

0 commit comments

Comments
 (0)