Skip to content

rickeyski/slack-api

Repository files navigation

Deprecating this project

Slack has announce they are ending support for the RTM API and are instead focusing on Web and Events API.

Travis Build Status

Bindings to the Slack RTM API.

These bindings were developed whilst I was interning at Borders.

More information can be found here

Example

module EchoBot where

import System.Environment (lookupEnv)
import Web.Slack

main :: IO ()
main = do
    Just token <- lookupEnv "SLACK_API_TOKEN"
    let config = SlackConfig { _slackApiToken = token }
    withSlackHandle config echoBot

echoBot :: SlackHandle -> IO ()
echoBot h = forever $ do
    event <- getNextEvent h
    case event of
        (Message cid _ msg _ _ _) -> sendMessage h cid msg
        _ -> return ()