Mercurial > xib
diff participant.py @ 94:810a6bed6c9c
Tried to fix participant.changeNickname
Signed-off-by: Charly COSTE <changaco@changaco.net>
author | Charly COSTE <changaco@changaco.net> |
---|---|
date | Sat, 26 Sep 2009 23:02:55 +0200 |
parents | bfa32b017fc9 |
children | f27de569f5db |
line wrap: on
line diff
--- a/participant.py +++ b/participant.py @@ -121,8 +121,8 @@ class participant: if self.protocol == 'xmpp': if on_protocol == 'xmpp': - self.bridge.removeParticipant('irc', self.nickname, '') - self.bridge.addParticipant('irc', newnick) + self._close_irc_connection('unwanted nick change') + self.irc_connection = 'unwanted nick change' else: self.nickname = newnick @@ -133,8 +133,8 @@ class participant: elif self.protocol == 'irc': if on_protocol == 'irc': - self.bridge.removeParticipant('xmpp', self.nickname, '') - self.bridge.addParticipant('xmpp', newnick) + self._close_xmpp_connection('unwanted nick change') + self.xmpp_c = 'unwanted nick change' else: self.nickname = newnick @@ -212,9 +212,18 @@ class participant: def leave(self, message): if message == None: message = '' + self._close_xmpp_connection(message) + self._close_irc_connection(message) + self.nickname = None + + + def _close_xmpp_connection(self, message): if isinstance(self.xmpp_c, xmpp.client.Client): self.muc.leave(auto_decode(message)) self.bridge.bot.close_xmpp_connection(self.nickname) + + + def _close_irc_connection(self, message): if isinstance(self.irc_connection, ServerConnection): if self.irc_connection.really_connected == True: self.irc_connection.part(self.bridge.irc_room, message=message) @@ -222,7 +231,6 @@ class participant: if self.irc_connection.used_by < 1: self.irc_connection.close(message) self.irc_connection = None - self.nickname = None def __del__(self):