【发布时间】:2019-12-14 19:09:07
【问题描述】:
我想使用 twilio、whatsapp 和 flask 构建一个简单的聊天机器人,它会询问用户姓名、年龄和图片。但是烧瓶应用程序只问一个问题并返回输出并退出函数。
我尝试使用 while 循环继续询问所有问题并获取输出,但如果没有返回,则不会显示对用户消息的响应。因此,我无法为用户获得下一个问题的答案。 有什么方法可以为用户创建会话并获取所有详细信息并关闭会话,并且下次同一用户发起聊天时,用户可以获取他们的信息。
from flask import Flask, request
from twilio.twiml.messaging_response import MessagingResponse
app = Flask(__name__)
output = []
@app.route("/")
def hello():
return "Hello world !!"
@app.route("/sms", methods=['GET', 'POST'])
def sms_reply():
# Fetch the message
msg = request.form.get('Body')
msg = msg.lower()
output.append(msg)
resp = MessagingResponse()
resp.message("May I know you name?")
# ASK ANOTHER QUESTION
print("User message: ", msg)
return str(resp)
【问题讨论】:
-
这不是 REST 的工作方式。 codecademy.com/articles/what-is-rest 您可以做的是显示一个 (html) 页面,您可以在其中询问用户名、年龄和图片,并在 POST 请求中将这些详细信息发送到您的服务器。而已。确保至少对数据进行服务器端验证。
-
意味着我必须一次性提供所有详细信息并保存整个响应?
标签: python-3.x flask twilio