在我的脚本中,我想获取电报机器人所有者的位置,当用户点击按钮时,机器人将所有者的位置发送给用户,形式为谷歌地图图像。 我的剧本是:
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手机运行它应该可以工作,但我得到同样的错误
答案 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
想要的不仅仅是高度......