获取电报机器人所有者的位置

时间:2017-07-31 06:30:10

标签: python gps

在我的脚本中,我想获取电报机器人所有者的位置,当用户点击按钮时,机器人将所有者的位置发送给用户,形式为谷歌地图图像。 我的剧本是:

import telepot
from telepot.loop import MessageLoop
import time
from gps3 import gps3

bot = telepot.Bot('mytoken')
def handle(msg):
    content_type, chat_type, chat_id = telepot.glance(msg)
    gps_socket = gps3.GPSDSocket()
    data_stream = gps3.DataStream()
    gps_socket.connect()
    gps_socket.watch()
    for new_data in gps_socket:
        if new_data:
            data_stream.unpack(new_data)
            alt = data_stream.TPV['alt']
            lat = data_stream.TPV['lat']
    bot.sendMessage(chat_id ,  alt)



MessageLoop(bot, handle).run_as_thread()
 while 1:
    time.sleep(1)

我在我的笔记本电脑上运行这个脚本,因为我的笔记本电脑没有gps我得到错误,当我用我的Android手机运行它应该可以工作,但我得到同样的错误

1 个答案:

答案 0 :(得分:1)

我无法对此进行全面测试,但如果笔记本电脑上缺少GPS是您唯一的问题,那么如果您在测试时只更换了大部分代码,会发生什么? :

import telepot
from telepot.loop import MessageLoop
import time

bot = telepot.Bot('mytoken')
def handle(msg):
    content_type, chat_type, chat_id = telepot.glance(msg)
    lat = 53.540442
    long = 9.996381
    alt = 53.432        
    bot.sendMessage(chat_id ,  alt)

MessageLoop(bot, handle).run_as_thread()
 while 1:
    time.sleep(1)

只需给它想要的坐标,并尝试让脚本的Telegram部分工作。可能sendMessage想要的不仅仅是高度......