]> Pileus Git - ~andy/rhawk/blobdiff - rhawk
Improve input parsing
[~andy/rhawk] / rhawk
diff --git a/rhawk b/rhawk
index da7c9ba9599fe2c9dbdd060d9cee26e3b5c468cd..46e2c658bd4e22cecdc1bde3fee326cc90a232ca 100755 (executable)
--- a/rhawk
+++ b/rhawk
@@ -1,6 +1,7 @@
 #!awk -f
 
 @include "irc.awk"
+@include "json.awk"
 @include "spades.awk"
 #@include "email.awk"
 
@@ -8,6 +9,7 @@
 BEGIN {
        OWNER = "andy753421"
        connect("localhost", "rhawk", "#rhtest");
+       json_load("var/plain.json", plain);
        if (FIRST) {
                join("#rhnoise")
                join("#rhspades")
@@ -46,7 +48,7 @@ FROM == OWNER && TO == NICK && /^\.msg/ {
 }
 
 # Kick handling
-CMD == "KICK" && ARG == NICK {
+CMD == "KICK" && ARG[2] == NICK {
        kick_delay = (kick_delay + 2) * 2
        system("sleep " kick_delay)
        join(DST)
@@ -66,10 +68,12 @@ CMD == "NICK" && FROM in bots {
 # Unicode
 /[Uu]nicode :-?\(/ {
        plain[FROM] = 1
+       json_save("var/plain.json", plain);
 }
 
 /[Uu]nicode :-?\)/ {
-       plain[FROM] = 0
+       delete plain[FROM]
+       json_save("var/plain.json", plain);
 }
 
 # SFV Lug
@@ -103,8 +107,8 @@ BEGIN { pollchan = "#sfvlug" }
        _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 <brian@zimage.com>");
+               #if (match(_line, _web_tba))
+               #       email("Brian <brian@zimage.com>");
                if (match(_line, _web_ptrn, _parts)) {
                        _date  = _parts[1] " " _parts[2] " " _parts[3]
                        _topic = topics[pollchan]
@@ -117,10 +121,10 @@ BEGIN { pollchan = "#sfvlug" }
                }
        }
        lastpoll = systime()
-       close(cmd)
+       close(_curl)
 }
 
-# Uptime
+# Versin/Uptime
 function uptime(time,  fmt) {
        fmt = "%d:%02d:%02d:%02d"
        fmt = "%d days %02d:%02d:%02d"
@@ -131,8 +135,14 @@ function uptime(time,  fmt) {
                time / (1       ) % 60)
 }
 BEGIN {
+       _cmd = "git describe --always --dirty";
+       _cmd | getline up_version;
+       close(_cmd);
        up_reload = systime();
 }
+/^\.version/ {
+       say("version: " up_version)
+}
 /^\.uptime/ {
        _now = systime();
        say("uptime: " uptime(_now - START) ", " \
@@ -191,6 +201,7 @@ TO == NICK && DST ~ /^#/ {
 
 #DST != "#sfvlug" &&
 !(FROM in bots) &&
+CMD == "PRIVMSG" &&
 MSG !~ /^\./ &&
 /awk/ {
        say("Awk, awk, awk! I'm a bird!")