Esempio n. 1
0
    def on_pubmsg(self, connection, event):
        nick = irclib.nm_to_n(event.source())
        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)
Esempio n. 2
0
    def on_pubmsg(self, connection, event):
        nick = irclib.nm_to_n(event.source())
        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)
Esempio n. 3
0
 def has_key(self, key):
     return irc_lower(key) in self.canon_keys
Esempio n. 4
0
 def __delitem__(self, key):
     ck = irc_lower(key)
     del self.data[self.canon_keys[ck]]
     del self.canon_keys[ck]
Esempio n. 5
0
 def __setitem__(self, key, item):
     if key in self:
         del self[key]
     self.data[key] = item
     self.canon_keys[irc_lower(key)] = key
Esempio n. 6
0
 def __getitem__(self, key):
     return self.data[self.canon_keys[irc_lower(key)]]