BEGIN {
json_load("var/login.json", login);
json_load("var/nounicode.json", nounicode);
- json_load("var/nocolor.json", nocolors);
+ json_load("var/nocolor.json", nocolor);
OWNER = login["owner"];
delete login
if (FIRST) {
- join("#rhnoise")
+ join("#rhtest")
join("#rhspades")
join("#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"
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();
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["/" ] = " "
say("THE LARCH");
}
+/(for what|that for)\?$/ {
+ say("For great justice!");
+}
+
+/\<nazi/ {
+ say("And now it's...");
+ say("Springtime for Hitler and Germany!");
+}
+
# God damn commands
FROM == "rhnoise" && load_mod {
say(".load " load_mod)
}
# Decrementer
-#BEGIN {
-# user_scores[0] = 1
-#}
-#
-#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];
-# }
-# }
-#}
-#
-#FROM == "rhnoise" && /^User Scores:$/ {
-# delete user_scores
-#}
-#
-#AUTH == OWNER && length(user_scores) &&
-#tolower($0) ~ /\<nuclear launch detected\>/ {
-# for (_i=1; _i<=length(user_scores); _i++)
-# say(user_scores[_i]["user"] "--");
-#}
+BEGIN {
+ user_scores[0] = 1;
+ delete user_scores
+}
+
+/^\.(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) ~ /\<nuclear launch detected\>/ {
+ _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("") }