2

我用 python 做了一个电报机器人,它发送一条消息

if message == '/start':
    bot.sendMessage(chat_id, "Insert your name:")
    a = 'name'
if a == 'name' and message != '/start'
    name_user = message
    bot.sendMessage(chat_id, "Insert your birthday:")
    a = 'birth'
    and so on for other information...

当两个用户同时使用我的机器人时,问题就来了,因为第一个用户更改了“a”,所以第二个用户从出生而不是名字开始,有人可以帮我吗?

4

3 回答 3

1

使用用户 ID 存储。

a[chat_id] = name
于 2017-09-07T21:09:41.237 回答
0

为此,您需要使用数据库。有一个State使用用户 ChatID 的主要字段调用的字段。在您的用户每次响应后,从 db 检查该用户的状态。

肖恩的回答也是正确的,但是如果您的程序由于某种原因重新启动,您将失去您的用户状态。

于 2017-09-08T10:04:02.760 回答
0

您应该考虑一个数据库,使用 sqlite3 创建它。在数据库中创建一个对应于每个用户的表(例如表:db(str(chat.id)))。并在每个表中创建列,您可以在其中放置用户信息(包括 chat.id)。

于 2020-06-12T10:05:07.980 回答