tg机器人怎么获取用户地理位置

蓬蒙蓬蒙06月11日390

tg机器人怎么获取用户的地理位置?比如我做个小程序,想让对方发送位置,机器人能自动读取经纬度,这样可以更好的提供周边服务,求大神支招?

3 个回答

卿依波
卿依波回答于 06 月 11 日
最佳答案

Telegram机器人可以通过用户主动发送的位置消息来获取地理位置,用户发送位置后机器人收到的update中会有location对象,里面含有经纬度。通过使用API的getUpdates接口来监听type为location的消息,从而获取到位置坐标值。注意权限问题,用户需要同意发送位置。建议在开发中使用python-telegram-bot库来处理此类消息。

管代梅
管代梅回答于 06 月 11 日

用户主动发送定位,机器人可通过update.message.location取得经纬度。注意权限,用户需要打开位置共享。代码:用python-telegram-bot库监听location类型。注意处理用户不发送定位或者发送过期定位的情况,建议webhook接收数据。

却谷菱
却谷菱回答于 06 月 12 日

用户自己发定位给你,机器人调用API解析经纬度。Telegram官方文档有现成的API,你看tgbot的location类型处理函数即可,大致是用户发位置→机器人收到update→解析出location中的latitude和longitude。代码实现要看你的开发语言,python直接用python-telegram-bot库拿数据。注意用户必须开启定位权限并且主动发给机器人,机器人不能强制获取。

您的答案