Бот для определения оператора и региона по номеру телефона, с учетом MNP.
What can do this bot?Бот для определения оператора и региона по номеру телефона. Использует полную постоянно обновляемую базу MNP портированных номеров.
Введите один или несколько номеров телефонов через запятую или выберите контакт из адресной книги.
Вызов справки: /help
Я бот, который умеет определять оператора и регион абонента по номеру телефона (пока только мобильные РФ).
Телефон можно задать с 7, без нее, с 8 и т.д. Как и любой робот, я обращаю внимание только на цифры.
Примеры: 9139367911, 8(913)936-7911, +7 913 936 79 11
Можно задать сразу несколько номеров через запятую, перенос строки или точку с запятой.
Этот бот разработан с помощью https://miniApps.pro, ведущей платформы для бот-коммерции.
Введите один или несколько номеров телефонов через запятую или выберите контакт из адресной книги.
Вызов справки: /help
Команды бота
Все команды должны начинаться с символа «/».
Узнай МЕСТОПОЛОЖЕНИЕ Человека По Номеру Телефона 😱
/help Вызов справки
Поделиться ботом
Смотрите также
Pro
BotoStore.com
Онлайн
Маркетинговая корзина | ViFinding
Бот собрал базу данных о маркетинге: приложения, сервисы, книги, подкасты и тд.
Онлайн
Read and Listen | Pricelist
Онлайн
В Каталог
Онлайн
BotoStore — каталог голосовых и чатботов, AI- и ML-сервисов, платформ для создания, инструментов и разработчиков голосовых и чат-приложений.
Источник: ru.botostore.com
Telegram бот на Python, работа с геолокацией пользователя
Вот и третья часть, где мы продолжим создавать телеграм бота с помощью Python и библиотеки requests . Сегодня вы узнаете как работать с геолокацией пользователя, и как с помощью бесплатного «API геокодера» определить адрес по координатам.
Функционал бота будем выглядеть следующим образом: Пользователь нажимает кнопку в боте и отправляет свою геолокацию. А в ответ к нему бот пишет, в каком городе он находится.
Это часть добавлена по просьбе одно из читателей сайта 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 сообщения, где телеграм спрашивает разрешение на отправку геолокации боту.
Нажимаем «Ок», и видим что в консоли появилось сообщение с координатами пользователя.
Все работает, теперь можно переходить к следующему этапу, где мы научимся определять адрес по координатам с помощью обратного геокодирования.
API геокодер
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()
Проверим как работает.
Ответ с местоположением выглядит смешно :), но это сделано для демонстрации. Вы можете в функции geocoder заменить address.get(«display_name») на address[«address»].get(«town») и в ответ получать только название города.
Конец
Теперь вы знаете как работать с геолокацией пользователя. Надеюсь полученный знания помогут вам реализовать, что ни будь интересное в вашем проекте. Если у вас есть пожелания для следующей части, прошу отпишите мне в обратной связи.
Комментарии
ballout
13 марта 2023
Привет, огромное спасибо за предоставленный код! очень помогло! Хотел спросить, как сделать чтобы когда я нажимал на «позицию» мне предоставлялась информация где я нахожусь и когда я бы нажимал на кнопку «погода» то бот также запрашивал геопозицию и выдавал мне только погоду в моем городе, на этом месте у меня полетела логика, так как когда я все сделал то у меня при нажатии на кнопку присылается сразу два сообщения, код внизу, буду очень благодарен если кто поможет!
Рамис
14 марта 2023
ballout
15 марта 2023
Источник: ramziv.com
Узнать чужое местоположение через Telegram
Для установки и запуска трекинга, укажите username или номер телефона, на который зарегистрирован целевой аккаунт:
Номер телефона Имя пользователя
Tgtracker — оптимальное решение для отслеживания геолокации другого пользователя Телеграма. ПО позволяет отслеживать передвижения целевого пользователя. Надежный способ отследить GPS смартфона через Телеграм.
Регистрируя профиль в Панели управления, вы автоматически принимаете все условия пользования.
Olga Skrund
Привет, пришли метку на карте GPS-данные
Olga Skrund 15:35
Отлично, нам по пути
Olga Skrund 15:35
Летающий старт для создателей. Что-нибудь, чтобы подбодрить тебя
Olga Skrund
Оксана Иванова 12:49
Ты видимо шутишь надо мной?
Игорь Юдин 11:19
Иван Жернаков 12:34
Может быть позавтракаем завтра вместе?
Viktor Ber ☀️ 14:28
Вот это сумасшедшая история вышла
Dmitry Sero️ 14:28
Olga Popova 15:44
Виниамин 16:17
Артем Ростов 18:01
Olga Skrund
Елена Жданова
Привет, мы с тобой знакомы уже много лет. Скажи, ты не видела случайно, чтобы мой муж встречался или флиртовал с кем-то в офисе?
Ольга Маркелова 15:35
Леночка, ничего подобного не замечала. Если бы увидела, то сразу сказала.
Елена Жданова
Последнее время ведет себя очень странно, думаю, что у него появилась любовница. Ты с ним работаешь, думаю может замечала что-либо.
Непрочитанное сообщение
Ольга Маркелова 15:35
Зато точно могу советовать tgtracker.pro ❤️❤️❤️
Отслеживание местоположения через Tgtracker
Как это работает
Набор инструментов для отслеживания и обработки данных геолокации — одна их самых многослойных и технологически сложных частей функционала Tgtracker. После авторизации во взломанный аккаунт, ПО начинает отслеживание и трансляцию геоданных в Панель управления. На этом этапе инструменты приложения начинают обрабатывать данные, чтобы затем задействовать их для отображения запрашиваемой пользователем информации. Процесс трекинга и адаптации геоданных происходит в режиме реального времени, то есть беспрерывно.
Как узнать где находится пользователь Телеграм?
Приложение также дает возможность отследить историю передвижений
Чтобы знать, где находится другой человек через Telegram, необходимо получить доступ к геоданным его смартфона. Взломать геопозицию через Telegram — сложная, но реализуемая задача. Прежде чем определить геопозицию пользователя Telegram, приложение должно получить разрешение на доступ к GPS-данным его устройства. На данный момент, единственный надежный и доступный способ установить слежку за перемещениями другого человека — приложение для трекинга GPS через Telegram Tgtracker.
Тепловая карта
При включении этого инструмента на веб-картах Tgtracker применяются несколько дополнительных фильтров, регулирующих цвет определенной территории в зависимости от того, как часто ее посещает отслеживаемый пользователь Телеграма. При стандартных настройках, ПО будет формировать тепловую карту на основании геоданных за последний месяц, но временной интервал можно изменить.