From: Andy Spencer Date: Thu, 25 Apr 2013 16:08:24 +0000 (+0000) Subject: Fix topic parsing and cleanup globals X-Git-Url: http://pileus.org/git/?p=~andy%2Frhawk;a=commitdiff_plain;h=b85e536ddbfb4240262117977d2454e355d3424e Fix topic parsing and cleanup globals --- diff --git a/irc.awk b/irc.awk index fe94a95..c162c3e 100644 --- a/irc.awk +++ b/irc.awk @@ -179,11 +179,11 @@ CMD == "PING" { } CMD == "332" { - CMD = "TOPIC" + TOPICS[ARG[2]] = MSG } CMD == "TOPIC" { - topics[DST] = MSG + TOPICS[ARG[1]] = MSG } # Authentication @@ -192,6 +192,8 @@ CMD == "319" { gsub(/[@+]/, "") for (i=1; i<=NF; i++) send("WHO " $i " %uhnar") + for (i=1; i<=NF; i++) + send("TOPIC " $i) } CMD == "ACCOUNT" { diff --git a/rhawk b/rhawk index 30e0f34..74dae38 100755 --- a/rhawk +++ b/rhawk @@ -103,10 +103,9 @@ function email(to, from, subj, body, sendmail) } BEGIN { pollchan = "#sfvlug" } -#(CMD == "TOPIC" && systime()-lastpoll > 60*60*24) || (CMD == "PING" && systime()-lastpoll > 60*60*24) || (CMD == "PRIVMSG" && /^\.poll/) { - if (!topics[pollchan]) { + if (!TOPICS[pollchan]) { debug("Unknown topic for " pollchan); send("TOPIC " pollchan) next @@ -121,10 +120,10 @@ BEGIN { pollchan = "#sfvlug" } # email("Brian "); if (match(_line, _web_ptrn, _parts)) { _date = _parts[1] " " _parts[2] " " _parts[3] - _topic = topics[pollchan] + _topic = TOPICS[pollchan] sub(_irc_ptrn, _date, _topic) - if (_topic != topics[pollchan]) - topic(pollchan, topics[pollchan] = _topic) + if (_topic != TOPICS[pollchan]) + topic(pollchan, TOPICS[pollchan] = _topic) else debug("topic is already correct") break