我用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'所以第二次从出生开始,而不是名字,有人可以帮我吗?
答案 0 :(得分:1)
使用用户ID存储。
a[chat_id] = name
答案 1 :(得分:0)
您需要为此目的使用数据库。有一个名为State
的字段,其主要字段为用户的ChatID。
在用户的每个响应之后,从db。
Sean的回答也是正确的,但是如果您的程序由于某种原因重新启动,那么您将失去用户状态。
答案 2 :(得分:0)
您应该考虑使用sqlite3创建数据库。在数据库中创建一个与每个用户相对应的表(例如,表:db(str(chat.id)))。并在每个表中创建列,您可以在其中放置用户信息(还包括chat.id)。