收集后,针对多个Twilio类型和自定义字段类型检查Twilio自动驾驶仪用户输入

问题描述

希望您身体健康。我正在尝试针对多个自定义字段类型从自动驾驶仪检查Twilio函数用户输入的特定“收集”。

例如,我首先要求用户输入姓名,然后再输入电话号码。这些收集问题的集合类型为Twilio.FirsT_NAME和Twilio.PHONE_NUMBER。但是,用户可能会在这两个问题中的任何一个上说“将我连接到某人”,这将导致失败,因为“将我连接到某人”不是名称或电话号码。我希望能够以某种方式处理这样的情况,该情况可以使我控制对话的流程,但也可以检测到特定的短语并正确处理它。在这种情况下,请将其连接到某人。

这是我的Twilio函数,在启动任务之后执行

["is","the","sunny","day"]

我想为每个问题创建多个任务,但是我打算添加更多的问题,我必须收集这些问题并以某种方式进行验证,并且通过引入多个任务,我无法控制对话流程。

谢谢

解决方法

我也有一个类似的问题,我需要同时听一个是/否值和我们公司员工的姓名。我想出了一种解决方法,希望也能解决您的问题:

  1. 了解自动驾驶仪的字段类型(https://www.twilio.com/console/autopilot/your_bot/field-types)。
  2. 创建一个自定义字段类型并将其命名为Get_First_Name(或您想要的任何名称)。
  3. 对于“值”字段,您需要两个值:First_NameConnect_To_Someone
  4. 在您的First_Name值字段中,添加一些与内置Twilio.FIRST_NAME字段类型相似的同义词(例如,“ John”,“ Dave”,“ My name is Bob”,“我是乔”,等等。
  5. 在您的Connect_To_Someone值字段中,添加您想要触发事件的同义词(例如,“我想与某人交谈”,“您可以将我与人联系起来”等)。 )。
  6. 在使用Twilio.FIRST_NAME的地方,请改用Get_First_Name。您的Get_First_Name字段现在将返回两个有效值之一:First_NameConnect_To_Someone

缺点是您必须拆分“收集”问题并将任务重定向到另一个函数,该函数将处理逻辑以说“如果答案为Connect_To_Someone,然后将其连接至某人”或“如果用户输入了名字,然后要求提供电话号码”。然后,用相同的歌舞作为电话号码。

实质上,您现在将拥有5个功能:

  1. 询问名字
  2. 读取用户是否输入了名字或要求连接
  3. 将用户连接到某人
  4. 询问电话号码
  5. 读取用户是否输入了电话号码或要求连接

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...