X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=rhawk;h=88112734d6ffbd5d69fa873a6c58766870c68098;hb=cf7a03157ed581ada350fe636c00804c45ef74cc;hp=e9ee570c5ea472da83d0a691266dc2432b4114d5;hpb=58d4cf657d4a09040f556068ba6c7e99e5fd3a16;p=~andy%2Frhawk diff --git a/rhawk b/rhawk index e9ee570..8811273 100755 --- a/rhawk +++ b/rhawk @@ -4,6 +4,7 @@ @include "json.awk" @include "spades.awk" @include "email.awk" +@include "sfvlug.awk" # Initialization BEGIN { @@ -97,53 +98,6 @@ CMD == "NICK" && FROM in bots { json_save("var/nocolor.json", nocolor); } -# SFV Lug -function email(to, from, subj, body, sendmail) -{ - from = NICK "" - subj = "Update sfvlug.org!" - body = "The next SFVLUG meeting is TBA!" - sendmail = "/usr/sbin/sendmail '" to "'" - print "To: " to | sendmail - print "From: " from | sendmail - print "Subject: " subj | sendmail - print "" | sendmail - print body | sendmail - say("Topic out of date, emailing " to); - close(sendmail) -} - -BEGIN { pollchan = "#sfvlug" } -(CMD == "PING" && systime()-lastpoll > 60*60*24) || -(CMD == "PRIVMSG" && /^\.poll/) { - if (!TOPICS[pollchan]) { - debug("Unknown topic for " pollchan); - send("TOPIC " pollchan) - next - } - _curl = "curl -s http://sfvlug.org/" - _day = "(Sun|Mon|Tue|Wed|Thu|Fri|Sat)" - _web_tba = "next meeting is: TBA" - _web_ptrn = "next meeting.*" _day "\\w+[, ]+([A-Z]\\w+) +([0-9]+)[, ]+([0-9]+)" - _irc_ptrn = _day "\\w*[, ]+([A-Z]\\w+) +([0-9]+)" - while (_curl | getline _line) { - #if (match(_line, _web_tba)) - # email("Brian "); - if (match(_line, _web_ptrn, _parts)) { - _date = _parts[1] " " _parts[2] " " _parts[3] - _topic = TOPICS[pollchan] - sub(_irc_ptrn, _date, _topic) - if (_topic != TOPICS[pollchan]) - topic(pollchan, TOPICS[pollchan] = _topic) - else - debug("topic is already correct") - break - } - } - lastpoll = systime() - close(_curl) -} - # Versin/Uptime function head(cmd, var) { cmd | getline var @@ -470,10 +424,29 @@ tolower($0) ~ /\/ { } # Vote relay -DST != "#rhnoise" && /\<[a-zA-Z0-9_]{3,16}(\+\+|--)/ { +DST != "#rhnoise" && DST != NICK && +/\<[a-zA-Z0-9_]{3,16}(\+\+|--)/ { say("#rhnoise", "(" DST ") " FROM ": " MSG); } +# Fun operators +function bang(a, b) { + if (a=="nan") return "nan"; + if (b=="nan") return "nan"; + if (a==b) return "nan"; + if (a==0) return "+0"; + if (b==0) return "-0"; + return 1/(1/a - 1/b); +} + +/^ *[+-]?[0-9]*\.?[0-9]+( *\? *[+-]?[0-9]*\.?[0-9]+)+ *$/ { + gsub(/?/, " "); + _num = $1+0; + for (_i=2; _i<=NF; _i++) + _num = bang(_num, $_i+0); + reply(_num); +} + # Misc { fflush("") }