如何在Rasa中获得最后的用户输入

时间:2020-05-31 04:36:15

标签: python python-3.x button rasa-nlu rasa-core

我可以使用这种方法从RASA聊天机器人中获取用户最后输入的数据。

text = tracker.latest_message['text']

在我的情况下,它运行良好。现在,我想获取用户按下的按钮的文本。例如,如果用户按下分配按钮,我希望我的text变量保持为text = "allion"

enter image description here

有没有更可取的解决方案?

1 个答案:

答案 0 :(得分:0)

以同样的方式,如果您在按钮数据中发送了payload: allion,则在单击按钮时可以获得字符串“ alion”。

buttons:
- title: allion
  payload: allion

现在,当用户单击按钮时,有效负载将作为用户消息发送。您可以从tracker.events中的actions.py获取。您需要添加的只是检查发送了什么字符串。

for event in (list(reversed(tracker.events)))[:5]: # latest 5 messages
    if event.get("event") == "user": # check if the sent by user or bot
        event.get("text") # check here what button string is received, if allion or premio or corolla or axio or prius