我正在开发一个基于位置的推荐系统,它使用一个聊天机器人,它:
情况
-
通过电报/Facebook信使或其他渠道获取用户的当前位置
使用聊天机器人 ,该聊天机器人与后端 Azure 无服务器函数共享此位置,并向聊天机器人发送一组包含选项的个性化多项选择问题。
聊天机器人向用户询问这些问题(根据从后端发送的问题),并将用户选择的答案发送回后端。注意:问题及其选择完全是动态的,不能假设是静态问卷。
后端根据答案个性化用户周围地标的建议,并向用户显示建议。
问题:
我阅读了很多关于使用微软机器人构建器执行此操作的教程(这是一个要求),但动态表单对话框似乎是不可能的(我只看到了静态编码的形式)。应通过后端 REST API 调用检索问题及其选项,并将解析 json 以生成问答对话。每个问题都可以选择发送回服务器进行存储。我该如何实现这一点?
由于它是一个依赖于用户位置的服务,我如何将用户的当前位置从部署的通道(即电报)中获取到聊天机器人中(然后将其发送到服务器后端)。 有没有办法使用Microsoft BotBuilder框架来做到这一点?
由于我对 azure 和机器人构建器框架非常陌生,因此提前感谢您的任何帮助!
现在
1)可以从任何地方检索消息的文本。 此示例从模拟的服务中提取消息,并引导用户完成这些步骤,一次执行一个步骤:https://github.com/EricDahlvang/MultiTurnHelpStepsBot
2)这个库可能会有所帮助: https://github.com/Microsoft/BotBuilder-Location