Twilio:如何根据python中用户以前的消息回复带有自定义消息的用户消息?

时间:2015-08-14 20:37:30

标签: android python heroku twilio twiml

我有一个Android应用程序,发送短信息给我的twilio号码,内容在json中。我有一个twiml烧瓶python应用程序,应该从Android应用程序读取用户以前的短信,它应该返回一个自定义的回复消息,说明用户在文本中说的重复。

所以如果用户说“圣何塞”。 twiml应用程序(托管在heroku服务器上)将回复“你想要去”< - Destination - > “?”。所以在这种情况下它会回答“你想去圣何塞吗?”

如何才能阅读用户留言并根据留言回复?

P.S。我对python和flask和twilio有点新,所以任何代码答案都会有所帮助。

这是我的代码:

from flask import Flask, request, redirect
from twilio.rest import TwilioRestClient
import twilio.twiml
import requests
import json
import httplib

app = Flask(__name__)

# Try adding your own number to this list!
callers = {
    "+14151234556": "The Hunter",
    "+14158675310": "The Best",
    "+14158675311": "Virgil",
}

@app.route("/", methods=['GET', 'POST'])
def hello_monkey():

ACCOUNT_SID = "askdfjhaksjdfklajsdlfjaslkdfjals"
    AUTH_TOKEN = "kasjdkjaSDKjaskdjkasJDkasjdkljAS"

    """Respond and greet the caller by name."""

    from_number = request.values.get('From', None)
    if from_number in callers:
        message = callers[from_number] + ", follow these directions to get to your destination: "
    else:
        message = "User, thanks for the message!"

    resp = twilio.twiml.Response()
    resp.message(message)

    return str(resp)

if __name__ == "__main__":
    app.run(debug=True)

1 个答案:

答案 0 :(得分:0)

Twilio开发者传播者在这里。你似乎走在正确的道路上,并且几乎是正确的。

您需要做的就是更改以下代码段:

from_number = request.values.get('From', None)
if from_number in callers:
    message = callers[from_number] + ", follow these directions to get to your destination: "
else:
    message = "User, thanks for the message!"

要:

from_number = request.values.get('From', None)
if from_number in callers:
    message = callers[from_number] + ", follow these directions to get to your destination: " + request.values.get('Body', None)
else:
    message = "User, thanks for the message!"

注意我是如何向它添加request.values.get('Body', None)的,因此它会选择该变量并在生成TwiML时使用它。如果能解决您的问题,请告诉我。