Removing proxy test+debugging output
[KiwiIRC.git] / server / clientcommands.js
index 4463d8fdc6d0a087b45a4a025687c2f963ed1b88..d87e13c55a4d615b6f055b33a2d6367e0c87f58d 100644 (file)
@@ -46,11 +46,16 @@ var listeners = {
         // be sent from the IRCd to the target without being truncated.\r
 \r
         var blocks = truncateString(args.msg, 350);\r
-        blocks.forEach(function (block) {\r
-            irc_connection.write('PRIVMSG ' + args.target + ' :' + block);\r
+        blocks.forEach(function (block, idx) {\r
+            // Apply the callback on the last message only\r
+            var cb = (idx === blocks.length - 1) ?\r
+                callback :\r
+                undefined;\r
+\r
+            irc_connection.write('PRIVMSG ' + args.target + ' :' + block, cb);\r
         });\r
     },\r
-    \r
+\r
 \r
     CTCP: function (args, irc_connection, callback) {\r
         if ((args.target) && (args.type)) {\r
@@ -79,6 +84,13 @@ var listeners = {
     },\r
 \r
 \r
+    CHANNEL_INFO: function (args, irc_connection, callback) {\r
+        if (args.channel) {\r
+            irc_connection.write('MODE ' + args.channel, callback);\r
+        }\r
+    },\r
+\r
+\r
     PART: function (args, irc_connection, callback) {\r
         if (args.channel) {\r
             _.each(args.channel.split(","), function (chan) {\r
@@ -101,7 +113,7 @@ var listeners = {
 \r
     KICK: function (args, irc_connection, callback) {\r
         if ((args.channel) && (args.nick)) {\r
-            irc_connection.write('KICK ' + args.channel + ' ' + args.nick + ':' + args.reason, callback);\r
+            irc_connection.write('KICK ' + args.channel + ' ' + args.nick + ' :' + args.reason, callback);\r
         }\r
     },\r
 \r
@@ -120,8 +132,13 @@ var listeners = {
         // be sent from the IRCd to the target without being truncated.\r
 \r
         var blocks = truncateString(args.msg, 350);\r
-        blocks.forEach(function (block) {\r
-            irc_connection.write('NOTICE ' + args.target + ' :' + block);\r
+        blocks.forEach(function (block, idx) {\r
+            // Apply the callback on the last message only\r
+            var cb = (idx === blocks.length - 1) ?\r
+                callback :\r
+                undefined;\r
+\r
+            irc_connection.write('NOTICE ' + args.target + ' :' + block, cb);\r
         });\r
     },\r
 \r
@@ -144,5 +161,11 @@ var listeners = {
         if ((args.target) && (args.data)) {\r
             irc_connection.write('PRIVMSG ' + args.target + ': ' + String.fromCharCode(1) + 'KIWI ' + args.data + String.fromCharCode(1), callback);\r
         }\r
+    },\r
+\r
+    ENCODING: function (args, irc_connection, callback) {\r
+        if (args.encoding) {\r
+            return callback(irc_connection.setEncoding(args.encoding));\r
+        }\r
     }\r
 };\r