如何在与机器人聊天时获取用户的位置?

时间:2016-05-17 06:08:44

标签: c# bots class-library botframework luis

我正在开发一个Bot Framework应用程序,它使用Microsoft Bot技术与Slack集成。在bot项目中,我试图在用户发送消息时获取用户位置。

我想要实现的是,当用户输入消息“显示我附近的医院”时,我想让用户使用地理坐标并将其传递给API,该API将返回该位置附近的医院列表。那么关于如何获得用户在Microsoft Bot项目中的当前位置的任何想法?

我尝试使用Geo位置类,但是我无法直接添加类引用,当我为Geo位置类添加外部DLL时,Visual Studio会抛出一些错误。

有没有办法让用户在Bots中获得当前位置?

4 个答案:

答案 0 :(得分:1)

Bot框架每分钟都在更新!!!

Microsoft Bot Framework的Bing位置控件使得在对话中收集和验证用户所需位置的过程变得简单可靠。

该控件可用于C#和Node.js,并且在Bot Framework支持的所有通道中一致地工作。

查看文档here

点击查看code sample

答案 1 :(得分:1)

这个问题已经很久了,但现在这个问题已经存在,以帮助定位希望它能帮助寻找这个答案的人。 https://github.com/Microsoft/BotBuilder-Location

答案 2 :(得分:0)

渠道因支持位置信息而异。目前无法获得Slack上用户的位置信息。例如,电报确实如此。当位置数据可用时,它将在附件数据结构中以及ChannelData字段中的通道本机格式中返回。请注意,用户需要选择发送此数据(以保护其隐私)。僵尸开发人员可以向用户发送消息,请求他们共享他们的位置数据,但他们无法从用户操作的渠道获取该消息,以便共享它。

答案 3 :(得分:0)

BotBuilder目前尚未处理此问题。我已经打开an issue来跨平台实现这种标准化。关于 Slack ,他们没有选择将位置作为附件发送为电报 Messenger Kik do,因此您可能希望使用Google Geocode API从字符串派生坐标。