Username and password server credentials. Specifically to allow connection to slack IRC.

This commit is contained in:
Darrell Taylor 2015-10-22 19:00:03 +01:00
parent 4121abf5d2
commit d0ff3621c2
2 changed files with 19 additions and 3 deletions

View File

@ -200,6 +200,14 @@
<label for="node-config-input-nickname"><i class="fa fa-user"></i> <span data-i18n="irc.label.nickname"></span></label>
<input type="text" id="node-config-input-nickname">
</div>
<div class="form-row">
<label for="node-config-input-username"><i class="fa fa-user"></i> <span data-i18n="irc.label.username"></span></label>
<input type="text" id="node-config-input-username">
</div>
<div class="form-row">
<label for="node-config-input-password"><i class="fa fa-lock"></i> <span data-i18n="irc.label.password"></span></label>
<input type="text" id="node-config-input-password">
</div>
</script>
<script type="text/javascript">
@ -210,7 +218,13 @@
port: {value:"6667"},
ssl: {value:false},
cert: {value:false},
nickname: {value:"",required:true}
nickname: {value:"",required:true},
username: {value:""},
password: {value:""}
},
credentials: {
username: {type:"text"},
password: {type:"password"}
},
label: function() {
return this.server;

View File

@ -27,6 +27,8 @@ module.exports = function(RED) {
this.cert = n.cert || false;
this.channel = n.channel;
this.nickname = n.nickname;
this.username = n.username;
this.password = n.password;
this.lastseen = 0;
this.ircclient = null;
this.on("close", function() {
@ -49,7 +51,7 @@ module.exports = function(RED) {
if (node.serverConfig.ircclient === null) {
node.log(RED._("irc.errors.connect")+": "+node.serverConfig.server);
node.status({fill:"grey",shape:"dot",text:"node-red:common.status.connecting"});
var options = {autoConnect:true,autoRejoin:false,floodProtection:true,secure:node.serverConfig.ssl,selfSigned:node.serverConfig.cert,port:node.serverConfig.port,retryDelay:20000};
var options = {autoConnect:true,autoRejoin:false,floodProtection:true,secure:node.serverConfig.ssl,selfSigned:node.serverConfig.cert,port:node.serverConfig.port,retryDelay:20000,userName:node.serverConfig.username,password:node.serverConfig.password};
node.serverConfig.ircclient = new irc.Client(node.serverConfig.server, node.serverConfig.nickname, options);
node.serverConfig.ircclient.setMaxListeners(0);
node.serverConfig.ircclient.addListener('error', function(message) {
@ -184,7 +186,7 @@ module.exports = function(RED) {
if (node.serverConfig.ircclient === null) {
node.log(RED._("irc.errors.connect")+": "+node.serverConfig.server);
node.status({fill:"grey",shape:"dot",text:"node-red:common.status.connecting"});
var options = {autoConnect:true,autoRejoin:false,floodProtection:true,secure:node.serverConfig.ssl,selfSigned:node.serverConfig.cert,port:node.serverConfig.port,retryDelay:20000};
var options = {autoConnect:true,autoRejoin:false,floodProtection:true,secure:node.serverConfig.ssl,selfSigned:node.serverConfig.cert,port:node.serverConfig.port,retryDelay:20000,userName:node.serverConfig.username,password:node.serverConfig.password};
node.serverConfig.ircclient = new irc.Client(node.serverConfig.server, node.serverConfig.nickname, options);
node.serverConfig.ircclient.setMaxListeners(0);
node.serverConfig.ircclient.addListener('error', function(message) {