首页 > 解决方案 > 如何在自定义 Alexa 技能中禁用某些意图?

问题描述

...
CountryIntent{ ... };
CityIntent{ ... };
YesIntent{ ... };
FallBackIntent{ ... };
...

我正在构建自定义 Alexa 技能。用户从CountryIntent调用CityIntent。但是,如果用户不小心说YES,他会从CountryIntent调用YesIntent;那将是不正确的逻辑。如何禁用YesIntent以便用户在不小心说YES时调用FallBackIntent

标签: alexaalexa-skillalexa-intent

解决方案


您不能禁用意图。通过建立意图,您可以教授您理解人类所说的特定句子/单词的技能——一旦被教授,就很难忘记。

您实际上可以做的是构建一个状态机并将对话的当前状态保存在SessionAttribute. 然后在每个意图中,您必须检查对话处于哪个状态并根据您的逻辑行事 - 因此,当您期望城市并且有人说“是”时,您的技能应该再次询问城市并忽略“是” “ 回答。


推荐阅读