From 7e89b50bfe019462a5b1f980dc722a65e5a56992 Mon Sep 17 00:00:00 2001 From: Julien Dessaux Date: Sat, 30 Apr 2011 02:24:43 +0200 Subject: Improved message utilities. --- Hsbot/Message.hs | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) (limited to 'Hsbot') diff --git a/Hsbot/Message.hs b/Hsbot/Message.hs index 067a740..e95c3e7 100644 --- a/Hsbot/Message.hs +++ b/Hsbot/Message.hs @@ -1,21 +1,25 @@ module Hsbot.Message - ( readMsg + ( answerMsg + , readMsg , writeMsg ) where import Control.Concurrent import Control.Monad.State +import qualified Network.IRC as IRC import Hsbot.Types -- Plugin Utils readMsg :: Plugin IO (Message) -readMsg = do - chan <- gets pluginChan - liftIO $ readChan chan >>= return +readMsg = gets pluginChan >>= liftIO . readChan >>= return writeMsg :: Message -> Plugin IO () -writeMsg msg = do - chan <- gets pluginMaster - liftIO $ writeChan chan msg +writeMsg msg = gets pluginMaster >>= liftIO . flip writeChan msg + +answerMsg :: IRC.Message -> String -> Plugin IO () +answerMsg request msg = + case IRC.msg_params request of + sender:_ -> writeMsg . OutgoingMsg $ IRC.Message Nothing "PRIVMSG" [sender, msg] + [] -> return () -- cgit v1.2.3