--- a/pvl/irker/irc.py Fri Jan 11 17:32:35 2013 +0200
+++ b/pvl/irker/irc.py Fri Jan 11 22:04:11 2013 +0200
@@ -88,6 +88,9 @@
self._registering = None
self._channels = { }
+ # TODO: smarter/configurable queueing?
+ self.lineRate = 1.0
+
def connectionMade (self) :
self.hostname = self.transport.getPeer().host
self.transport.logPrefix = self.logPrefix
@@ -172,6 +175,25 @@
# ERR_INVITEONLYCHAN
# ERR_BANNEDFROMCHAN
# ERR_BADCHANNELKEY
+
+ def _close_channel (self, channel) :
+ """
+ Remove channel from our list of channels.
+
+ TODO: purge queued messages for channel?
+ """
+
+ del self._channels[normalize(channel)]
+
+ def left (self, channel) :
+ log.msg('IRCClient.left', channel)
+
+ self._close_channel(channel)
+
+ def kickedFrom (self, channel, kicker, message) :
+ log.msg('IRCClient.kicked', channel, kicker, message)
+
+ self._close_channel(channel)
def joined (self, channel) :
"""