diff options
| author | Simon Hausmann <simon.hausmann@nokia.com> | 2012-05-07 11:21:11 +0200 |
|---|---|---|
| committer | Simon Hausmann <simon.hausmann@nokia.com> | 2012-05-07 11:21:11 +0200 |
| commit | 2cf6c8816a73e0132bd8fa3b509d62d7c51b6e47 (patch) | |
| tree | 988e8c5b116dd0466244ae2fe5af8ee9be926d76 /Tools/Scripts/webkitpy/common/net/irc/ircbot.py | |
| parent | dd91e772430dc294e3bf478c119ef8d43c0a3358 (diff) | |
| download | qtwebkit-2cf6c8816a73e0132bd8fa3b509d62d7c51b6e47.tar.gz | |
Imported WebKit commit 7e538425aa020340619e927792f3d895061fb54b (http://svn.webkit.org/repository/webkit/trunk@116286)
Diffstat (limited to 'Tools/Scripts/webkitpy/common/net/irc/ircbot.py')
| -rw-r--r-- | Tools/Scripts/webkitpy/common/net/irc/ircbot.py | 21 |
1 files changed, 19 insertions, 2 deletions
diff --git a/Tools/Scripts/webkitpy/common/net/irc/ircbot.py b/Tools/Scripts/webkitpy/common/net/irc/ircbot.py index 061a43cf6..c8c1a38a9 100644 --- a/Tools/Scripts/webkitpy/common/net/irc/ircbot.py +++ b/Tools/Scripts/webkitpy/common/net/irc/ircbot.py @@ -73,8 +73,25 @@ class IRCBot(ircbot.SingleServerIRCBot, MessagePumpDelegate): def on_pubmsg(self, connection, event): nick = irclib.nm_to_n(event.source()) - request = event.arguments()[0].split(":", 1) - if len(request) > 1 and irclib.irc_lower(request[0]) == irclib.irc_lower(self.connection.get_nickname()): + request = event.arguments()[0] + + if not irclib.irc_lower(request).startswith(irclib.irc_lower(connection.get_nickname())): + return + + if len(request) <= len(connection.get_nickname()): + return + + # Some IRC clients, like xchat-gnome, default to using a comma + # when addressing someone. + vocative_separator = request[len(connection.get_nickname())] + if vocative_separator == ':': + request = request.split(':', 1) + elif vocative_separator == ',': + request = request.split(',', 1) + else: + return + + if len(request) > 1: response = self._delegate.irc_message_received(nick, request[1]) if response: connection.privmsg(self._channel, response) |
