From: Mart Lubbers Date: Sun, 5 Mar 2017 14:12:44 +0000 (+0100) Subject: better code, ping response X-Git-Url: https://git.martlubbers.net/?p=cloogle-irc.git;a=commitdiff_plain;h=8b7012942d09004336c8dc64d6a00d320d42220e better code, ping response --- diff --git a/IRC.dcl b/IRC.dcl index 0db138c..d88205b 100644 --- a/IRC.dcl +++ b/IRC.dcl @@ -27,8 +27,8 @@ from StdOverloaded import class fromInt, class toInt, class toString | OPER String String | PART [String] | PASS String - | PING [String] - | PONG [String] + | PING String (Maybe String) + | PONG String (Maybe String) | PRIVMSG String String | QUIT (Maybe String) | REHASH diff --git a/IRC.icl b/IRC.icl index 645edbd..098c759 100644 --- a/IRC.icl +++ b/IRC.icl @@ -38,8 +38,8 @@ instance toString IRCCommands where //OPER String String //PART [String] //PASS String - //PING [String] - //PONG [String] + PING a mb = join " " ["PING",a:maybeToList mb] + PONG a mb = join " " ["PONG",a:maybeToList mb] PRIVMSG dest msg = join " " ["PRIVMSG", dest, ":"+++msg] QUIT msg = join " " ["QUIT":maybeToList msg] //REHASH diff --git a/cloogle.icl b/cloogle.icl index f933b2b..27001f1 100644 --- a/cloogle.icl +++ b/cloogle.icl @@ -48,7 +48,7 @@ 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 @@ -58,6 +58,10 @@ process io chan w | 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 + # (chan, w) = send [toString $ PONG cmd Nothing] chan w + = process io chan w = process io chan w Start :: *World -> *World