def respond(self, user, message, channel):
        if not message:
            return
        elif message == 'gendo version':
            self.speak("Gendo v{0}".format(__version__), channel)
            return
        for rule, view_func, options in self.listeners:
            if rule(user, message):
                response = view_func(user, message, **options)
                if response:
                    if '{user.username}' in response:
                        response = response.replace('{user.username}',
                                                    self.get_user_name(user))
                    self.speak(response, channel)
dataset/ETHPy150Open nficano/gendo/gendo/bot.py/Gendo.respond/original