'Send a list of users participating in a channel.
@type user: C{str} or C{unicode}
@param user: The user receiving this member information.  Only their
nickname, not the full hostmask.
@type channel: C{str} or C{unicode}
@param channel: The channel for which this is the member information.
@type memberInfo: C{list} of C{tuples}
@param memberInfo: For each member of the given channel, a 7-tuple
containing their username, their hostmask, the server to which they
are connected, their nickname, the letter "H" or "G" (standing for
"Here" or "Gone"), the hopcount from C{user} to this member, and
this member\'s real name.'

def who(self, user, channel, memberInfo):

    for info in memberInfo:
        (username, hostmask, server, nickname, flag, hops, realName) = info
        assert (flag in ('H', 'G'))
        self.sendLine((':%s    %s    %s    %s    %s    %s    %s    %s    %s    :%d    %s' % (self.hostname, RPL_WHOREPLY, user, channel, username, hostmask, server, nickname, flag, hops, realName)))
    self.sendLine((':%s    %s    %s    %s    :End    of    /WHO    list.' % (self.hostname, RPL_ENDOFWHO, user, channel)))
