Skip to content
Snippets Groups Projects
Commit 4e4cd679 authored by echicken's avatar echicken
Browse files

Optionally notify via email

parent 93d8f4e5
Branches
Tags
No related merge requests found
......@@ -18,3 +18,10 @@ irc_pull = true
irc_server = irc.synchro.net
irc_port = 6667
irc_channel = #my_bbs_channel
[email]
enabled = true
recipients = sysop@mybbs.synchro.net,1234567890@sms.celluar.blah
from = noreply@mybbs.synchro.net
subject_format = %s is paging the sysop
body_format = %s is is paging the sysop to chat on %s
......@@ -82,3 +82,24 @@ var Scanner = function () {
this.reset();
}
function notify_via_email(settings, un) {
var usr = new User(un);
var subject = format(settings.subject_format, usr.alias);
var body = format(settings.body_format, usr.alias, system.name);
var rcpt_list = settings.recipients.split(',').map(
function (e) { return { to : e, to_net_type : 5, to_net_addr : e }; }
);
var header = {
from : settings.from,
subject : subject,
to : rcpt_list[0].to,
to_net_type : 5,
to_net_addr : rcpt_list[0].to_net_addr
};
rcpt_list.shift();
var mb = new MsgBase('mail');
mb.open();
mb.save_msg(header, body, rcpt_list);
mb.close();
}
......@@ -8,17 +8,22 @@ function get_node_response_time(filename) {
}
function await_page_response(settings, frame) {
if (!settings.queue.disabled) {
var queue = new Queue(settings.queue.queue_name);
var valname = "chat_" + bbs.node_num;
} else {
var valname = system.ctrl_dir + 'syspage_response.' + bbs.node_num;
}
if (settings.email.enabled) notify_via_email(settings.email, user.number);
var answered = false;
var stime = system.timer;
var utime = system.timer;
var progress_bar = new ProgressBar(1, 2, frame.width, frame);
progress_bar.init();
while (
(system.timer - stime) * 1000 < settings.terminal.wait_time &&
console.inkey(K_NONE, 5) == '' &&
......@@ -43,12 +48,16 @@ function await_page_response(settings, frame) {
bbs.node_sync();
yield();
}
progress_bar.set_progress(100);
if (frame.cycle()) {
console.gotoxy(console.screen_columns, console.screen_rows);
}
if (settings.queue.disabled && file_exists(valname)) file_remove(valname);
return answered;
}
function main() {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment