Получить сообщение пользователя на флеш-помощник - PullRequest
0 голосов
/ 06 марта 2019

Я использую колбу-помощник на питоне 3 с dilaogflow в качестве веб-крючка. Я посмотрел на официальную документацию и не могу найти, как получить сообщение пользователя ("queryText" по запросу json dialogflow). Я попытался это безуспешно:

# -*- 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 всегда возвращает None, но когда я проверяю в веб-интерфейсе ngrok (http://127.0.0.1:4040), я вижу запрос.

И я хочу знать, как я могу получить сообщение пользователя от колбы-помощника?

1 Ответ

0 голосов
/ 07 марта 2019

Я также задал этот вопрос на github и получил ответ, поэтому поделюсь с остальными:

Текст запроса можно получить из объекта-колбы 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)

Причина, по которой значение queryText, ожидаемое вашей manage_fallback функцией, равно None, заключается в том, что имя параметра должно соответствовать типу сущности, ожидаемому намерением.

Параметры используются для получения проанализированных объектов для намерения, а не для полного пользовательского запроса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...