如何实现可以处理多个输入步骤的Telegram机器人程序?

时间:2016-09-17 08:44:38

标签: python api python-3.x telegram

我使用Telegram bot API在Python3中编程电报机器人。我面临处理需要多个步骤来联接的请求的问题。 例如,对于航空公司搜索机器人:

  1. 机器人要求离开城市,
  2. 用户输入名称
  3. 机器人询问目的地,
  4. 用户输入另一个名称
  5. 在一堆问题之后,机器人将结果返回给用户。
  6. 我该怎么办?

1 个答案:

答案 0 :(得分:2)

您需要有一个用户可以遍历它的问题树(您可以使用链接列表并将该树保存到数据库中)。

对于每个问题,有一种方法需要采取一些措施(比如在数据库中存储一些数据)并向用户发送问题/结果。每个用户都有一个CurrentState,其中包含问题树中用户的状态。用户发送了答案,机器人将运行相应的方法并响应用户。

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