diff options
-rw-r--r-- | Hsbot/Message.hs | 18 |
1 files changed, 11 insertions, 7 deletions
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 () |