Получить геолокацию Telegram bot

Привет , я бы хотел, чтобы мой чат-бот на Python мог определять местоположение пользователей. Я не могу найти код для этого — вы можете помочь?

def testbot_basic(): def handle(msg): content_type, chat_type, chat_id = telepot.glance(msg) if content_type == ‘text’: bot.sendMessage(chat_id,»ciao sono un Bot») print(bot.getMe()) pprint(bot.getUpdates()) bot = telepot.Bot(‘xxxxxxxxxxxxx’) print(bot.getMe()) pprint(bot.getUpdates()) #per ogni messaggio ricevuto viene aperta una istanza della funzione handle bot.message_loop(handle) print (‘Listening . ‘) # diamo 10 secondi di pausa while 1: time.sleep(5)

user1672426 08 фев ’20 в 01:14 2020-02-08 01:14

2020-02-08 01:14

1 ответ

if content_type == ‘location’: print(msg[‘location’]) print(msg[‘location’][‘latitude’]) print(msg[‘location’][‘longitude’])

Источник: stackru.com

Геолокация в Телеграм

Где брать координаты местоположения в telegram bot api?

Вначале необходимо запросить координаты у пользователя, кнопка должна иметь ‘request_location’ => true:
Подробнее смотри как: https://core.telegram.org/bots/api#replykeyboardmarkup и ниже про саму кнопку запроса локации.
Потом придет ответ(если пользователь поделится), где будут указана локация в виде:

Кстати, если хотите цифрами показать локацию, то отправляйте просто через sendMessage. При отправке sendLocation телеграм отправит отметку на карте.

Ответ написан более трёх лет назад
Нравится 3 6 комментариев
А еще как в кнопке то это записать? ‘request_location’ => true:

stamdyscias: я питон не знаю(переменной обзови клавиатуру), но формат такой и он общий для всех языков:


И это надо отправить sendMessage(chat_id, text, наша_кастомная_клавиатура)

Xorsia

подскажи где их можно словить .
Мне нужен массив данных с двумя значениями «location»:
Через текст я не могу словить и через call_back_data. .

Xorsia

в массиве $message -> location .

прилетело то что надо:

Ответ написан более трёх лет назад
Комментировать
Нравится 2 Комментировать

Mr_Pod

Недавно столкнулся с такой же ‘проблемой’ (после решения не кажется сложной).
Итак, как же поймать location?

Еще по теме:  Как узнать всю информацию о человеке в Телеграмме

Кратко:
Настроить mesage handler ловить update с непустым location после нажатия кнопки
Длинно:

  1. Для юзеров pyTelegramBotAPI
  2. Для ребяток, которые используют python-telegram-bot:

dispatcher.add_handler(MessageHandler(Filters.location, location)) def location(bot, update): print(update.message.location)

Источник: qna.habr.com

Оцените статью
Добавить комментарий