2017-09-02 79 views
0

我想编写一个电报机器人,所以当我要接收来自用户的消息时,我现在应该关于他/她设置给我的最后一条消息,以及他/她找到了!所以我应该存储用户的会话(我了解这一点,当我搜索),但我不知道我到底应该做什么?如何在我的分机中存储电报机器人用户的会话

我知道我需要一个表中存储用户ID分贝,ChatId但我不知道这些:

1.如何使一个根步骤,并将它们存储在数据库(我的意思是如何我了解用户现在位于何处)

2.我需要将其他列存储为会话吗?

3.我应该在数据库中存储多少条消息?每个消息我需要一行吗?

回答

2

如果您只需将会话存储在数据库中,则不需要存储消息。也许你可能想要存储消息,但它不一定相关。

让我们假设你的机器人中有一个“首选项”菜单,用户可以在其中编写输入。你问的姓名,年龄,性别等 如何做你知道用户什么时候的它是关于名称或性别等写入输入?

你在你的数据库保存会话。当机器人接收到消息时,您检查用户所处的会话是否运行正确的功能。

一个简单的解决方案可能是一个sql数据库。 主键列是电报用户ID(你,如果它的预期在私人和群聊工作都还可以添加聊天ID列),并在登录用户的步骤“会话”列文本。会话列默认情况下可以为NULL。如果机器人预计性别(因为用户发出/性别命令),你可以更新列“会话”与“性别”一词让邮件到达时,你知道如何处理它检查用户ID和性别栏一旦你运行了正确的函数,你就会再次更新NULL列“session”。

0

您可以创建这些列的数据库。

用户名,ChatID,国家,姓名,年龄,对每个传入更新性别...

如果用户存在于你再DB在最后检查用户的国家,并做出适当的反应,并更新状态,您将检查。