电报机器人,如何请求用户输入?

telegram bots, how to request input from user?

我知道如何使用电报命令,并且知道如何读取已执行的命令。我想做的是这样的:

User: /send_address
Bot: Hello, please type your address..
User: my address...

到目前为止,我可以阅读 /send_address 命令并回复 "hello,...." 显然我也可以阅读用户的回答,就像我阅读了 /send_address 命令。问题是,我怎么知道他发送的答复是响应我的 "hello, please type your address.." 请求,还是只是因为他发送的?我可以让 100 个用户与机器人聊天,我是否必须为每个记住他发送了 /send_address 命令的用户存储一个变量?

据我所知,电报无法为用户保存状态。我在数据库中使用 table 来保存用户的命令。

工作原理:

  1. 用户说 /command
  2. 为用户存储/命令。
  3. 用户说 "something" 我们尝试从该用户的数据库中获取数据。如果我们发现之前的消息是命令/命令而不是执行一些操作并保存现在添加的数据(如果您对某些命令有多个步骤)