Я использую библиотеку python-telegram-bot . Я хочу отслеживать местоположение пользователя Live, но я не знаю, как это сделать. Я пытаюсь использовать Job Queue:
def notification(bot, job):
updates = bot.get_updates()
print([u.message.location for u in updates])
# Add job to queue
job = job_queue.run_repeating(notification, 10, 1, context=chat_id)
chat_data[‘job’] = job
Но обновления недействительны. Я хочу отслеживать местоположение каждые 1 минуту.
спросил(а) 2018-01-13T12:10:00+03:00 5 лет, 8 месяцев назад
добавить комментарий
пожаловаться
Просто чтобы проработать ответ Seans: это можно сделать довольно легко, используя библиотеку python-telegram-bot, просто установив edited_updates=True в обработчике. Всякий раз, когда местоположение обновлялось, его можно найти в update.edited_message . Это работает только в том случае, если пользователь вручную делится местоположением в реальном времени с ботом.
def location(bot, update):
message = None
if update.edited_message:
message = update.edited_message
else:
message = update.message
current_pos = (message.location.latitude, message.location.longitude)
location_handler = MessageHandler(Filters.location, location, edited_updates=True)
dispatcher.add_handler(location_handler)
ответил(а) 2018-09-27T11:37:00+03:00 5 лет назад
Источник: progi.pro
Как я могу получить Live Location в боте telegram через python?
Я использую библиотеку python-telegram-bot . Я хочу отслеживать местоположение пользователя Live, но я не знаю, как это сделать. Я пытаюсь использовать Job Queue:
def notification(bot, job): updates = bot.get_updates() print([u.message.location for u in updates]) # Add job to queue job = job_queue.run_repeating(notification, 10, 1, context=chat_id) chat_data[‘job’] = job
Но обновления недействительны. Я хочу отслеживать местоположение каждые 1 минуту.
Pavlo Zub 13 янв. 2018, в 10:50
Поделиться
Поделиться:
telegram-bot
python-telegram-bot
3 ответа
Просто чтобы проработать ответ Seans: это можно сделать довольно легко, используя библиотеку python-telegram-bot, просто установив edited_updates=True в обработчике. Всякий раз, когда местоположение обновлялось, его можно найти в update.edited_message . Это работает только в том случае, если пользователь вручную делится местоположением в реальном времени с ботом.
def location(bot, update): message = None if update.edited_message: message = update.edited_message else: message = update.message current_pos = (message.location.latitude, message.location.longitude) location_handler = MessageHandler(Filters.location, location, edited_updates=True) dispatcher.add_handler(location_handler)
Lukas E. 27 сен. 2018, в 06:19
Источник: overcoder.net