コード例 #1
0
        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']
                          })
コード例 #2
0
ファイル: factoids.py プロジェクト: hamperbot/factoids2
 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'])
コード例 #3
0
 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'])
コード例 #4
0
ファイル: factoids.py プロジェクト: hamperbot/factoids2
        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']
                    })