From 8c3304c52096a6f404de2bd521e521ae2db035ac Mon Sep 17 00:00:00 2001 From: Daniel Folkinshteyn Date: Sun, 13 Mar 2011 14:21:46 -0400 Subject: [PATCH] Services: fix problem with some channels being mixed up between networks on startup, when noJoinsUntilIdentified is true. When noJoinsUntilIdentified config is true, the bot holds join messages in a 'waitingJoins' list, and processes them once nickserv identification comes through. The problem was that when the bot is configured to join multiple networks, join messages from different networks would get appended to the same list, without any differentiation by which message belongs to which network. Thus, if there are messages waiting for multiple networks, it would often be the case that whichever network got identification done first, would 'pick up' other network's join messages. This fix stores the network name along with the join messages in the list, and has each network pick out only its own join messages. Conflicts: src/version.py Signed-off-by: James McCoy Conflicts: plugins/Services/plugin.py --- plugins/Services/plugin.py | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/plugins/Services/plugin.py b/plugins/Services/plugin.py index d1bef351a..d24f20d30 100644 --- a/plugins/Services/plugin.py +++ b/plugins/Services/plugin.py @@ -325,10 +325,7 @@ class Services(callbacks.Plugin): for netname, m in tmp_wj: if netname == irc.network: irc.sendMsg(m) - try: - self.waitingJoins.remove((netname, m,)) - except ValueError: - pass # weird stuff happen sometimes + self.waitingJoins.remove((netname, m,)) elif 'not yet authenticated' in s: # zirc.org has this, it requires an auth code. email = s.split()[-1]