【问题标题】:How to send several messages using Twilio Autopilot?如何使用 Twilio Autopilot 发送多条消息?
【发布时间】:2019-10-31 21:50:57
【问题描述】:

向 Twilio Autopilot 机器人发送响应时,我想将消息分成几个“块”,如下面的示例图片所示:

有可能吗?

我尝试添加两个 Say 操作,但没有成功:我得到了一个 Invalid Autopilot Actions JSON: Invalid Autopilot Action `

{
  "actions": [
    {"say": "Hello, World!},
    {"say": "Hello, World!},    
    {"listen":true}
  ]
}

或者另一方面,如果这不可能,我如何在消息中添加新行,以便消息在段落中。

我尝试发送此消息,但也收到了Invalid Autopilot Actions JSON: Invalid Autopilot Action

{
  "actions": [
    {"say": "Hello, World!

More text!"},
    {"listen":true}
  ]
}

任何帮助将不胜感激。


我接受了这个答案,因为它在技术上回答了我的问题。虽然不是我想要的方式。

我仍然想知道是否可以在 Say 动作上添加新行“\n”。

【问题讨论】:

  • 很抱歉没有添加评论 - 我没有足够的积分????。我还想知道这是否可以以更有效的方式解决 - 我想问题是由于模拟器 确实 将每个“说”动作显示为单独的消息,但不是在真实的环境中。在这种情况下,可以在每个说动作之间添加 listen: false 或其他一些其他冗余语句吗?

标签: twilio


【解决方案1】:

这里是 Twilio 开发者宣传员。

您可以使用指向Twilio Function 的Redirect Action 来发送两条响应消息,或者将一条消息拆分为单独的块。第一条消息将从 JSON 任务箱发送,第二条消息将从您的 Twilio 函数发送。您的任务箱将包含此 JSON:

{
    "actions": [
        {
            "say": "Hello World"
        },
        {
            "redirect": "https://REPLACE-WITH-YOUR-TWILIO-FUNCTION-URL.twil.io/sotest"
        }
    ]
}

然后你的 Twilio 函数就会有

exports.handler = function(context, event, callback) {
    let respObj = {
        "actions": [
            {
                "say": "hello world"
            },
            {
            "listen": true
            }
        ]
    };
    callback(null, respObj);    
};

让我知道这是否有帮助!

【讨论】:

  • 感谢您的回答@lizziepika。这与我们在工作中想到的解决方案相同。但是,这很麻烦,因为我们计划有几个任务,每个任务都需要几个“块”消息。维护代码将非常困难。我们正在寻找另一种选择:如何在消息中插入新行,这样我们就可以在中间有一些空行,而不是大段落。这可能吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多