]> Pileus Git - ~andy/rhawk/blobdiff - rhawk
fix fortune
[~andy/rhawk] / rhawk
diff --git a/rhawk b/rhawk
index 8dedf6a0f7cf9d5f9d3153c54dbae5cdaa8af427..37b07e37ea5670592060e6c4fa977bd6d43ecf2f 100755 (executable)
--- a/rhawk
+++ b/rhawk
@@ -67,33 +67,34 @@ CMD == "NICK" && FROM in bots {
 }
 
 # SFV Lug
-#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)
-#}
-
+BEGIN { pollchan = "#sfvlug" }
+(CMD == "PING"    && systime()-lastpoll > 60*60*24) ||
+(CMD == "PRIVMSG" && DST == pollchan && /^\.poll/) {
+       if (!topics[pollchan]) {
+               debug("Unknown topic for " 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
-TO == NICK && /^/             { extra = ""   }
-TO == NICK && /^.fortune.*-o/ { extra = "-o" }
-TO == NICK && /^.fortune/     {
-       gsub(/.*\.fortune *|-[a-z]* *|[^a-zA-Z0-9 ]/, "", MSG)
+TO == NICK && /^/                 { extra = ""   }
+TO == NICK && /^\.?fortune.*-o/ { extra = "-o" }
+TO == NICK && /^\.?fortune/     {
+       gsub(/.*\.?fortune *|-[a-z]* *|[^a-zA-Z0-9 ]/, "", MSG)
        cmd = "fortune " extra " " (MSG ? "-m '" MSG "'" : "-s")
        while (cmd | getline _fortune && lines < 5) {
                say(_fortune)
@@ -115,7 +116,7 @@ TO == NICK && DST ~ /^#/ {
 
 !(FROM in bots) &&
 MSG !~ /^\./ &&
-/\<awk\>/ {
+/awk/ {
        say("Awk, awk, awk! I'm a bird!")
 }