如何在电报机器人中管理更多用户?

How to manage more users in a telegram bot?

我和 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...

当两个用户同时使用我的 bot 时出现问题,因为第一个用户更改 'a' 所以第二个用户从出生而不是名字开始,有人可以帮我吗?

使用用户 ID 存储。

a[chat_id] = name

您需要为此目的使用数据库。有一个名为 State 的字段,其主要字段是用户的 ChatID。 在您的用户每次回复后,从 db 检查该用户的状态。

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

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