slack-api-0.12: Bindings to the Slack RTM API.

Safe HaskellNone
LanguageHaskell2010

Web.Slack.State

Documentation

newtype Slack s a Source #

Constructors

Slack 

Fields

Instances

Monad (Slack s) Source # 

Methods

(>>=) :: Slack s a -> (a -> Slack s b) -> Slack s b #

(>>) :: Slack s a -> Slack s b -> Slack s b #

return :: a -> Slack s a #

fail :: String -> Slack s a #

Functor (Slack s) Source # 

Methods

fmap :: (a -> b) -> Slack s a -> Slack s b #

(<$) :: a -> Slack s b -> Slack s a #

Applicative (Slack s) Source # 

Methods

pure :: a -> Slack s a #

(<*>) :: Slack s (a -> b) -> Slack s a -> Slack s b #

(*>) :: Slack s a -> Slack s b -> Slack s b #

(<*) :: Slack s a -> Slack s b -> Slack s a #

MonadIO (Slack s) Source # 

Methods

liftIO :: IO a -> Slack s a #

MonadState (SlackState s) (Slack s) Source # 

Methods

get :: Slack s (SlackState s)

put :: SlackState s -> Slack s ()

state :: (SlackState s -> (a, SlackState s)) -> Slack s a

type SlackBot s = Event -> Slack s () Source #

data Metainfo Source #

Constructors

Meta 

Fields

data SlackState s Source #

Constructors

SlackState 

Fields

Instances

Show s => Show (SlackState s) Source # 
MonadState (SlackState s) (Slack s) Source # 

Methods

get :: Slack s (SlackState s)

put :: SlackState s -> Slack s ()

state :: (SlackState s -> (a, SlackState s)) -> Slack s a

userState :: forall s s. Lens (SlackState s) (SlackState s) s s Source #

session :: forall s. Lens' (SlackState s) SlackSession Source #

meta :: forall s. Lens' (SlackState s) Metainfo Source #

config :: forall s. Lens' (SlackState s) SlackConfig Source #

metaConnection :: Lens' Metainfo Connection Source #

slackLog :: Show a => a -> MonadIO m => m () Source #

connection :: Lens' (SlackState s) Connection Source #