diff options
| author | pb <pb@9f8f72e9-4bf4-416e-b76e-7d4203597157> | 2010-03-28 11:31:45 +0000 |
|---|---|---|
| committer | pb <pb@9f8f72e9-4bf4-416e-b76e-7d4203597157> | 2010-03-28 11:31:45 +0000 |
| commit | 3d7e9915c4fab6f91f11b3de66ac8bbcb8b3c0c7 (patch) | |
| tree | 7b9e58acf61adedef9c9f50600bde91a75e10075 | |
| parent | 80ff91aa5d6cda6adc1c97dc39b950dd7daed9d5 (diff) | |
git-svn-id: https://ssl.buetow.org/repos/hsbot/trunk@51 9f8f72e9-4bf4-416e-b76e-7d4203597157
| -rw-r--r-- | HsBot/Base.hs | 2 | ||||
| -rw-r--r-- | HsBot/Base/Env.hs | 3 | ||||
| -rw-r--r-- | HsBot/Logics.hs | 13 | ||||
| -rw-r--r-- | HsBot/Logics/Dummy.hs | 10 |
4 files changed, 24 insertions, 4 deletions
diff --git a/HsBot/Base.hs b/HsBot/Base.hs index a349fad..f2b1139 100644 --- a/HsBot/Base.hs +++ b/HsBot/Base.hs @@ -27,7 +27,7 @@ dispatch msg sendMessage env@(Env state conf) = dispatch' msg cmdAction state return (env) Nothing -> return (env) - dispatch' _ = logicsRun msg env + dispatch' _ = logicsRun msg sendMessage env commands = [ Cmd "!h" "Prints help" printHelp, Cmd "!i" "Prints infos" printInfos, diff --git a/HsBot/Base/Env.hs b/HsBot/Base/Env.hs index 58b2347..36fafd5 100644 --- a/HsBot/Base/Env.hs +++ b/HsBot/Base/Env.hs @@ -3,7 +3,8 @@ module HsBot.Base.Env where import HsBot.Base.Conf import HsBot.Base.State -type Dispatch = String -> (String -> IO ()) -> Env -> IO Env +type SendMessage = String -> IO () +type Dispatch = String -> SendMessage -> Env -> IO Env data Env = DispatchEnv State Conf Dispatch | Env State Conf castEnv :: Env -> Env diff --git a/HsBot/Logics.hs b/HsBot/Logics.hs index d27c96f..9b98300 100644 --- a/HsBot/Logics.hs +++ b/HsBot/Logics.hs @@ -1,6 +1,15 @@ module HsBot.Logics (logicsRun) where import HsBot.Base.Env +import HsBot.Logics.Dummy + +registeredLogics = [dummyRun] + +logicsRun :: String -> SendMessage -> Env -> IO Env +logicsRun = logicsRun' registeredLogics + where + logicsRun' [] sendMessage str env = return (env) + logicsRun' (logic:ls) sendMessage str env = do + env' <- logic sendMessage str env + logicsRun' ls sendMessage str env' -logicsRun :: String -> Env -> IO Env -logicsRun str env = return (env) diff --git a/HsBot/Logics/Dummy.hs b/HsBot/Logics/Dummy.hs new file mode 100644 index 0000000..a873f8a --- /dev/null +++ b/HsBot/Logics/Dummy.hs @@ -0,0 +1,10 @@ +module HsBot.Logics.Dummy (dummyRun) where + +import HsBot.Base.Env + +dummyRun :: String -> SendMessage -> Env -> IO Env +dummyRun str sendMessage env = do + --sendMessage "Hello World" + putStrLn str + return (env) + |
