python - 在 Twilio Programmable Number 中对流程进行编程
问题描述
我想使用 Twilio 的语音可编程号码来编写一个简单的流程。我想问用户 4 个问题,并根据第一个问题(是或否)提出不同的问题,并根据第二个问题(是或否)提出不同的问题,依此类推。
到目前为止,我有以下内容:
from flask import Flask, request
from twilio.twiml.voice_response import VoiceResponse, Gather
import twilio
app = Flask(__name__)
@app.route("/voice", methods=['GET', 'POST'])
def voice():
"""Respond to incoming phone calls with a 'Hello world' message"""
# Start our TwiML response
resp = VoiceResponse()
# Read a message aloud to the caller
resp.say("Welcome to chatbot!", voice='alice')
# Start our <Gather> verb
with resp.gather(numDigits=1, action="/handle-key", method="POST") as g:
g.say("""For sales, press 1.
For marketing, press 2.
""")
print (resp)
return str(resp)
@app.route("/handle-key", methods=['GET', 'POST'])
def handle_key():
"""Handle key press from a user."""
digit_pressed = request.values.get('Digits', None)
resp = VoiceResponse()
print (digit_pressed)
resp.say("You pressed " + str(digit_pressed))
return str(resp)
@app.route('/sales', methods = ['GET', 'POST'])
def sales():
pass
@app.route('/marketing', methods = ['GET', 'POST'])
def marketing():
pass
if __name__ == "__main__":
app.run(debug=True)
我的问题是我是否必须为每个收集操作创建新功能,或者我可以在初始视图(功能语音)中收集按下的数字/文本(来自用户所说的语音)
我在这个问题上花费了相当长的时间,但无法得出一个明确的答案。
解决方案
推荐阅读
- html - 如何增加和减少 HTML 亮度?
- postman - 无法在邮递员中获得 API 发布请求的任何响应
- c# - 无法从双精度转换为字符串c#
- numpy - 当信号频率恰好落在 fft bin 上时,Numpy FFT 会给出意想不到的结果
- php - 从 Wordpress 循环中删除精选帖子
- node.js - 如何让 Node 信任我的 Windows 操作系统证书存储中的根证书?
- xcode - 看门人不接受代码签名的 macOS 应用程序
- javascript - 如何在 Aurelia/Jasmine 中创建模拟
- webpack - 开发模式混淆的 webpack 4 配置
- python - 如何根据 dfB 中的列/行值,用另一个数据框 (dfB) 中的值填充 pandas 数据框 (dfA) 列“A”?