【问题标题】:How to get user's location while chatting with bots?如何在与机器人聊天时获取用户的位置?
【发布时间】:2016-09-13 02:19:31
【问题描述】:

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

我想要实现的是,当用户键入“显示附近的医院”消息时,我想获取用户的地理坐标并将它们传递给一个 API,该 API 将返回该位置附近的医院列表。那么关于如何在 Microsoft Bot 项目中获取用户的当前位置有什么想法吗?

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

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

【问题讨论】:

    标签: c# bots class-library botframework azure-language-understanding


    【解决方案1】:

    频道因是否支持位置信息而异。目前无法在 Slack 上获取用户的位置信息。例如,电报就可以。当位置数据可用时,它将以附件数据结构和 ChannelData 字段中的通道本机格式返回。请注意,用户需要选择发送此数据(以保护他们的隐私)。机器人开发者可以向用户发送一条消息,请求他们分享他们的位置数据,但他们无法从没有用户操作的频道中获取它来分享它。

    【讨论】:

      【解决方案2】:

      BotBuilder 目前没有很好地处理这个问题。我已经打开 an issue 来实现跨平台的标准化。关于 Slack,他们无法选择将位置作为附件发送为 TelegramMessengerKik 这样做,所以您可能想使用Google Geocode API 从字符串中获取坐标。

      【讨论】:

      • 这显然不是一个合法的解决方案,因为谷歌在其服务条款中提到,除非你有地图显示,否则你不能使用地理编码服务
      【解决方案3】:

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

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

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

      查看文档here

      点击查看code sample

      【讨论】:

        【解决方案4】:

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

        【讨论】:

          猜你喜欢
          • 2023-03-12
          • 2020-08-08
          • 1970-01-01
          • 1970-01-01
          • 2022-12-11
          • 1970-01-01
          • 2018-04-04
          • 1970-01-01
          • 2023-01-15
          相关资源
          最近更新 更多