diff options
| author | pb <pb@9f8f72e9-4bf4-416e-b76e-7d4203597157> | 2010-03-28 13:32:02 +0000 |
|---|---|---|
| committer | pb <pb@9f8f72e9-4bf4-416e-b76e-7d4203597157> | 2010-03-28 13:32:02 +0000 |
| commit | eb0ca70a636183fea73d884e20a48ac6120066bc (patch) | |
| tree | 21ba24da99c38fd58a2758876a9bb39af94dc19c /HsBot/Callbacks.hs | |
| parent | 4f80cd186f21d9bb6fb3c0ae31e7626c21f531c6 (diff) | |
git-svn-id: https://ssl.buetow.org/repos/hsbot/trunk@54 9f8f72e9-4bf4-416e-b76e-7d4203597157
Diffstat (limited to 'HsBot/Callbacks.hs')
| -rw-r--r-- | HsBot/Callbacks.hs | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/HsBot/Callbacks.hs b/HsBot/Callbacks.hs new file mode 100644 index 0000000..d15d89b --- /dev/null +++ b/HsBot/Callbacks.hs @@ -0,0 +1,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' + |
