构建电报 Azure 机器人以提供动态问卷调查以及位置共享

Building telegram azure bot to deliver dynamic questionaaires, along with location sharing

我正在开发一个基于位置的推荐系统,它使用了一个聊天机器人:

情况

  1. 通过 telegram/facebook Messenger 或其他渠道获取用户当前位置

  2. 使用聊天机器人,它与后端 azure 无服务器功能共享此位置,并向聊天机器人发送一组带有选项的个性化多项选择题。

  3. 聊天机器人向用户提出这些问题(根据后端发送的问题),并将用户选择的答案发送回后端。注意:问题和他们的选择,完全是动态的,不能假定静态问卷。

  4. 后台根据用户的回答个性化推荐用户周边的地标,并展示给用户。

问题:

  1. 我阅读了很多关于使用 Microsoft botbuilder 执行此操作的教程(这是一项要求),但动态表单对话框似乎是不可能的(我只看到了静态编码的表单)。问题及其选项应通过后端 REST API 调用检索,并且 json 将被解析以进行问答对话。将每个问题的选项发送回服务器进行存储。我该如何做到这一点?

  2. 由于它是一项依赖于用户位置的服务,我如何将用户的当前位置从已部署的频道(即电报)中获取到聊天机器人(然后将其发送到服务器后端)。有什么方法可以使用 Microsoft botbuilder 框架来做到这一点?

由于我对 azure 和 botbuilder 框架还很陌生,在此先感谢您的帮助!

现在

1) 可以从任何地方检索消息的文本。此示例从模拟服务中提取消息,并引导用户一次一个地完成以下步骤:https://github.com/EricDahlvang/MultiTurnHelpStepsBot

2) 这个库可能有帮助:https://github.com/Microsoft/BotBuilder-Location