def irc_NAMES(self, prefix, params):
        """
        Names message

        Parameters: [ <channel> *( "," <channel> ) [ <target> ] ]
        """
        #<< NAMES #python
        #>> :benford.openprojects.net 353 glyph = #python :Orban ... @glyph ... Zymurgy skreech
        #>> :benford.openprojects.net 366 glyph #python :End of /NAMES list.
        try:
            channel = params[-1]
            if isinstance(channel, bytes):
                channel = channel.decode(self.encoding)
        except UnicodeDecodeError:
            self.sendMessage(
                irc.ERR_NOSUCHCHANNEL, params[-1],
                ":No such channel (could not decode your unicode!)")
            return

        if channel.startswith('#'):
            channel = channel[1:]

        def cbGroup(group):
            self.names(
                self.name,
                '#' + group.name,
                [user.name for user in group.iterusers()])

        def ebGroup(err):
            err.trap(ewords.NoSuchGroup)
            # No group?  Fine, no names!
            self.names(
                self.name,
                '#' + channel,
                [])

        self.realm.lookupGroup(channel).addCallbacks(cbGroup, ebGroup)

        Names message

        Parameters: [ <channel> *( "," <channel> ) [ <target> ] ]
        
stackoverflow/venv/lib/python3.6/site-packages/twisted/words/service.py