Возможно ли узнать по геоданным Телеграмм местоположение

Чтобы использовать эту функцию, выберите Местоположение в меню вложения и выберите Поделиться своей геолокацией для . Отправьте геолокацию в группу и на экране будут видны все участники, которые тоже решили поделиться, где они находятся. Удобно, если вам нужно где-то собраться, а никто не знает эти места.

Как показать Геолокацию в телеграмме?

Чтобы увидеть их (и, что важно, «засветиться» самому), нужно зайти в Telegram , перейти в раздел «Контакты» и нажать сверху «Найти людей рядом». Теперь пользователи мессенджера рядом с вами смогут увидеть вас в списке и отправлять вам сообщения — даже если вы закроете приложени

Как убрать Геолокацию в телеграмме?

Отключить отображение профиля можно в любой момент нажав на кнопку «Не показывать меня». Также, во избежание лишних рисков пользователям лучше не разрешать этой функции доступ к своей геопозици

Как показать свою Геолокацию?

  1. Добавьте его адрес электронной почты, привязанный к аккаунту, в Google Контакты.
  2. На устройстве Android откройте приложение «Google Карты» .
  3. Нажмите с вашим значком профиля Передача геоданных «Добавить пользователей» .
  4. Укажите период, в течение которого будет открыт доступ к вашим геоданным.

Как открыть Геолокацию в телеграмме?

В прошлом году этот популярный мессенджер обновил функцию «Люди рядом», которая предназначена для общения тех его пользователей, которые находятся поблизости. Чтобы увидеть их (и, что важно, «засветиться» самому), нужно зайти в Telegram , перейти в раздел «Контакты» и нажать сверху «Найти людей рядом».

Как убрать Геолокацию в телеграмме?

Отключить отображение профиля можно в любой момент нажав на кнопку «Не показывать меня». Также, во избежание лишних рисков пользователям лучше не разрешать этой функции доступ к своей геопозиции.

Источник: faq-facts.com

Telegram бот на Python, работа с геолокацией пользователя

Telegram бот на Python, работа с геолокацией пользователя

Вот и третья часть, где мы продолжим создавать телеграм бота с помощью Python и библиотеки requests . Сегодня вы узнаете как работать с геолокацией пользователя, и как с помощью бесплатного «API геокодера» определить адрес по координатам.

Функционал бота будем выглядеть следующим образом: Пользователь нажимает кнопку в боте и отправляет свою геолокацию. А в ответ к нему бот пишет, в каком городе он находится.

Это часть добавлена по просьбе одно из читателей сайта ramziv.com 🙂

просьбе одно из читателей сайта ramziv.com

Код телеграм бота

Перед тем как продолжить писать код, предлагаю убрать для удобства весь лишний функционал, что мы добавили в прошлых частях. Оставить только настраиваемую клавиатуру и ответ на приветствие.

Прошу вас обратить внимание на функцию run , я добавил новое условие, так как бот прекращал работу ошибкой, если вместо текста отправить ему файл, картинку или геолокацию. Данный код будет работать на Python 3.8 и выше.

#https://ramziv.com/blog/29 import requests import time import json TOKEN = ‘ТОКЕН’ URL = ‘https://api.telegram.org/bot’ def get_updates(offset=0): result = requests.get(f’/getUpdates?offset=’).json() return result[‘result’] def send_message(chat_id, text): requests.get(f’/sendMessage?chat_id= «keyboard»: [[«Привет», «Hello»]], «resize_keyboard»: True, «one_time_keyboard»: True>data = requests.post(f’/sendMessage’, data=data) def check_message(chat_id, message): if message.lower() in [‘привет’, ‘hello’]: send_message(chat_id, ‘Привет :)’) else: reply_keyboard(chat_id, ‘Я не понимаю тебя :(‘) def run(): update_id = get_updates()[-1][‘update_id’] # Сохраняем ID последнего отправленного сообщения боту while True: time.sleep(2) messages = get_updates(update_id) # Получаем обновления for message in messages: # Если в обновлении есть ID больше чем ID последнего сообщения, значит пришло новое сообщение if update_id < message[‘update_id’]: update_id = message[‘update_id’]# Сохраняем ID последнего отправленного сообщения боту if (user_message := message[‘message’].get(‘text’)): # Проверим, есть ли текст в сообщении check_message(message[‘message’][‘chat’][‘id’], user_message) # Отвечаем if __name__ == ‘__main__’: run()

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

Геолокация пользователя

Что бы получить геолокацию пользователя, добавим в нашу клавиатуру новую кнопку с текстом «Где я нахожусь» и укажем ключ request_location со значением True .

#https://ramziv.com/blog/29 def reply_keyboard(chat_id, text): reply_markup =< «keyboard»: [[«Привет», «Hello»], []], «resize_keyboard»: True, «one_time_keyboard»: True> data = requests.post(f’/sendMessage’, data=data)

Так же добавим новое условие в функцию run , что бы проверить, что вместо текста в сообщение была отправлена геолокация. Если условие истина, выведем на экран сообщение с координатами пользователя.

#https://ramziv.com/blog/29 def run(): update_id = get_updates()[-1][‘update_id’] # Сохраняем ID последнего отправленного сообщения боту while True: time.sleep(2) messages = get_updates(update_id) # Получаем обновления for message in messages: # Если в обновлении есть ID больше чем ID последнего сообщения, значит пришло новое сообщение if update_id < message[‘update_id’]: update_id = message[‘update_id’]# Сохраняем ID последнего отправленного сообщения боту if (user_message := message[‘message’].get(‘text’)): # Проверим, есть ли текст в сообщении check_message(message[‘message’][‘chat’][‘id’], user_message) # Отвечаем if (user_location := message[‘message’].get(‘location’)): # Проверим, если ли location в сообщении print(user_location)

Запустим, и проверим нашего бота.

Если нажать кнопку «Где я нахожусь», всплывает push сообщения, где телеграм спрашивает разрешение на отправку геолокации боту.

Телеграм бот на Python

Нажимаем «Ок», и видим что в консоли появилось сообщение с координатами пользователя.

Все работает, теперь можно переходить к следующему этапу, где мы научимся определять адрес по координатам с помощью обратного геокодирования.

API геокодер

просьбе одно из читателей сайта ramziv.com

LocationIQ API: позволяет определять координаты и получать сведения об объекте по его адресу (прямое геокодирование) и наоборот, определять адрес объекта по его координатам (обратное геокодирование). Сервис предлагает бесплатный план, где разрешено делать 5000 запросов в день, с 2 запросами в секунду.

Зарегистрируемся, и получим токен.

Проверим как работает API, откроем в новой вкладке ссылку заменив токен и ранее полученные координаты пользователя.

https://eu1.locationiq.com/v1/reverse.php?key=lon=lat=format=json’, headers=headers).json() return f’Твое местоположение: ‘

Почти все готово, осталось изменить функцию run , что бы бот отправил пользователю сообщение с его местоположением, если в боте нажали кнопку «Где я нахожусь».

#https://ramziv.com/blog/29 import requests import time import json TOKEN = ‘ТОКЕН’ URL = ‘https://api.telegram.org/bot’ def get_updates(offset=0): result = requests.get(f’/getUpdates?offset=’).json() return result[‘result’] def send_message(chat_id, text): requests.get(f’/sendMessage?chat_id= «keyboard»: [[«Привет», «Hello»], []], «resize_keyboard»: True, «one_time_keyboard»: True> data = requests.post(f’/sendMessage’, data=data) def check_message(chat_id, message): if message.lower() in [‘привет’, ‘hello’]: send_message(chat_id, ‘Привет :)’) else: reply_keyboard(chat_id, ‘Я не понимаю тебя :(‘) def geocoder(latitude, longitude): token = ‘pk.токен’ headers = address = requests.get(f’https://eu1.locationiq.com/v1/reverse.php?key=lon= message[‘update_id’]: update_id = message[‘update_id’]# Присваиваем ID последнего отправленного сообщения боту if (user_message := message[‘message’].get(‘text’)): # Проверим, есть ли текст в сообщении check_message(message[‘message’][‘chat’][‘id’], user_message) # Отвечаем if (user_location := message[‘message’].get(‘location’)): # Проверим, если ли location в сообщении latitude = user_location[‘latitude’] longitude = user_location[‘longitude’] send_message(message[‘message’][‘chat’][‘id’], geocoder(latitude, longitude)) if __name__ == ‘__main__’: run()

Проверим как работает.

Телеграм бот Python

Ответ с местоположением выглядит смешно :), но это сделано для демонстрации. Вы можете в функции geocoder заменить address.get(«display_name») на address[«address»].get(«town») и в ответ получать только название города.

Еще по теме:  Как в Телеграмме сделать отпечаток пальца

Конец

Теперь вы знаете как работать с геолокацией пользователя. Надеюсь полученный знания помогут вам реализовать, что ни будь интересное в вашем проекте. Если у вас есть пожелания для следующей части, прошу отпишите мне в обратной связи.

Комментарии

ballout

13 марта 2023

Привет, огромное спасибо за предоставленный код! очень помогло! Хотел спросить, как сделать чтобы когда я нажимал на «позицию» мне предоставлялась информация где я нахожусь и когда я бы нажимал на кнопку «погода» то бот также запрашивал геопозицию и выдавал мне только погоду в моем городе, на этом месте у меня полетела логика, так как когда я все сделал то у меня при нажатии на кнопку присылается сразу два сообщения, код внизу, буду очень благодарен если кто поможет!

Рамис

14 марта 2023

ballout

15 марта 2023

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

Геотеги Телеграм: как включить локацию и отправить ее в чате

Как создать геочат в Телеграме - пошаговая инструкция

Чаты и каналы

Автор fast12v0_steleg На чтение 6 мин Просмотров 1.4к. Опубликовано 02.08.2020

Telegram – многофункциональная программа для общения, которая постоянно радует пользователей удобными нововведениями.

Летом 2019 г. появилась возможность общаться с людьми, которые находятся поблизости и объединены общими интересами.

Геочат в Телеграме

Начиная с версии приложения 5.8, разработчики запустили функцию создания геочатов – сообществ, основанных на геолокации.

Что это такое

Geochat – это специальная локальная группа, относящаяся к конкретному географическому местоположению.

При создании сообществ Телеграм определяет местоположение телефона и создает канал с учетом геопозиции. Затем другие абоненты, которые воспользуются поиском и при этом будут физически находиться вблизи заданной точки, получат в списке поисковых результатов созданный чат и смогут стать его участниками.

Назначение

С помощью этой функции можно быстро находить единомышленников на концертах, митингах и других массовых мероприятиях, требующих согласования конкретных действий и координации на местности. Геочат Телеграм дает хорошую возможность познакомиться с соседями по дому или общежитию, найти компанию на курорте, привлечь посетителей в свое заведение.

Мессенджер с появлением геочатов может стать альтернативой Тиндеру, поскольку также позволяет отыскивать пользователей приложения, находящихся поблизости. Для видимости местоположения должна быть включена геолокация в Телеграмме.

Возможности

Telegram геочаты имеют следующие возможности:

  • минимальный радиус, в пределах которого работает локальная группа, составляет 100 м, а максимальный – 12 км;
  • при создании канала можно добавить аватар и описание с информацией о том, для кого предназначен чат и о чем в нем беседуют;
  • есть возможность добавлять администраторов группы;
  • геочат позволяется сделать открытым (доступным для просмотра, присоединения, переписки новых пользователей) или приватным (по приглашениям);
  • местоположение чата не меняется в зависимости от географических передвижений пользователя, который его создал;
  • геочат можно удалить.

Как создать

Прежде чем приступить к созданию группы, нужно убедиться, что на смартфоне включена функция по определению местоположения («Геоданные», «Локация» и т. д. в зависимости от модели). Посмотреть это можно среди других функций и режимов телефона, смахнув штору вверху экрана.

Также важно, чтобы телефонный номер пользователя был привязан к той стране, где планируется создание геочата.

Теперь самое важное: как создавать геочаты в Телеграмме? Процесс незначительно отличается в зависимости от используемого устройства, поэтому отдельно рассмотрен для Android и Iphone.

На Android

Для создания группового чата, ограниченного географическим местоположением, на устройствах Андроид нужно действовать по следующему алгоритму:

  • открыть мессенджер;
  • тапнуть на три горизонтальные полоски в верхнем левом углу;
  • выбрать «Контакты», затем «Найти людей рядом»;
  • кликнуть на «Локальные группы» / «Создать группу»;
  • ввести наименование сообщества в специальное поле и при желании загрузить аву;
  • в строке «Геопозиция» указать нужный адрес или выбрать место на карте;
  • подтвердить действия кликом на кнопку в виде галочки.
Еще по теме:  Как набирать подписчиков в Telegram

На iPhone

Процесс создания гео чата в Телеграмм на смартфонах с операционной системой iOS практически идентичен:

  • запустить мессенджер;
  • выбрать раздел «Контакты» внизу экрана / «Найти людей рядом»;
  • в открывшемся окне кликнуть «Создать локальную группу» / «Создать группу»;
  • ввести название канала в соответствующую строку и установить фото;
  • кликнуть на «Изменить геопозицию» и выбрать нужное место на карте;
  • нажать «Готово».

Затем кликом на аватарку можно перейти в настройки, тапнуть на «Изменить» и при желании добавить тематику, никнейм, публичную ссылку и администраторов группы.

Теперь у всех пользователей, находящихся на расстоянии не более 12 км от установленной метки, в списке доступных геочатов появится ваша группа.

На ПК

На данный момент создавать чаты по геолокации в Телеграм можно только на гаджетах, поскольку они могут отправлять геоданные в приложение. В десктопной версии такой функции пока не предусмотрено, как и поиск групп и людей поблизости.

Как найти геочат

Для поиска доступных геочатов потребуется:

  • запустить мессенджер, вызвать главное меню;
  • выбрать раздел «Контакты» и тапнуть по строке «Найти людей рядом».

Вначале будут показаны отдельные пользователи, а чуть ниже – список локальных групп. Выданные результаты действуют в радиусе 12 км.

В перечне геочатов сначала будут показаны те, которые включают в себя наибольшее количество участников, а в конце – которые находятся ближе к пользователю. Общее число групп не будет превышать девяти. Можно войти в любую из них, посмотреть беседу других участников и при желании присоединиться к ним.

Плюсы и минусы локальных групп

Телеграм геочаты имеют следующие преимущественные особенности:

  • знакомство и общение с людьми, объединенными общей геопозицией;
  • отсутствие необходимости скидывать свои контактные данные;
  • возможность скрыть содержимое беседы от посторонних глаз, сделав канал приватным.

Нововведение имеет и некоторые ограничения:

  1. Невозможно создать геочат на территории другой страны. С этим уже столкнулись жители Крыма, имеющие российские номера телефонов. Телеграм воспринял полуостров как Украину, а указанное местоположение – ложным. Из-за этого пользователи не смогли создать геочаты. Возможно, это ограничение будет устранено в скором времени.
  2. С одного Телеграм-аккаунта можно создать максимум 5 локальных чатов.
  3. Невозможно создать геочат с аккаунта, зарегистрированного на виртуальный номер.

Способы удаления

Если был создан локальный чат, который не увенчался популярностью у других пользователей, его можно удалить:

  • зайти в геочат;
  • нажать на его название и кликнуть «Редактировать»;
  • найти пункт «Удалить группу».

После подтверждения действия все участники будут автоматически исключены, беседа удалится.

Если человек просто хочет покинуть созданную им группу, то можно в основном окне с чатами зажать название нужной группы и кликнуть по кнопке в виде корзины. В этом случае геочат будет продолжать функционировать, но пользователь перестанет быть его участником.

Выводы

Геочаты Телеграмм – удобная функция мессенджера, позволяющая узнавать людей, которые находятся неподалеку. При этом не нужно делиться контактными номерами с неизвестными людьми. Локальную группу можно создать самостоятельно по вышеописанной пошаговой инструкции или искать уже функционирующие посредством поиска.

Источник: stelegram.ru

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