我可以使用这种方法从RASA聊天机器人中获取用户最后输入的数据。
text = tracker.latest_message['text']
在我的情况下,它运行良好。现在,我想获取用户按下的按钮的文本。例如,如果用户按下分配按钮,我希望我的text
变量保持为text = "allion"
。
有没有更可取的解决方案?
答案 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