如何在whatsApp中获得多个“文本答案”?当我在意图中添加多个“文本响应”时,它们将在dialogFlow控制台中正常工作。
但是当我在whatsapp上重复同样的问题时,只会得到一个答案框,而不是我创建的3个答案框。
我正在使用twilio与whatsapp API进行通信。我还使用Horoku云服务托管应用程序。
一切正常。但是我在whatsapp中只收到一个消息框,而不是多个。 我认为问题出在我的python代码“ app.py”。
@app.route("/") #just to test Heroku cloud services
def hello():
return "Hello, World!"
@app.route("/sms", methods=['POST'])
def sms_reply():
"""Respond to incoming calls with a simple text message."""
# Fetch the message
msg = request.form.get('Body')
phone_no = request.form.get('From')
reply = fetch_reply(msg, phone_no)
# Create reply
resp = MessagingResponse()
resp.message(reply)
enter code here
return str(resp)
import dialogflow_v2 as dialogflow
dialogflow_session_client = dialogflow.SessionsClient()
PROJECT_ID = "weather-husgcf"
def detect_intent_from_text(text, session_id, language_code='pt-BR'):
session = dialogflow_session_client.session_path(PROJECT_ID, session_id)
text_input = dialogflow.types.TextInput(text=text, language_code=language_code)
query_input = dialogflow.types.QueryInput(text=text_input)
response = dialogflow_session_client.detect_intent(session=session, query_input=query_input)
return response.query_result
def fetch_reply(query, session_id):
response = detect_intent_from_text(query, session_id)
return response.fulfillment_text
答案 0 :(得分:1)
这里是Twilio开发人员的传播者。
在您的fetch_reply
方法中,调用query_result
的{{1}}属性。根据{{3}},complementationText已弃用/遗留:
要向用户朗读或在屏幕上显示的文本。注意:这是一个旧字段,应首选实现消息。
fulfillment_text
属性定义为QueryResult
documentation对象的列表。因此,要返回所有3条消息,您的代码可能应该遍历消息,将它们添加到响应中,如下所示:
fullfillmentMessages
然后您的路线应如下所示:
def fetch_reply(query, session_id):
response = detect_intent_from_text(query, session_id)
return response.fulfillment_messages
我还没有测试过,只是从Message开始工作。让我知道是否有帮助。