From 01b72d7a530fd149f809b7bf0d55f5a354f106ac Mon Sep 17 00:00:00 2001 From: aaditya sood Date: Sat, 21 Jun 2014 20:38:25 -0700 Subject: [PATCH] Allow optional username for IRC backend. For servers where nickname and username are different, allow passing in a different username. If username is not supplied, it's defaulted to nickname. --- errbot/backends/irc.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/errbot/backends/irc.py b/errbot/backends/irc.py index 7f89fb252..696008ba0 100644 --- a/errbot/backends/irc.py +++ b/errbot/backends/irc.py @@ -26,10 +26,12 @@ class IRCConnection(SingleServerIRCBot): - def __init__(self, callback, nickname, server, port=6667, ssl=False, password=None): + def __init__(self, callback, nickname, server, port=6667, ssl=False, password=None, username=None): self.use_ssl = ssl self.callback = callback - super().__init__([(server, port, password)], nickname, nickname) + if username is None: + username = nickname + super().__init__([(server, port, password)], nickname, username) def _dispatcher(self, c, e): super()._dispatcher(c, e) @@ -80,10 +82,10 @@ def send_public_message(self, to, line): class IRCBackend(ErrBot): - def __init__(self, nickname, server, port=6667, password=None, ssl=False): + def __init__(self, nickname, server, port=6667, password=None, ssl=False, username=None): self.jid = nickname + '@' + server super(IRCBackend, self).__init__() - self.conn = IRCConnection(self, nickname, server, port, ssl, password) + self.conn = IRCConnection(self, nickname, server, port, ssl, password, username) def serve_forever(self): try: