2016-09-17 57 views
1

我使用Telegram bot API編程Python3中的電報機器人。我正面臨處理需要多個聯接步驟的請求的問題。 例如,對於航空公司的搜索機器人:如何實現可以處理多個輸入步驟的Telegram bot程序?

  1. 機器人要求出發城市,
  2. 用戶輸入一個名稱,
  3. 機器人問目的地,
  4. 用戶輸入另外一個名字,
  5. 經過一堆問題後,機器人將結果返回給用戶。

我該怎麼辦?

回答

2

你需要有一個問題樹,用戶可以遍歷它(你可以使用一個鏈表並將這棵樹保存到數據庫中)。

對於每個問題,都有一些方法需要採取一些操作(如在數據庫中存儲一些數據)並將問題/結果發送給用戶。每個用戶都有一個CurrentState,其中包含問題樹中用戶的狀態。用戶發送了一個答案,機器人將運行相應的方法並回複用戶。

method = //Fetch user CurrentState from db e.g. airlineBot.doSomething 
method(TelegramMessage) 
相關問題