Skip to content
Snippets Groups Projects
Select Git revision
  • dailybuild_linux-x64
  • dailybuild_win32
  • master default protected
  • sqlite
  • rip_abstraction
  • dailybuild_macos-armv8
  • dd_file_lister_filanem_in_desc_color
  • mode7
  • dd_msg_reader_are_you_there_warning_improvement
  • c23-playing
  • syncterm-1.3
  • syncterm-1.2
  • test-build
  • hide_remote_connection_with_telgate
  • 638-can-t-control-c-during-a-file-search
  • add_body_to_pager_email
  • mingw32-build
  • cryptlib-3.4.7
  • ree/mastermind
  • new_user_dat
  • sbbs320d
  • syncterm-1.6
  • syncterm-1.5
  • syncterm-1.4
  • sbbs320b
  • syncterm-1.3
  • syncterm-1.2
  • syncterm-1.2rc6
  • syncterm-1.2rc5
  • push
  • syncterm-1.2rc4
  • syncterm-1.2rc2
  • syncterm-1.2rc1
  • sbbs319b
  • sbbs318b
  • goodbuild_linux-x64_Sep-01-2020
  • goodbuild_win32_Sep-01-2020
  • goodbuild_linux-x64_Aug-31-2020
  • goodbuild_win32_Aug-31-2020
  • goodbuild_win32_Aug-30-2020
40 results

automsg.js

Blame
  • automsg.js 1.75 KiB
    // $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 && !console.aborted) {
    		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();