验证用户输入

Validate the user input

我有一个使用 Amazon lex 构建的 slack 聊天机器人。将此添加到私人频道。现在我希望我的机器人响应以“@bot”开头的消息。我如何在 Lex 中进行验证?现在,此机器人会响应频道中的所有消息。我认为,如果我们能捕捉到一个特定的意图,那么它就可以在 lambda 函数中完成。我不知道如何验证它是否无法捕捉到意图。

亚马逊对消息说 they are working on a catch-all solution。在他们完成此操作之前,有一个解决方法。这可能需要一些工作。

  1. 创建 AMAZON.StreetAddress 或类似类型的意向槽。我们将其命名为 catchall
  2. {catchall} 添加为 Sample Utterance
  3. 启用 Intialization and validation code hook 并将其配置为调用您的 Lambda 函数。
  4. 在 Lambda 中解析 event.inputTranscript 并做任何你想做的事。这是事情变得复杂的地方,但它确实起作用。