如何从DialogFlow事件中获取参数

时间:2018-06-04 06:00:51

标签: python json dialogflow

我有一个触发事件的列表,但我不确定如何从事件中获取参数。

This is what the history looks like

and this is the intent the event triggers

我使用Python进行webhook实现和flask-assistant库。这是我的代码:

        resp = ask("Here are the results")
        mylist = resp.build_list("Which one?")
        i=0
        for names in fullName:
            mylist.add_item(title=names,
                key=names,
                img_url="",
                description=email[i],
                synonyms=synons[i]) 
            i=i+1       
        return mylist

1 个答案:

答案 0 :(得分:1)

Dialogflow包含事件(actions_intent_OPTION)作为上下文,其中键作为选定选项。在原始请求中,它看起来像这样:

"contexts": [
      {
        "name": "actions_intent_option",
        "parameters": {
          "OPTION": "YOUR_KEY_HERE"
        },
        "lifespan": 0
      }
]

使用flask-assistant,您可以从context_manager(包含活动会话中的所有上下文)中读取值:

from flask_assistant import context_manager

selected_option = context_manager.get('actions_intent_option').get('OPTION')

密钥可以是您认为最有用的密钥,也不会向用户显示。通常,您会使用某种唯一标识列表项的ID。