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

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

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

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

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

Bot框架每分钟都在更新!

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

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

请查看此处的文档。

单击以查看代码示例

这个问题已经过时了,但现在这是一个有助于定位的事情希望它能帮助寻找这个答案的人。 https://github.com/Microsoft/BotBuilder-Location

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

目前BotBuilder还没有很好地处理这个问题。 我已经开启了一个问题 ,可以跨平台实现这种标准化。 关于Slack ,他们没有选择将位置作为TelegramMessengerKik的附件发送,因此您可能希望使用Google Geocode API从字符串中获取坐标。