From 451564ef5b13302912080d58a9aee6ff0968f70e Mon Sep 17 00:00:00 2001 From: Julien Dessaux Date: Tue, 25 May 2010 21:54:33 +0200 Subject: Cleaned that ugly update message handling and added a reboot command to the ircbot. --- Hsbot/Message.hs | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) (limited to 'Hsbot/Message.hs') diff --git a/Hsbot/Message.hs b/Hsbot/Message.hs index d2cb085..c632019 100644 --- a/Hsbot/Message.hs +++ b/Hsbot/Message.hs @@ -9,7 +9,7 @@ import Hsbot.PluginUtils import Hsbot.Types -- | Processes an internal message -processInternalMessage :: BotMsg -> Bot () +processInternalMessage :: BotMsg -> Bot (Bool) processInternalMessage (IntMsg msg) | msgTo msg == "CORE" = processCoreMessage msg | otherwise = do @@ -17,13 +17,15 @@ processInternalMessage (IntMsg msg) case M.lookup (msgTo msg) plugins of Just (plugin, _) -> sendToPlugin (IntMsg msg) plugin Nothing -> return () -processInternalMessage _ = return () + return False +processInternalMessage _ = return (False) -processCoreMessage :: Msg -> Bot () +processCoreMessage :: Msg -> Bot (Bool) processCoreMessage msg = do - case msgCmd msg of - "UPDATE" -> processUpdateCommand msg - _ -> return () + case msgType msg of + "UPDATE" -> processUpdateCommand msg + _ -> return () + return $ (msgType msg) == "REBOOT" -- | Process an update command processUpdateCommand :: Msg -> Bot () @@ -31,6 +33,6 @@ processUpdateCommand msg = do bot <- get let oldData = botResumeData bot from = msgFrom msg - stuff = msgCmd msg + stuff = msgStuff msg put $ bot { botResumeData = M.insert from stuff oldData } -- cgit v1.2.3