def register_intent(self, intent_parser, handler): """ Register an Intent with the intent service. Args: intent_parser: Intent or IntentBuilder object to parse utterance for the handler. handler (func): function to register with intent """ if isinstance(intent_parser, IntentBuilder): intent_parser = intent_parser.build() elif not isinstance(intent_parser, Intent): raise ValueError('"' + str(intent_parser) + '" is not an Intent') # Default to the handler's function name if none given name = intent_parser.name or handler.__name__ munge_intent_parser(intent_parser, name, self.skill_id) self.bus.emit(Message("register_intent", intent_parser.__dict__)) self.registered_intents.append((name, intent_parser)) self.add_event(intent_parser.name, handler, 'mycroft.skill.handler')
def register_intent(self, intent_parser, handler, need_self=False): """ Register an Intent with the intent service. Args: intent_parser: Intent or IntentBuilder object to parse utterance for the handler. handler: function to register with intent need_self: optional parameter, when called from a decorated intent handler the function will need the self variable passed as well. """ if type(intent_parser) == IntentBuilder: intent_parser = intent_parser.build() elif type(intent_parser) != Intent: raise ValueError('intent_parser is not an Intent') # Default to the handler's function name if none given name = intent_parser.name or handler.__name__ munge_intent_parser(intent_parser, name, self.skill_id) self.emitter.emit(Message("register_intent", intent_parser.__dict__)) self.registered_intents.append((name, intent_parser)) self.add_event(intent_parser.name, handler, need_self, 'mycroft.skill.handler')