Отправляю боту свою геолокацию,в json формате широта и долгота(latitude,longitude) есть,а если попытаться получить эти данные,то выдает ошибку.
print(message.location.latitude) >> AttributeError: ‘NoneType’ object has no attribute ‘latitude’
Если пробовать вывести так,то выдает пустое значение,хотя при просмотре json через /getUpdates значение есть.
print(message.location) >>None
Как достать значения location?
«location»:>>]>
Отслеживать
19.5k 5 5 золотых знаков 22 22 серебряных знака 56 56 бронзовых знаков
задан 17 сен 2018 в 18:14
дмитрий сомов дмитрий сомов
23 1 1 серебряный знак 4 4 бронзовых знака
Может, как message[‘location’][‘latitude’] попробовать? Так или иначе, не вижу, откуда этот message берётся (и что он такое вообще), эта информация наверняка помогла бы.
– user247581
17 сен 2018 в 21:46
1 ответ 1
Сортировка: Сброс на вариант по умолчанию
В вашем коде немного неправильно используется библиотека.. каждый хендлер — по сути является разово вызываемой функцией. Пользователь что-то прислал — вызвался соответствующий хендлер. Тоесть логика такая: вы отправляете пользователю сообщение с кнопкой, он оправляет местоположение и оно приходит вам новым сообщением на хендлер который принимает location. Всё происходит в режиме пулинга, тоесть соединение с телеграмом не поддерживается, всё работает отдельными запросами
Как узнать местоположение в чат боте? Принятие геолокации в чат боте telegram. Как создать чат-бота.
Вот непосредственно решение вашей задачи:
Источник: ru.stackoverflow.com
Геолокация в Telegram: скрытые возможности
Лента
На чтение 3 мин
В обновлении 4.4 в Телеграм появилась функция Live Location, позволяющая отправлять геолокацию (или кто-то говорит геопозиция) в Телеграм и включать трансляцию месторасположения в реальном времени.
Геолокация может пригодиться в ряде ситуаций, когда нужно быстро определить текущие координаты. Очень удобно воспользоваться геопозицией в случае массового мероприятия: вместо долгих объяснений и ответов на вопросы а-ля «ты где?» достаточно чекнуть с помощью Телеграм местоположение и отправить его собеседнику.
Геолокация в Телеграм запускается в 3 клика:
- Открываем мессенджер и выбираем того, с кем хотим поделиться своими координатами. Прочитай статью, если не получается зайти в Телеграм.
- Нажимаем на значок скрепки и находим иконку «Геопозиция».
- Осталось отправить данные о местоположении, которые сформировал Телеграм.
Топ-3 плюшек геолокации в Телеграм
1. Самостоятельный выбор места для отправки
Вы можете сами определить точку на карте, которая будет отправлена. Для этого достаточно просто перенести красную метку в нужное место.
Если же вы передумали, и хотите отправить точную геопозицию кому-либо в Телеграм, вы можете быстро вернуться к своей дислокации. Для этого нажмите на кружок, отмеченный на скриншоте ниже — и красная «иголка» вернется в исходную точку.
2. Транслирование геолокации
Live Location позволяет не только единоразово отправить свою геопозицию, но и при желании включить ее транслирование в заданном временном промежутке — ваш собеседник будет следить за вашим передвижением в течение 15 минут, одного или восьми часов прямо в Telegram.
Определить этот период можно сразу после нажатия на пункт «Транслировать мою геопозицию».
3. Выбор из готового списка
Если нажать на надпись внизу экрана «Потяните, чтобы выбрать место», откроется список из разнообразных локаций поблизости. Данные подтягиваются из Foursquare.
Настройка и удаление геолокации
Полученные данные о геолокации можно просматривать на карте, со спутника или в гибридном режиме. Чтобы переключить вариацию отображения, нажмите на три точки в верхней правой части экрана.
Кстати, если вы начнете транслировать сразу в несколько чатов, вверху общего перечня диалогов появится об этом уведомление. Тапните на него, чтобы просмотреть чаты, в которые вы отправляете геолокацию в режиме реального времени.
Удаление геопозиции идентично удалению обычного сообщения в Телеграм: тапните на область рядом с отправленное местоположение и выберите пункт «Удалить».
Источник: teleggid.com
Местоположение по IP-адресу в Telegram: как узнать, где находится пользователь?
В мессенджере Telegram существует возможность узнать местоположение пользователя по его IP-адресу. Это полезная функция, которая позволяет определить, откуда приходит пользователь, и использовать эту информацию для различных целей.
IP-адрес – это уникальный числовой идентификатор, присваиваемый устройству в сети. С его помощью можно определить местоположение пользователя, так как каждый IP-адрес привязан к определенной географической области.
В Telegram существует специальный бот, который позволяет узнать местоположение пользователя по его IP-адресу. Для этого достаточно просто ввести команду или отправить запрос с IP-адресом данного пользователя. Бот в ответ предоставит информацию о стране, регионе и городе, где находится пользователь с указанным IP-адресом.
Местоположение по IP-адресу в Telegram: как определить местонахождение пользователя?
Telegram предоставляет возможность определить местоположение пользователя по его IP-адресу. IP-адрес — это уникальный идентификатор, присваиваемый устройству в сети Интернет. Определение местонахождения пользователя осуществляется на основе базы данных IP-адресов, которая содержит информацию о географическом расположении каждого адреса.
Чтобы узнать местоположение пользователя по его IP-адресу в Telegram, необходимо воспользоваться специальными функциями и API, предоставляемыми платформой. Одним из основных методов определения местоположения является использование IP-адреса, который Telegram получает вместе с каждым запросом от пользователя.
Telegram предоставляет разработчикам API-интерфейс, который позволяет получить доступ к информации о местоположении пользователя по его IP-адресу. Для этого необходимо выполнить соответствующий запрос к API Telegram и получить ответ с данными о местоположении.
Определение местоположения пользователя по его IP-адресу в Telegram может быть полезно в различных ситуациях. Например, это может быть использовано для отображения релевантной географической информации, для более точного определения часового пояса или для анализа пользовательской аудитории по регионам.
Что такое IP-адрес и как он связан с местоположением пользователя в Telegram?
IP-адрес (Internet Protocol Address) — это уникальный числовой идентификатор, присваиваемый каждому устройству, подключенному к сети интернет. Он состоит из набора чисел, разделенных точками, и может быть представлен в виде IPv4 (например, 192.168.0.1) или IPv6 (например, 2001:0db8:85a3:0000:0000:8a2e:0370:7334).
По IP-адресу можно узнать примерное местоположение пользователя. Когда пользователь подключается к интернету, его устройство получает IP-адрес от своего интернет-провайдера. IP-адрес содержит информацию о географическом положении, включая страну, регион и город.
В Telegram есть возможность узнать местоположение пользователя по его IP-адресу. Однако следует отметить, что точность определения местоположения по IP-адресу может быть ограничена. Она зависит от доступности и качества баз данных геолокации, используемых для определения местоположения.
Приложение Telegram может использовать IP-адрес пользователя для различных целей, например, для определения временной зоны и языка интерфейса, а также для предоставления контента, специфичного для определенных регионов.
Методы определения местоположения по IP-адресу в Telegram
Telegram предоставляет несколько методов для определения местоположения пользователя по его IP-адресу. Это позволяет администраторам групп и каналов более точно настраивать контент и таргетировать аудиторию в зависимости от ее географического расположения.
Метод 1: IP-геолокация
Один из наиболее популярных методов определения местоположения по IP-адресу — это использование IP-геолокации. Telegram использует базы данных географических IP-адресов для определения страны, региона и даже города, откуда пользователь заходит в мессенджер.
Метод основан на сопоставлении IP-адреса с определенным местоположением в базе данных. Однако, стоит отметить, что IP-адрес может быть назначен провайдером интернета в другой стране, и в таком случае геолокация может быть не совсем точной.
Метод 2: Данные GPS
Telegram также предоставляет возможность определить местоположение пользователя на основе данных GPS его устройства. Если пользователь разрешил Telegram доступ к данным о его местоположении, то при отправке каких-либо геолокаций или других сообщений, содержащих информацию о местоположении, эти данные будут использоваться для определения географического положения пользователя.