]> Pileus Git - ~andy/rhawk/commitdiff
better
authorAndy Spencer <andy753421@gmail.com>
Mon, 23 Jan 2012 06:56:41 +0000 (06:56 +0000)
committerAndy Spencer <andy753421@gmail.com>
Mon, 23 Jan 2012 06:56:41 +0000 (06:56 +0000)
irc.awk
rhawk
testirc.txt

diff --git a/irc.awk b/irc.awk
index 0681885f41386b2e8f0684c57f91a19d8030419e..84b88f458c7dba90ca121fd9769acbae656bb8a0 100644 (file)
--- a/irc.awk
+++ b/irc.awk
@@ -41,6 +41,7 @@ function set() {
        debug("DST:  " DST)
        debug("FROM: " FROM)
        debug("TO:   " TO)
+       debug("ARG:  " ARG)
        debug("MSG:  " MSG)
 }
 
@@ -108,14 +109,15 @@ function reload() {
 
 # Input parsing
 // {
-       match($0, /(:([^ ]+) +)?(([A-Z0-9]+) +)(([^ ]+) +)?([^:]*:(.*))/, arr);
+       match($0, /(:([^ ]+) +)?(([A-Z0-9]+) +)(([^ ]+) +)?(([^: ]+) +)?(:(.*))/, arr);
        gsub(/\s+/,     " ", arr[8])
        gsub(/^ | $/,    "", arr[8])
        gsub(/\3[0-9]*/, "", arr[8])
        SRC = arr[2]
        CMD = arr[4]
        DST = arr[6]
-       MSG = arr[8]
+       ARG = arr[8]
+       MSG = arr[10]
 
        match(SRC, /([^! ]+)!/, arr);
        FROM = arr[1]
@@ -137,7 +139,11 @@ CMD == "PING" {
        send("PING " MSG)
 }
 
-CMD == "332" ||
+CMD == "332" {
+       CMD = "TOPIC"
+       DST = ARG
+}
+
 CMD == "TOPIC" {
        topics[DST] = MSG
 }
diff --git a/rhawk b/rhawk
index 62b5207de40a1506e6f3bcdda7eca19f7d38af7a..8dedf6a0f7cf9d5f9d3153c54dbae5cdaa8af427 100755 (executable)
--- a/rhawk
+++ b/rhawk
@@ -40,7 +40,7 @@ FROM == OWNER && TO == NICK && /^\.msg/ {
 }
 
 # Kick handling
-CMD == "KICK" {
+CMD == "KICK" && ARG == NICK {
        kick_delay = (kick_delay + 2) * 2
        system("sleep " kick_delay)
        join(DST)
@@ -67,25 +67,26 @@ CMD == "NICK" && FROM in bots {
 }
 
 # SFV Lug
-(systime()-lastpoll > 60*60*24 && CMD == "PING") ||
-(/^\.poll/ && DST == "#sfvlug" && CMD == "PRIVMSG") {
-       chan = "#sfvlug"
-       if (!topics[chan])
-               next
-       lastpoll = systime()
-       cmd = "curl -s http://sfvlug.org/"
-       day = "(Sun|Mon|Tue|Wed|Thu|Fri|Sat)"
-       web = "next meeting.*" day "\\w+[, ]+([A-Z]\\w+) +([0-9]+)[, ]+([0-9]+)"
-       irc = day "\\w*[, ]+([A-Z]\\w+) +([0-9]+)"
-       while (cmd | getline line) {
-               if (match(line, web, arr)) {
-                       new = arr[1] " " arr[2] " " arr[3]
-                       sub(irc, new, topics[chan])
-                       topic(topics[chan])
-                       next
-               }
-       }
-}
+#pollchan = "#sfvlug"
+#(CMD == "PING"    && systime()-lastpoll > 60*60*24) ||
+#(CMD == "PRIVMSG" && DST == pollchan && /^\.poll/) {
+#      if (!topics[pollchan])
+#              next
+#      cmd = "curl -s http://sfvlug.org/"
+#      day = "(Sun|Mon|Tue|Wed|Thu|Fri|Sat)"
+#      web = "next meeting.*" day "\\w+[, ]+([A-Z]\\w+) +([0-9]+)[, ]+([0-9]+)"
+#      irc = day "\\w*[, ]+([A-Z]\\w+) +([0-9]+)"
+#      while (cmd | getline line) {
+#              if (match(line, web, arr)) {
+#                      new = arr[1] " " arr[2] " " arr[3]
+#                      sub(irc, new, topics[pollchan])
+#                      topic(pollchan, topics[pollchan])
+#                      break
+#              }
+#      }
+#      lastpoll = systime()
+#      close(cmd)
+#}
 
 
 # Fortune
index 7508afa05495cdfc15177edc8fb7f7898e8b7d18..bd236918f242b1e5698de2f9a9b8e496e15d3826 100644 (file)
@@ -1,2 +1,3 @@
-:andy753421!~a@c.d TOPIC #sfvlug :San Fernando Valley Linux Users Group | Meeting: Sat January 21, 6:00pm Denny's Van Nuys | Website: www.sfvlug.org & Wiki: http://tinyurl.com/tabrr & Meetup: http://meetup.com/sfvlug | Knowledge is power. http://tinyurl.com/2xr7sd
-:andy753421!~a@c.d PRIVMSG #sfvlug :.poll
+:hitchcock.freenode.net 332 rhawk #rhnoise :<beausoleil> ooh, an occupy austin mariachi is going on outside
+:andy753421!~andy@rhlug/a KICK #rhnoise beausoleil :beausoleil
+:andy753421!~andy@rhlug/a KICK #rhnoise rhawk :rhawk