问题描述
如何使用Rasa chatbot获得最新的机器人响应?
为了获得用户输入,我们使用:tracker.latest_message ['text']
那么,获得最新的机器人响应的语法是什么?
谢谢
解决方法
您可以使用tracker.events
列表来获取最新的机器人事件。
bot_event = next(e for e in reversed(tracker.events) if e["event"] == "bot")
这将浏览事件的倒序列表(从最新到最旧),并使用next()
函数选择第一个机器人事件。
事件将采用以下格式:
{'event': 'bot','timestamp': 1601789469.174273,'text': 'Hey! How are you?','data': {'elements': None,'quick_replies': None,'buttons': None,'attachment': None,'image': None,'custom': None},'metadata': {}}
如果您只对消息感兴趣,则可以简单地使用'text'
参数。