From eb0ca70a636183fea73d884e20a48ac6120066bc Mon Sep 17 00:00:00 2001 From: pb Date: Sun, 28 Mar 2010 13:32:02 +0000 Subject: git-svn-id: https://ssl.buetow.org/repos/hsbot/trunk@54 9f8f72e9-4bf4-416e-b76e-7d4203597157 --- HsBot/Callbacks.hs | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 HsBot/Callbacks.hs (limited to 'HsBot/Callbacks.hs') 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' + -- cgit v1.2.3