diff options
Diffstat (limited to 'Plugins')
-rw-r--r-- | Plugins/Ping.hs | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/Plugins/Ping.hs b/Plugins/Ping.hs new file mode 100644 index 0000000..46351aa --- /dev/null +++ b/Plugins/Ping.hs @@ -0,0 +1,22 @@ +module Plugins.Ping + ( mainPing + ) where + +import Control.Concurrent.Chan + +import Hsbot.Types + +mainPing :: Chan BotMsg -> Chan BotMsg -> IO () +mainPing serverChan chan = do + loop + where + loop = do + input <- readChan chan + eval input + loop + eval :: BotMsg -> IO () + eval (InputMsg msg) + | (command msg) == "PING" = writeChan serverChan $ OutputMsg $ IrcMsg Nothing "PONG" (parameters msg) + | otherwise = return () + eval _ = return () + |