10 connect("localhost", "rhawk", "#rhtest");
19 FROM == OWNER && TO == NICK && /^die in a fire/ {
20 say("Ack, argh, barasdjf..")
24 FROM == OWNER && TO == NICK && /^reload/ {
29 FROM == OWNER && TO == NICK && /^rejoin/ {
35 FROM == OWNER && TO == NICK && /^(join|part)/ {
36 match(MSG, /(join|part) +(#+\w+)/, arr)
37 if (arr[1] && arr[2]) {
38 send(toupper(arr[1]) " " arr[2]);
43 FROM == OWNER && TO == NICK && /^\.msg/ {
44 match(MSG, /.*\.msg +(#*\w+) +(.*)/, arr)
45 send("PRIVMSG " arr[1] " :" arr[2])
49 CMD == "KICK" && ARG == NICK {
50 kick_delay = (kick_delay + 2) * 2
51 system("sleep " kick_delay)
53 reply("I feel happy!")
57 FROM ~ /bo+t$|rhnoise/ {
61 CMD == "NICK" && FROM in bots {
76 BEGIN { pollchan = "#sfvlug" }
77 (CMD == "PING" && systime()-lastpoll > 60*60*24) ||
78 (CMD == "PRIVMSG" && /^\.poll/) {
79 if (!topics[pollchan]) {
80 debug("Unknown topic for " pollchan);
81 send("TOPIC " pollchan)
84 _curl = "curl -s http://sfvlug.org/"
85 _day = "(Sun|Mon|Tue|Wed|Thu|Fri|Sat)"
86 _web_ptrn = "next meeting.*" _day "\\w+[, ]+([A-Z]\\w+) +([0-9]+)[, ]+([0-9]+)"
87 _irc_ptrn = _day "\\w*[, ]+([A-Z]\\w+) +([0-9]+)"
88 while (_curl | getline _line) {
89 #debug("match(" _line ", " _web_ptrn ", ..)")
90 if (match(_line, _web_ptrn, _parts)) {
91 _date = _parts[1] " " _parts[2] " " _parts[3]
92 _topic = topics[pollchan]
93 sub(_irc_ptrn, _date, _topic)
94 if (_topic != topics[pollchan])
95 topic(pollchan, topics[pollchan] = _topic)
97 debug("topic is already correct")
106 function uptime(time, fmt) {
107 fmt = "%d:%02d:%02d:%02d"
108 fmt = "%d days %02d:%02d:%02d"
111 time / (60*60 ) % 24,
116 up_reload = systime();
120 say("uptime: " uptime(_now - START) ", " \
121 "reload: " uptime(_now - up_reload))
125 TO == NICK && /^/ { extra = "" }
126 TO == NICK && /^\.?fortune.*-o/ { extra = "-o" }
127 TO == NICK && /^\.?fortune/ {
128 gsub(/.*\.?fortune *|-[a-z]* *|[^a-zA-Z0-9 ]/, "", MSG)
129 cmd = "fortune " extra " " (MSG ? "-m '" MSG "'" : "-s")
131 while (cmd | getline _fortune && _lines < 5) {
140 FROM ~ OWNER && /^go go gadget woop/ {
142 say(".delay " i " seconds; .woop " i)
146 gsub(/[^Oo]/, "", $1)
153 for (i=1; i<_len; i++)
154 _woop = _woop " " msg
158 TO == NICK && /^[Ww][Oo]+[Pp] *([0-9]*)/ {
170 TO == NICK && DST ~ /^#/ {
177 say("Awk, awk, awk! I'm a bird!")
181 ((TO == NICK && /(help|halp)/) ||
182 /^[^.](help|halp)/) {
183 reply("Nothing can help you now..")
186 /(\<[Hh][Oo]\>.*){3}/ {
187 say("\00309Merry \00304Christmas!")
191 tolower($0) ~ /\<cloud\>/ {
192 _cmd = "shuf clouds.txt"
193 _cmd | getline _cloud
198 /^headshot [Cc]hristmas/ {
199 say(".load Christmas")
201 say(".unload Christmas")
204 FROM == "rhnoise" && $2 == "slaps" && $3 == NICK {
214 FROM == "rhnoise" && load_mod {
215 say(".load " load_mod)
216 say("rhnoise: You slag!")
221 (TO == "rhnoise" && /^load \w+/) ||
222 (DST == "#rhniose" && /^\.load [a-z]\w+/) {
223 gsub(/[^a-zA-Z0-9_]/, " ")
224 load_mod = toupper(substr($2,1,1)) substr($2,2);
227 (DST == "#rhnoise" && /^\.line /) {
230 say("scalawag: You slag!")