summaryrefslogtreecommitdiff
path: root/Tools/Scripts/webkitpy/common/net/irc/ircbot.py
diff options
context:
space:
mode:
authorSimon Hausmann <simon.hausmann@nokia.com>2012-05-07 11:21:11 +0200
committerSimon Hausmann <simon.hausmann@nokia.com>2012-05-07 11:21:11 +0200
commit2cf6c8816a73e0132bd8fa3b509d62d7c51b6e47 (patch)
tree988e8c5b116dd0466244ae2fe5af8ee9be926d76 /Tools/Scripts/webkitpy/common/net/irc/ircbot.py
parentdd91e772430dc294e3bf478c119ef8d43c0a3358 (diff)
downloadqtwebkit-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.py21
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)