2017-02-21 85 views
4

我知道如何使用電報命令,並知道如何讀取執行了什麼命令。我想這樣做是這樣的:電報機器人,如何請求用戶輸入?

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

到目前爲止,我可以讀/ send_address命令,以「你好,......」回覆,顯然我也可以讀取用戶的答案,就像我讀過/ send_address命令一樣。問題是,我怎麼知道他發送的答案是迴應我的「你好,請輸入你的地址..」的請求,或者如果他只是因爲?我可以有100個用戶與機器人聊天,我是否需要爲每個用戶存儲一個變量,記住他發送了/ send_address cmd?

回答

6

正如我所知,電報無法爲用戶保存狀態。我使用數據庫中的表來保存用戶的命令。

工作原理:

  1. 用戶說/命令用戶
  2. 商店/命令。
  3. 用戶說「我們嘗試從這個用戶的數據庫獲取數據」。如果我們發現previos消息是命令/命令而不是執行一些操作並保存現在添加的數據(如果您對某些命令有多個步驟)