diff options
Diffstat (limited to 'Hsbot/IRC.hs')
-rw-r--r-- | Hsbot/IRC.hs | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/Hsbot/IRC.hs b/Hsbot/IRC.hs index d397456..cd6b7b8 100644 --- a/Hsbot/IRC.hs +++ b/Hsbot/IRC.hs @@ -4,9 +4,12 @@ module Hsbot.IRC , connectServer , initServer , parseIrcMsg + , ping + , pong )where import Control.Monad +import Data.List(isPrefixOf) import Network import qualified Network.IRC as IRC import System.IO @@ -56,3 +59,11 @@ initServer (server, handle) = do mapM_ (sendstr handle . IRC.encode . IRC.joinChan) (channels server) return () +-- | Check if a message is a PING +ping :: String -> Bool +ping = isPrefixOf "PING :" + +-- | Send a pong message given a ping message +pong :: Handle -> String -> IO () +pong handle str = sendstr handle $ "PONG " ++ (drop 5 str) + |