So I feel like I should already know the answer to this but since there are no stupid questions here goes.
Is it possible to trigger an intent in skill B from skill A? Basically what I am looking to do is string a few intents together from skills B, C, and D based on a triggered intent in skill A. I am sure I have seen something like this early on but have not been able to find it.
I am pretty sure I can do this through the message bus but I am not certain this is the preferred most efficient way to accomplish this since all intents are pre-registered by the system anyway there should be a call to trigger any intent from within a skill no?
you could:
- emit the intent message direcly to the bus
- emit an utterance to the bus like if the user spoke it
- use the new skills api once its merged - https://github.com/MycroftAI/mycroft-core/pull/1822
if you control those skills, maybe add custom bus messages for it ? then intent in skill A emits the message, which B C D will listen to with self.add_event and trigger their skills
Thanks,
The pull request looks like exactly what I was looking for.
In a somewhat unrelated question, How do I determine in github if a pull request has been merged or not?
Thanks for all your help and contributions.
Hi @pcwii, sorry I missed this, I’ve been working on a few other pieces which have taken priority.
As @Jarbas_Ai has pointed out, until we implement the Skill API, triggering Intents between Skills will need to be done using the Message Bus - that is, deliberately sending messages on the bus that the Skill you are trying to trigger will respond to.
One concern I do have in general about this approach is that debugging Intents, and calls to other Skills, could rapidly become very difficult because it allows the flow of control to change so much. We would need some strong logging to allow us to follow the flow of control.
Do we have an ETA on the skills api?