【问题标题】:How to find out whether it's user's current location or a chosen spot on map如何确定是用户的当前位置还是地图上的选定地点
【发布时间】:2017-10-25 10:01:04
【问题描述】:

我需要获取用户的当前位置。

我可以通过位置键盘询问位置,用户点击它会发送他当前的位置。但他也可以回复消息,选择地图上的任何位置并分享。

无论哪种方式,返回给我的 Bot 的结果都是相同的。(至少在我看来。)

有没有办法或技巧来确保共享位置也是他当前的位置?

仅供参考 - 我正在使用 Node.js 编写的 TeleBot 库。(尽管我认为它不会影响答案。)

【问题讨论】:

    标签: telegram telegram-bot


    【解决方案1】:

    我的解决方法是要求用户发送位置两次。

    如果两个位置不同。我会不断要求他们发送新位置。

    另一个解决方案是我创建另一个内联机器人,它将创建一个包含安全检查的 Venue 结果。 Venue 由内联机器人使用当前用户位置生成。

    无论如何,我想使用本机电报机器人 api 来做到这一点。希望 Telegram 团队将来添加此功能。

    更新:Telegram 4.4 发布新功能 - 很难作弊的实时位置https://telegram.org/blog/live-locations

    【讨论】:

    • 我认为“两个位置”有时可能有点烦人,因为 GPS 不是那么准确,但嘿,这是一个有趣的想法。
    • 现在这个现场是我正在寻找的。虽然它仍然可以被伪造的 GPS 应用程序入侵(好吧,现在什么都不能被黑客入侵......!),我们可以指望这个。
    • 但是你如何检查它是否是实时位置? Telegram 对于实时位置消息没有任何独特的消息类型,它看起来就像带有经度和纬度的简单位置消息......
    • 如果是live location,则两个location消息更新的间隔是一样的。
    • @IliaSachev 在收到带有位置的消息后,您开始等待编辑此消息并实际保存您将收到的已编辑位置。编辑意味着它是“实时位置”,我建议保存第二个坐标,因为某些设备问题的第一个坐标可能来自以前的位置(哪个用户之前发送过),所以它们可能完全不同。
    【解决方案2】:

    没有办法做到这一点:(

    我也有同样的问题。

    【讨论】:

    • 我联系了 Telegram Bot Support,他们还说这是不可能的,他们“几乎可以肯定”将来也不会添加它。
    • @AhmadM 他们没有告诉你为什么吗?也许是隐私原因?
    • @91DarioDev 我没有问为什么,但我确信它有隐私原因,因为 Telegram 不喜欢“强迫”它的用户。我想我们应该接受这一点。
    猜你喜欢
    • 2023-03-27
    • 2012-05-21
    • 1970-01-01
    • 2012-01-25
    • 1970-01-01
    • 1970-01-01
    • 2021-03-21
    • 2012-10-18
    • 2013-08-22
    相关资源
    最近更新 更多