5 json_save("var/mail.json", mail_enable)
9 json_load("var/mail.json", mail_enable)
10 for (_user in mail_enable)
11 debug("watching " mail_enable[_user] " for " _user)
14 TO == NICK && /^sync/ {
15 json_load("var/mail.json", mail_enable)
16 for (_user in mail_enable)
17 debug("watching " mail_enable[_user] " for " _user)
22 mail_hist = 5*60 # If the users has not spoken withn mail_before before
23 mail_before = 5*60 # someone mentions their name and does not reply within
24 mail_after = 5*60 # mail_after seconds, email them hist seconds of the backlog
26 mail_from = NICK "<andy753421@gmail.com>"
27 mail_err = "If you received this message in error,\n" \
28 "someone in #rhnoise is being a jerk"
31 function mail_send(addr, subj, body,
34 gsub(/[^a-zA-Z0-9_+@.-]/, "", addr)
35 sendmail = "/usr/sbin/sendmail " addr
36 print "To: " addr | sendmail
37 print "From: " mail_from | sendmail
38 print "Subject: " subj | sendmail
41 print mail_err | sendmail
45 function mail_prep(user, chan,
50 addr = mail_enable[user]
51 sn = asorti(mail_log[chan], ss)
53 for (si = 1; si <= sn; si++) {
55 mn = length(mail_log[chan][sec])
56 for (mi = 0; mi < mn; mi++) {
57 msg = mail_log[chan][sec][mi]
58 if (sec > mail_ready[user][chan] - mail_hist) {
67 say(chan, "notifying " user " at " addr)
68 mail_send(addr, "Message for " user " in " chan, body)
69 delete mail_ready[user][chan]
72 function mail_run( user, chan, ready, time)
74 for (user in mail_ready)
75 for (chan in mail_ready[user]) {
76 ready = mail_ready[user][chan]
77 delay = systime() - ready
78 if (ready && delay > mail_after)
86 reply("notifying " $2 " for " $3)
94 gsub(/[^a-zA-Z0-9_+@.-]/, "", _user)
95 gsub(/[^a-zA-Z0-9_+@.-]/, "", _addr)
96 reply("notifying " _addr " for " _user)
97 mail_enable[_user] = _addr
103 reply("well fine then")
104 delete mail_enable[$2]
105 delete mail_ready[$2]
111 reply("well fine then")
112 delete mail_enable[FROM]
113 delete mail_ready[FROM]
114 delete mail_seen[FROM]
119 for (_user in mail_enable)
120 reply("\"" _user "\" <" mail_enable[_user] ">")
124 for (_user in mail_enable) {
125 _idle = systime() - mail_seen[_user]
126 if ($0 ~ "\\<"_user"\\>" && _idle > mail_before) {
127 mail_ready[_user][DST] = systime()
128 debug("queueing messages to " DST " for " _user)
133 FROM in mail_enable {
134 delete mail_ready[FROM]
135 mail_seen[FROM] = systime()
136 debug("clearing message for " FROM)
141 _i = length(mail_log[DST][_t])
142 if (_i==0) delete mail_log[DST][_t]
143 mail_log[DST][_t][_i] = DST " " strftime("(%H:%M:%S) ") FROM ": " $0
144 #debug("log["DST"]["_t"]["_i"] = "mail_log[DST][_t][_i])