对于聊天机器人,很容易为单个事件实现webhooks事件,例如:
If option A, send X
If option B, send Y
If Option C, send Z
但是,如果下一个事件应基于上一个事件,该怎么办。 例如,列出的选项如下:
A)
1
2
3
B)
1
2
3
必须首先发送字母,然后发送数字的位置。因此,如果我想选择B2,则必须先发送B,然后再发送2。但是,它需要一种记住B选择的方法。实现Webhooks的方式,下一条消息将重新启动程序,因此它会从头开始再次期待字母而不是数字。
如果是普通的python,我会在第一个字母选择后使用input()方法来等待数字选择,但是webhooks中此方法不可用,因为它破坏了程序。
我认为为此需要某种数据库,记住字母的选择,然后可以选择一个数字。我正在通过Heroku运行我的Webhooks,希望了解如何通过数据库或有人可以建议其他方法来实现这一点。
答案 0 :(得分:0)
我可以建议您两个选择。
选项1:
您可以使用PSID和用户选择的选项来保存用户的当前状态。
选项2:
您可以以某种方式设计有效负载,以便可以识别您的选项。例如,当您发送A)1、2、3时,实际上是在有效载荷中发送A1,A2,A3,而将1、2、3作为查看文本。