同一父响应标记下的多个聚集标记

2024-05-15 14:59:21 发布

您现在位置:Python中文网/ 问答频道 /正文

继续 the question I had raised before,我正忙于另一个问题。我花了很多时间尝试各种组合来解决这个问题,但是我没有想出一个。在

<?xml version="1.0" encoding="UTF-8"?>
<Response>
    <Say>Hello Monkey</Say>
    <Gather action="/user-A-input" method="POST">
        <Say>Please press the input A.</Say>
    </Gather>
    <Gather action="/user-B-input" method="POST">
        <Say>Please press the input B.</Say>
    </Gather>
</Response> 

但是,当我试图输入输入A时,它在输入A之后立即挂起,并且输入B gather部分没有执行。据我所查,没有任何其他人的文档是围绕着这个逻辑工作的。在

下面是user-A-input和user-B-input在路径.py我的代码:

^{pr2}$

如果有人能帮我理解我到底在这里搞砸了什么,我会非常感激的。可能是跟退货有关,但我不确定。或者可能是解决问题的方法。我计划使用输入A和B并进行API调用以获取数据并将其返回给用户。在


Tags: theinputresponseactionpostmethodsaypress
2条回答

虽然我不能想出一个合乎道德和正确的解决方案,但我还是想出了一个解决问题的方法,将user-a-input、user-B-input和API调用请求(我需要a和B输入的那个)的逻辑放在user-a-input方法中。在接收输入A的最后,我将调用重定向到main方法(“/”),后者又调用user-A-input,但是使用一些标志可以帮助我跳过输入A部分并直接进入input B部分,我确保将它记录在正确的变量中,然后将输入A和B传递给另一个API以获得响应。这听起来可能有点模糊和复杂,但如果您检查my git repo,您一定会理解的。我希望有更好的解决办法。在

Twilio开发者布道者。在

不能在同一响应中使用两个^{}标记。但是你可以通过一些改变来达到你想要的结果。在

让我先解释一下发生了什么。当Twilio在某些TwiML中到达<Gather>时,它等待从用户那里收集响应,然后将响应提交到actionURL,并将调用指向该URL。在一个操作中,<Gather>后面的内容将不会被看到。在

要做的是从您的/user-A-input返回第二个<Gather>。在

像这样:

第一次抽搐

<?xml version="1.0" encoding="UTF-8"?>
<Response>
    <Say>Hello Monkey</Say>
    <Gather action="/user-A-input" method="POST">
        <Say>Please press the input A.</Say>
    </Gather>
</Response>

用户A输入

^{pr2}$

然后用户B输入应该像您所拥有的那样工作。在

最后一个注意事项是,您当前依赖于<Gather>的默认超时,这意味着Digits将在用户停止键入5秒后或按#键提交。如果您需要一定数量的输入,可以使用^{} attribute of ^{}。您还可以使用^{} attribute设置其他完成键。在

如果有帮助,请告诉我。在

相关问题 更多 >