log pongs
[cloogle-irc.git] / cloogle.icl
index f933b2b..f124925 100644 (file)
@@ -48,16 +48,27 @@ process io chan w
 #! io = io <<< ("Received: " +++ resp +++ "\n")
 # ind = indexOf KEY resp
 | ind > 0
-       # cmd = split " " $ rtrim $ subString (ind + size KEY) (size resp - ind) resp
+       # cmd = split " " $ rtrim $ subString (ind + size KEY) (size resp) resp
        #! io =  io <<< ("Received command: " +++ printToString cmd +++ "\n")
        # toSend = case cmd of
                ["stop":_] = Nothing
-               ["ping":_] = Just [msg "pong"]
-               ["help":_] = Just [msg "not implemented yet"]
+               ["ping":xs] = Just [msg $ "pong " +++ join " " xs]
+               ["help"] = Just 
+                       [msg "type !help cmd for command specific help"
+                       ,msg "available commands: help, ping"]
+               ["help":c:_] = case c of
+                       "help" = Just [msg "help [CMD] - I will print general help or the help of CMD"] 
+                       "ping" = Just [msg "ping [TXT] - I will reply with pong and the optionar TXT"] 
+                       _ = Just [msg "Unknown command"]
                [c:_] = Just [msg $ join " " ["unknown command: " , c, ",  type !help to get help"]]
        | isNothing toSend = (io, chan, w)
        # (chan, w) = send (map toString $ fromJust toSend) chan w
        = process io chan w
+| indexOf "PING :" resp > 0
+       # cmd = rtrim $ subString (indexOf "PING :" resp + size "PING :") (size resp) resp
+       #! io <<< (toString $ PONG cmd Nothing) <<< "\n"
+       # (chan, w) = send [toString $ PONG cmd Nothing] chan w
+       = process io chan w
 = process io chan w
 
 Start :: *World -> *World