 +	// Slowly unpack the queue without flooding.
 +	setInterval(dequeue, safeInterval);
 +	dequeue();
-
-
+ 
+ 
  }; // }}}
 -Client.prototype.join = function(channel, callback) { // {{{
 -    this.once('join' + channel, function () {

+Client.prototype.ctcp = function (to, type, text) {
+	return this[type === 'privmsg' ? 'say' : 'notice'](to, '\1' + text + '\1');
 }

 /*
@@ -836,59 +869,55 @@
  * useful keys

-                                value = value.split(',');
-                                var type = ['a','b','c','d']
-                                for (var i = 0; i < type.length; i++) {
-                                    
-                                    self.supported.channel.modes[type[i]] += value[i];
-                                }
-                                break;
