2016-09-17 58 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) 
相关问题