diff --git a/exec/chat_sec.js b/exec/chat_sec.js index e560a02c1aa958cd605abffa3a0edad6adae844c..d12a828e9d6b29fbcaa391461b27a96818446fe2 100644 --- a/exec/chat_sec.js +++ b/exec/chat_sec.js @@ -109,19 +109,26 @@ while(bbs.online && !console.aborted) { if(console.aborted || server.length < 4) break; } - if(server.indexOf(' ') < 0) - server += " 6667"; - if(irc_channels.length > 1) { - for(var i = 0; i < irc_channels.length; i++) - console.uselect(i, "IRC Channel", irc_channels[i]); + // Optional list of channels per server (e.g. irc.synchro.net = #synchronet, #bbs) + var channel_list = irc_channels; + if(options[server] !== undefined) + channel_list = options[server].split(','); + var channel; + if(channel_list.length > 1) { + for(var i = 0; i < channel_list.length; i++) { + channel_list[i] = channel_list[i].trim(); + console.uselect(i, "IRC Channel", channel_list[i]); + } var i = console.uselect(); if(i < 0) break; - channel = irc_channels[i]; + channel = channel_list[i]; } else { write("\r\n\x01n\x01y\x01hIRC Channel: "); - var channel = console.getstr(options.irc_channel, 40, K_EDIT|K_LINE|K_AUTODEL); + channel = console.getstr(channel_list[0], 40, K_EDIT|K_LINE|K_AUTODEL); } + if(server.indexOf(' ') < 0) + server += " 6667"; if(!console.aborted && channel.length) { log("IRC to " + server + " " + channel); bbs.exec("?irc -a " + server + " " + channel); // can't be load()ed because it calls exit()