-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathautomsg.js
71 lines (67 loc) · 1.73 KB
/
automsg.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
// $Id: automsg.js,v 1.3 2020/04/19 03:15:35 rswindell Exp $
// vi: tabstop=4
"use strict";
require("text.js", 'AutoMsg');
require("userdefs.js", 'UFLAG_W');
require("sbbsdefs.js", 'P_NOABORT');
function automsg()
{
const quote_fmt=" > %.*s\r\n";
var automsg = system.data_dir + "msgs/auto.msg";
while(bbs.online && !js.termiated) {
bbs.nodesync();
console.mnemonics(bbs.text(AutoMsg));
switch(console.getkeys("RWQD",0)) {
case 'R':
console.printfile(automsg,P_NOABORT|P_NOATCODES|P_WORDWRAP|P_NOERROR);
break;
case 'W':
if(user.security.restrictions&UFLAG_W) {
console.print(bbs.text[R_AutoMsg]);
break;
}
bbs.action=NODE_AMSG;
bbs.nodesync();
console.print("\r\nMaximum of 3 lines:\r\n");
var str = console.getstr(str, 76, K_WRAP|K_MSG);
if(!str)
break;
var buf = format(quote_fmt, 79, str);
str = console.getstr(str, 76, K_WRAP|K_MSG);
if(str) {
buf += format(quote_fmt, 79, str);
str = console.getstr(str, 76, K_MSG);
if(str) {
buf += format(quote_fmt, 79, str);
}
}
if(console.yesno(bbs.text(OK))) {
var anon = false;
if(user.security.exemptions&UFLAG_A) {
if(!console.noyes(bbs.text(AnonymousQ)))
anon = true;
}
var file = new File(automsg);
if(!file.open("w")) {
alert("Error " + file.error + " opening " + file.name);
return;
}
var tmp = format("%s #%d", user.alias, user.number);
if(anon)
tmp = bbs.text(Anonymous);
str = format(bbs.text(AutoMsgBy), tmp, system.timestr());
file.write(str);
file.write(buf);
file.close();
}
break;
case 'D':
if(user.is_sysop)
file_remove(automsg);
break;
case 'Q':
return;
}
}
}
automsg();