def command(self, bot, comm, groups): to_parse = groups[0] try: factoid_dict = learn_grammar(to_parse).parse() for key in factoid_dict: if key not in self.valid_keys: raise ValueError(key) except ParseError as e: bot.reply( comm, 'Parse error: "{}". Trail: {}.'.format( dict(e.error)['message'], e.trail)) except ValueError as e: bot.reply( comm, "{user}: {} isn't a valid key. The valid keys " "are trigger, response, action, probability.".format( e.message, **comm)) else: factoid = self.plugin.add_factoid(factoid_dict) msg = "{user}: Got it. That's factoid #{id}" if factoid['probability'] < 1: msg += ' (probability={probability})' bot.reply(comm, msg, kwvars={ 'id': factoid['id'], 'probability': factoid['probability'] })
def factoid_query(self, bot, to_parse): try: parsed = learn_grammar(to_parse).parse() if parsed.keys() != ['id']: bot.reply(comm, ('{user}: I only know how to find by id ' 'right now.')) except ParseError as e: bot.reply(comm, 'Parse error: "{}". Trail: {}.' .format(dict(e.error)['message'], e.trail)) return None else: return self.get_factoid(parsed['id'])
def factoid_query(self, bot, to_parse): try: parsed = learn_grammar(to_parse).parse() if parsed.keys() != ['id']: bot.reply(comm, ('{user}: I only know how to find by id ' 'right now.')) except ParseError as e: bot.reply( comm, 'Parse error: "{}". Trail: {}.'.format( dict(e.error)['message'], e.trail)) return None else: return self.get_factoid(parsed['id'])
def command(self, bot, comm, groups): to_parse = groups[0] try: factoid_dict = learn_grammar(to_parse).parse() for key in factoid_dict: if key not in self.valid_keys: raise ValueError(key) except ParseError as e: bot.reply(comm, 'Parse error: "{}". Trail: {}.' .format(dict(e.error)['message'], e.trail)) except ValueError as e: bot.reply(comm, "{user}: {} isn't a valid key. The valid keys " "are trigger, response, action, probability." .format(e.message, **comm)) else: factoid = self.plugin.add_factoid(factoid_dict) msg = "{user}: Got it. That's factoid #{id}" if factoid['probability'] < 1: msg += ' (probability={probability})' bot.reply(comm, msg, kwvars={ 'id': factoid['id'], 'probability': factoid['probability'] })