'Measure round-trip delay to another IRC client.'

def ping(self, user, text=None):

    if (self._pings is None):
        self._pings = {}
    if (text is None):
        chars = ((string.ascii_letters + string.digits) + string.punctuation)
        key = ''.join([random.choice(chars) for i in range(12)])
    else:
        key = str(text)
    self._pings[(user, key)] = time.time()
    self.ctcpMakeQuery(user, [('PING', key)])
    if (len(self._pings) > self._MAX_PINGRING):
        byValue = [(v, k) for (k, v) in self._pings.items()]
        byValue.sort()
        excess = (len(self._pings) - self._MAX_PINGRING)
        for i in range(excess):
            del self._pings[byValue[i][1]]
