X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=rhawk;h=58ea55e710ae5c78d06456064dddaaf24424073d;hb=d835858f06efd16a8044b0c0066a8a498f5f216a;hp=e15c9a34bab482b8882bc2455fd98a1c21796ac1;hpb=9b885b7071b65724be925d8fd05bbc057c4a9567;p=~andy%2Frhawk diff --git a/rhawk b/rhawk index e15c9a3..58ea55e 100755 --- a/rhawk +++ b/rhawk @@ -7,8 +7,9 @@ # Initialization BEGIN { - json_load("var/login.json", login); - json_load("var/plain.json", plain); + json_load("var/login.json", login); + json_load("var/nounicode.json", nounicode); + json_load("var/nocolor.json", nocolor); OWNER = login["owner"]; @@ -21,7 +22,7 @@ BEGIN { delete login if (FIRST) { - join("#rhnoise") + join("#rhtest") join("#rhspades") join("#sfvlug") } @@ -75,15 +76,25 @@ CMD == "NICK" && FROM in bots { } -# Unicode +# Fancy output /[Uu]nicode :-?\(/ { - plain[FROM] = 1 - json_save("var/plain.json", plain); + nounicode[FROM] = 1 + json_save("var/nounicode.json", nounicode); } /[Uu]nicode :-?\)/ { - delete plain[FROM] - json_save("var/plain.json", plain); + delete nounicode[FROM] + json_save("var/nounicode.json", nounicode); +} + +/[Cc]olors :-?\(/ { + nocolor[FROM] = 1 + json_save("var/nocolor.json", nocolor); +} + +/[Cc]olors :-?\)/ { + delete nocolor[FROM] + json_save("var/nocolor.json", nocolor); } # SFV Lug @@ -134,6 +145,11 @@ BEGIN { pollchan = "#sfvlug" } } # Versin/Uptime +function head(cmd, var) { + cmd | getline var + close(cmd) + return var +} function uptime(time, fmt) { fmt = "%d:%02d:%02d:%02d" fmt = "%d days %02d:%02d:%02d" @@ -144,13 +160,13 @@ function uptime(time, fmt) { time / (1 ) % 60) } BEGIN { - _cmd = "git describe --always --dirty"; - _cmd | getline up_version; - close(_cmd); - up_reload = systime(); + up_version = head("git describe --always --dirty") + up_author = head("git log -n1 --format=format:%an") + up_message = head("git log -n1 --format=format:%s") + up_reload = systime(); } -/^\.version/ { - say("version: " up_version) +/^\.(version|rev)/ { + say("version: " up_version " - " up_author " - " up_message) } /^\.uptime/ { _now = systime(); @@ -186,6 +202,87 @@ TO == NICK && /^\.?fortune/ { next } +/\<[Bb][Oo][Ff][Hh]\>/ { + _cmd = "fortune bofh-excuses" + _cmd | getline _fortune + _cmd | getline _fortune + _cmd | getline _fortune + close(_cmd) + say(_fortune) + next +} + +# Morse code +BEGIN { + morse["/" ] = " " + morse[".-.-.-" ] = "." + morse["--..--" ] = "," + morse["..--.." ] = "?" + morse[".----." ] = "'" + morse["-.-.--" ] = "!" + morse["-..-." ] = "/" + morse["-.--." ] = "(" + morse["-.--.-" ] = ")" + morse[".-..." ] = "&" + morse["---..." ] = ":" + morse["-.-.-." ] = ";" + morse["-...-" ] = "=" + morse[".-.-." ] = "+" + morse["-....-" ] = "-" + morse["..--.-" ] = "_" + morse[".-..-." ] = "\"" + morse["...-..-"] = "$" + morse[".--.-." ] = "@" + morse[".-" ] = "a" + morse["-..." ] = "b" + morse["-.-." ] = "c" + morse["-.." ] = "d" + morse["." ] = "e" + morse["..-." ] = "f" + morse["--." ] = "g" + morse["...." ] = "h" + morse[".." ] = "i" + morse[".---" ] = "j" + morse["-.-" ] = "k" + morse[".-.." ] = "l" + morse["--" ] = "m" + morse["-." ] = "n" + morse["---" ] = "o" + morse[".--." ] = "p" + morse["--.-" ] = "q" + morse[".-." ] = "r" + morse["..." ] = "s" + morse["-" ] = "t" + morse["..-" ] = "u" + morse["...-" ] = "v" + morse[".--" ] = "w" + morse["-..-" ] = "x" + morse["-.--" ] = "y" + morse["--.." ] = "z" + morse["-----" ] = "0" + morse[".----" ] = "1" + morse["..---" ] = "2" + morse["...--" ] = "3" + morse["....-" ] = "4" + morse["....." ] = "5" + morse["-...." ] = "6" + morse["--..." ] = "7" + morse["---.." ] = "8" + morse["----." ] = "9" +} + +/^\.morse/ { + gsub(/[^.\-\/]/, " ") + _str = "" + for (i=2; i<=NF; i++) + if ($i in morse) + _str = _str morse[$i] + if (_str) + reply(_str) + else + reply("hush it, you pile of bologna") +} + # Noise AUTH == OWNER && /^go go gadget woop/ { for (i=20; i>0; i--) @@ -262,6 +359,15 @@ FROM == "rhnoise" && $2 == "slaps" && $3 == NICK { say("THE LARCH"); } +/(for what|that for)\?$/ { + say("For great justice!"); +} + +/\/ { -# for (_i=1; _i<=length(user_scores); _i++) -# say(user_scores[_i]["user"] "--"); -#} +BEGIN { + user_scores[0] = 1; +} + +/^\.(scores|scoreboard)$/ { + delete user_scores +} + +FROM == "rhnoise" && !length(user_scores) { + if (split(MSG, _parts, /, /)) { + for (_i=1; _i<=length(_parts); _i++) { + split(_parts[_i], _tmp, ": "); + user_scores[_i]["user"] = _tmp[1]; + user_scores[_i]["score"] = _tmp[2]; + } + } +} + +length(user_scores) && +tolower($0) ~ /\/ { + _count = 0; + for (_i=1; _i<=length(user_scores); _i++) { + _user = user_scores[_i]["user"]; + _score = user_scores[_i]["score"]; + if (_user in USERS) continue + if (_score == 1) { say(_user "--"); _count++; } + if (_score == -1) { say(_user "++"); _count++; } + } + if (_count) { + delete user_scores; + say(".scores"); + } else { + say("looks like you're safe.. for now.."); + } +} + +# Vote relay +DST != "#rhnoise" && /\<[a-zA-Z0-9_]{3,16}(\+\+|--)/ { + say("#rhnoise", "(" DST ") " FROM ": " MSG); +} # Misc { fflush("") }