summaryrefslogtreecommitdiff
path: root/Plugins
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--Plugins/Ping.hs22
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 ()
+