在 flask-assistant 上获取用户消息
Get user message on flask-assistant
我在 python 3 上使用 flask-assistant,并将 dilaogflow 作为 webhook。我查看了官方文档,但没有找到如何获取用户消息("queryText"
on dialogflow json 请求)。
我尝试了这个但没有成功:
# -*- coding: utf-8 -*-
from flask import Flask
from flask_assistant import Assistant, ask, tell, context_manager, event
project_id='myproject_id'
app = Flask(__name__)
assist = Assistant(app, route='/', project_id = project_id)
@assist.action('Default Fallback Intent')
def manage_fallback(queryText):
print('*'*40,queryText)
speech='Running'
return tell(speech)
if __name__ == '__main__':
app.run(debug=True)
queryText 的打印总是 return None,但是当我检查 ngrok 网络界面 (http://127.0.0.1:4040) 时,我可以看到请求。
我想知道如何从 flask-assistant 获取用户消息?
我也在github上问过这个问题,得到了答案,所以我会分享给其他人:
您可以从 flask-assistant request
对象中获取查询文本。
from flask_assistant import request
...
...
@assist.action('Default Fallback Intent')
def manage_fallback():
user_query = request['queryResult']['queryText']
speech = "You said " + user_query
return tell(speech)
您的 manage_fallback
函数期望的 queryText 值是 None 的原因是参数名称必须与意图期望的实体类型相匹配。
参数用于接收意图的解析实体,而不是完整的用户查询。
我在 python 3 上使用 flask-assistant,并将 dilaogflow 作为 webhook。我查看了官方文档,但没有找到如何获取用户消息("queryText"
on dialogflow json 请求)。
我尝试了这个但没有成功:
# -*- coding: utf-8 -*-
from flask import Flask
from flask_assistant import Assistant, ask, tell, context_manager, event
project_id='myproject_id'
app = Flask(__name__)
assist = Assistant(app, route='/', project_id = project_id)
@assist.action('Default Fallback Intent')
def manage_fallback(queryText):
print('*'*40,queryText)
speech='Running'
return tell(speech)
if __name__ == '__main__':
app.run(debug=True)
queryText 的打印总是 return None,但是当我检查 ngrok 网络界面 (http://127.0.0.1:4040) 时,我可以看到请求。
我想知道如何从 flask-assistant 获取用户消息?
我也在github上问过这个问题,得到了答案,所以我会分享给其他人:
您可以从 flask-assistant request
对象中获取查询文本。
from flask_assistant import request
...
...
@assist.action('Default Fallback Intent')
def manage_fallback():
user_query = request['queryResult']['queryText']
speech = "You said " + user_query
return tell(speech)
您的 manage_fallback
函数期望的 queryText 值是 None 的原因是参数名称必须与意图期望的实体类型相匹配。
参数用于接收意图的解析实体,而不是完整的用户查询。