【发布时间】:2017-12-26 14:03:00
【问题描述】:
我正在使用 Python、celery 和 MS bot 框架开发一个聊天机器人。我想添加如下小对话框:
用户:嗨
用户:给我点薯条。
机器人:好的。地址?
用户:xyz,状态,82288
机器人:知道了。我给你点薯条。
这里,如何在用户给我地址后临时存放薯条以访问它?
另外,如果用户在 2-3 分钟内没有响应,我认为我的用例忘记订单是什么应该是可以接受的。所以,我也可以为存储的变量设置一个超时时间。
我想到了使用redis。我正在考虑在 redis db 中存储类似以下内容:
{
'conversationId':['orderitem':'fries','address':'state, pincode']
}
基本上是 key=conversationId 和 value='order,address' 的键值对。
那么,这看起来是一个不错的选择吗?
【问题讨论】:
-
使用redis是一个不错的选择,但是为了更好的实践,请记住以下几点: 1.使用json格式保存数据。 2.你也应该有一个redis数据超时。因此,每当 redis 超时时,最好将用户数据保存在文件中。然后,每当用户再次回来时,您就可以检索他们的状态。这样,您就不会丢失用户的状态。
标签: redis bots botframework telegram-bot facebook-messenger-bot