Бот в телеге отправляющий местоположение

Я использую библиотеку 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

Рейтинг
( Пока оценок нет )
Загрузка ...