!7 lib 1400198 // jSlack (fat jar) import com.github.seratch.jslack.*; import com.github.seratch.jslack.api.rtm.*; import com.github.seratch.jslack.api.methods.request.chat.*; import com.github.seratch.jslack.api.methods.response.chat.*; p-exp { fixContextClassLoader(); S token = assertNempty("oibot token", trim(loadTextFile(javaxSecretDir("oibot-token-2.txt")))); new Slack slack; RTMClient rtm = slack.rtm(token); rtm.addMessageHandler((message) -> { Map json = jsonDecodeMap(message); pnlStruct(json); if (eq(json.get("text"), "test")) pcall { S channelID = cast json.get("channel"); ChatPostMessageResponse postResponse = slack.methods().chatPostMessage( ChatPostMessageRequest.builder() .token(token) .channel(channelID) .text("Test successful.") .build()); } }); // must connect within 30 seconds after issuing wss endpoint rtm.connect(); }