blob: d15d89b1cb15ada1f6c681519277f8509f9f5697 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
module HsBot.Callbacks (callbacksRun) where
import HsBot.Base.Env
import HsBot.Base.State
import HsBot.Callbacks.Dummy
import HsBot.Callbacks.MessageCounter
registeredCallbacks = [dummy, messageCounter]
callbacksRun :: String -> SendMessage -> Env -> IO Env
callbacksRun str sendMessage env@(Env state _)
| isReady state = callbackAll registeredCallbacks env
| otherwise = do { putStrLn str; return (env) }
where
callbackAll [] env = return (env)
callbackAll (callback:restCallbacks) env = do
env' <- callback str sendMessage env
callbackAll restCallbacks env'
|