Don't issue joins if we don't need to.
authorEric S. Raymond <esr@thyrsus.com>
Tue, 28 Aug 2012 23:41:15 +0000 (19:41 -0400)
committerEric S. Raymond <esr@thyrsus.com>
Tue, 28 Aug 2012 23:41:15 +0000 (19:41 -0400)
irker.py

index b6cb54d19e2e9cd9cbbfe6de2fc17a1e9810ded8..d71a77b557e7b8c49d95e0948ebf69c5faba1a64 100755 (executable)
--- a/irker.py
+++ b/irker.py
@@ -117,7 +117,9 @@ class Session():
                     break
             elif self.server.nick_accepted:
                 message = self.queue.get()
-                self.server.join("#" + self.channel)
+                if self.channel not in self.server.channels_joined:
+                    self.server.join("#" + self.channel)
+                    self.server.channels_joined.append(self.channel)
                 self.server.privmsg("#" + self.channel, message)
                 self.last_xmit = time.time()
                 self.irker.debug(1, "XMIT_TTL bump (transmission) at %s" % time.asctime())
@@ -172,6 +174,7 @@ class Irker:
             self.servercount += 1
             newserver = self.irc.server()
             newserver.nick_trial = self.servercount
+            newserver.channels_joined = []
             newserver.connect(servername,
                               port,
                               nickname=self.nickname(newserver.nick_trial),