code: def names(self, channel):
          
          with self.lock:
              self.is_in_channel(channel)
  
              self.send('NAMES %s' % channel)
              names = []
  
              while self.readable():
                  msg = self._recv(expected_replies=('353', '366'))
  
                  if msg[0] == '353':
                      new_names = msg[2].split()[2:]
                      new_names[0] = new_names[0].replace(':', '', 1)
                      names.extend(new_names)
                  elif msg[0] == '366':
                      channel = msg[2].split()[0]
                      break
  
              for name in names:
                  prefix = ''
                  if name[0] in self.priv_types:
                      prefix = name[0]
                      name = name[1:]
                  if prefix == '~':
                      self.channels[channel]['USERS'][name] = \
                      ['~', '', '', '', '']
                  elif prefix == '&':
                      self.channels[channel]['USERS'][name] = \
                      ['', '&', '', '', '']
                  elif prefix == '@':
                      self.channels[channel]['USERS'][name] = \
                      ['', '', '@', '', '']
                  elif prefix == '%':
                      self.channels[channel]['USERS'][name] = \
                      ['', '', '', '%', '']
                  elif prefix == '+':
                      self.channels[channel]['USERS'][name] = \
                      ['', '', '', '', '+']
                  else:
                      self.channels[channel]['USERS'][name] = \
                      ['', '', '', '', '']
              return names
docs: Get a list of users in the channel.
          Required arguments:
          * channel - Channel to get list of users for.