首页 > 解决方案 > 在 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)

我的问题是我是否必须为每个收集操作创建新功能,或者我可以在初始视图(功能语音)中收集按下的数字/文本(来自用户所说的语音)

我在这个问题上花费了相当长的时间,但无法得出一个明确的答案。

标签: pythonapitwiliotwilio-api

解决方案


推荐阅读