Added NOTICE interface
authorDarren <darren@darrenwhitlen.com>
Mon, 18 Jul 2011 16:03:23 +0000 (17:03 +0100)
committerDarren <darren@darrenwhitlen.com>
Mon, 18 Jul 2011 16:03:23 +0000 (17:03 +0100)
js/front.js
js/gateway.js
node/kiwi.js

index ffaba93353381548d3a6d6d46e1fb4cd1b61aef2..5e21f505908f1533513045f11bbc4dddfe41088a 100644 (file)
@@ -221,6 +221,16 @@ var front = {
                                //front.tabviews[destination.toLowerCase()].addMsg(null, ' ', '* '+data.nick+' '+data.msg, 'color:green;');
                                front.cur_channel.addMsg(null, ' ', '* ' + gateway.nick + ' ' + msg.substring(4), 'action', 'color:#555;');
                                break;
+
+                       case '/notice':
+                               var dest, msg;
+                               dest = parts[1];
+                               msg = parts.slice(2).join(' ');
+
+                               gateway.notice(dest, msg);
+                               this.onNotice({}, {nick:gateway.nick, channel:dest, msg:msg});
+                               break;
+
                        case '/quit':
                 gateway.quit(msg.split(" ",2)[1]);
                 break;
index 46d6e51b3ae09cd446a5ac0e7d3bdd8c92d68427..97f6800f7d4c325bbe58ebe802496456a878305d 100644 (file)
@@ -131,6 +131,19 @@ var gateway = {
     },
 
 
+    notice: function (s_target, s_msg, callback) {
+           var data = {
+                   method: 'notice',
+                   args: {
+                           target: s_target,
+                           msg: s_msg
+                   }
+           };
+
+           gateway.sendData(data, callback);
+    },
+
+
     join: function (s_channel, callback) {
            var data = {
                    method: 'join',
index cdc70f2031474ec18d73490676ce49759564a74d..05a0e0b3e4c04b9d9f86dbd2827fc2c1f94fb92f 100644 (file)
@@ -272,9 +272,9 @@ var ircSocketDataHandler = function (data, websocket, ircSocket) {
 
 //setup websocket listener
 if (config.listen_ssl) {
-    var io = ws.listen(config.port, {secure: true, key: fs.readFileSync(__dirname + '/' + config.ssl_key), cert: fs.readFileSync(__dirname + '/' + config.ssl_cert)});
+    var io = ws.listen('127.0.0.1:'+config.port.toString(), {secure: true, key: fs.readFileSync(__dirname + '/' + config.ssl_key), cert: fs.readFileSync(__dirname + '/' + config.ssl_cert)});
 } else {
-    var io = ws.listen(config.port, {secure: false});
+    var io = ws.listen('127.0.0.1:'+config.port.toString(), {secure: false});
 }
 io.sockets.on('connection', function (websocket) {
     websocket.on('irc connect', function (nick, host, port, ssl, callback) {
@@ -337,6 +337,11 @@ io.sockets.on('connection', function (websocket) {
                 websocket.ircSocket.destroySoon();
                 websocket.disconnect();
                 break;
+            case 'notice':
+                if ((args.target) && (args.msg)) {
+                    websocket.ircSocket.write('NOTICE ' + args.target + ' :' + args.msg + '\r\n');
+                }
+                break;
             default:
             }
             if ((callback) && (typeof (callback) === 'function')) {