Хочется сделать отправку контакта и местоположения, например, через кнопки на ReplyKeyboardMarkup . Минимальный пример:
# pip install python-telegram-bot from telegram import Update, ReplyKeyboardMarkup, KeyboardButton from telegram.ext import Updater, MessageHandler, CommandHandler, Filters, CallbackContext import config . def on_request(update: Update, context: CallbackContext): message = update.message message.reply_text( ‘Echo: ‘ + message.text ) def main(): updater = Updater( config.TOKEN, use_context=True ) dp = updater.dispatcher dp.add_handler(CommandHandler(‘start’, on_start)) dp.add_handler(MessageHandler(Filters.text, on_request)) updater.start_polling() updater.idle() if __name__ == ‘__main__’: main()
Отслеживать
задан 2 авг 2020 в 11:39
76.6k 6 6 золотых знаков 53 53 серебряных знака 120 120 бронзовых знаков
1 ответ 1
Сортировка: Сброс на вариант по умолчанию
- Создать ReplyKeyboardMarkup добавив кнопки с специальными атрибутами:
- request_location=True и request_contact=True
- Filters.contact и Filters.location
- update.message.contact и update.message.location
Тогда, при клике на одну из кнопок, клиент запросит разрешение на отправку и бот получит данные.
# pip install python-telegram-bot from telegram import Update, ReplyKeyboardMarkup, KeyboardButton from telegram.ext import Updater, MessageHandler, CommandHandler, Filters, CallbackContext import config contact_keyboard = KeyboardButton(‘Send contact’, request_contact=True) location_keyboard = KeyboardButton(‘Send location’, request_location=True) custom_keyboard = [[contact_keyboard, location_keyboard]] REPLY_KEYBOARD_MARKUP = ReplyKeyboardMarkup(custom_keyboard) . def on_request(update: Update, context: CallbackContext): message = update.message message.reply_text( ‘Echo: ‘ + message.text, reply_markup=REPLY_KEYBOARD_MARKUP ) def on_contact_or_location(update: Update, context: CallbackContext): message = update.message text = » if message.contact: text += str(message.contact) if message.location: text += str(message.location) message.reply_text( text, reply_markup=REPLY_KEYBOARD_MARKUP ) def main(): updater = Updater( config.TOKEN, use_context=True ) dp = updater.dispatcher dp.add_handler(CommandHandler(‘start’, on_start)) dp.add_handler(MessageHandler(Filters.text, on_request)) dp.add_handler(MessageHandler(Filters.contact | Filters.location, on_contact_or_location)) updater.start_polling() updater.idle() if __name__ == ‘__main__’: main()
Источник: ru.stackoverflow.com
Геобот.рф
Новый бот, который определяет местоположение по номеру телефона, так указано в описании функций TG_geobot. Чтобы воспользоваться сервисом, нужно зайти на сайт, где вас перекинет в телеграмм геобот.рф.
После перехода в геобот. рф вам необходимо нажать на пункт: «Ввести номер», появится поле, где его необходимо указать в формате +7, после этого, должны появиться данные о местонахождении.
Сейчас я начал тестировать геобот рф, но пока что ничего не могу сказать о его работе, так как при вводе своего номера, он не находит мое местоположение. Может быть это связано с перегрузкой. Чуть позже напишу о нем отзыв, вы так же можете написать свой опыт использования данного бота в коментах.
А вообще, отследить геолокацию по номеру телефона, можно только с согласия абонента той, или иной сотовой компании. Такие функции предоставляют практически все операторы. Поэтому, как разработчикам гео бот рф удалось это реализовать, лично мне не понятно. В принципе не удивительно, если он всё же работает, в последнее время в Telegram появляется очень много различных ботов, которые действительно выполняют заявленые функции.
Источник: xsmix.com
Гео-паттерны в чатботах
Сама по себе геолокация не учитывает контекст места, его обстановку и не подстраивается под него. А вот геолокационный чатбот в Telegram и Facebook может. Боты с геолокацией позволяют пользователю не только искать себя в пространстве, но и помогают это пространство изучать и взаимодействовать с ним.
UX-кейсы геолокационных чатботов
Все фичи геолокационных ботов можно использовать по отдельности, комбинировать или собирать все в одном боте. 1. Боты присылают информацию в соответствии с местоположением Благодаря геолокации бот понимает, где находится человек, и может выдать данные, ассоциированные с этой точкой — будь то описание POI или любые другие мета-данные.
Такая информация запомнится лучше, потому что она наглядная, она через опыт человека. Он пройдет 300 шагов влево, посмотрит на брусчатку и запомнит, что где-то здесь раньше заканчивалась площадь. Он отложит эти знания надолго, потому что как-будто сам до них дошел. 2.
Бот распознает изображения и соединяет их с геолокацией Бот понимает, что человек присылает изображения из конкретного места. Для этого он устанавливает геолокацию человека и распознает присланное изображение, в том числе с помощью нейронных сетей. Например, таких как Google Cloud Vision API или Microsoft Computer Vision API.
Далее чатбот может дать информацию об увиденном, подтвердить, что человек нашел то, что искал, или засчитать выполнение задания. 3. Боты замеряют время и расстояние Геолокация из двух разных точек позволит боту замерить расстояние и время, которое человек потратил на путь.
Бот сопоставляет присланные координаты и высчитывает нужные мета-данные.Как использовать гео-паттерны в чатботах
Экскурсионный бот Бот реагирует на геолокацию пользователя, присылает соответствующую информацию о месте и говорит куда пойти дальше. Бот может отдавать любые данные: фото, видео, короткие аудиофайлы. Такие экскурсии удобнее, чем обычные. Не надо искать гида или ждать группу.
Боты доступны любому человеку в любое время и для этого не нужно быть участником экскурсионного тура. Игровой бот Используя бота, можно построить маршрут, дать человеку различные задания и определить время на их выполнение. Такая механика напоминает популярные квеструмы, но только в масштабе города.
Игровые боты требуют детальной проработки, поскольку пространство города — это масса нюансов, которые нужно учесть. Дорожное движение, удобство перемещения, иногда погоду. А еще можно наградить пользователя. Например, в конце игры привести в кафе, где усталым игрокам предоставляется скидка. Событийный бот Геолокационного бота можно использовать как навигатор.
Например, в рамках городского фестиваля или Чемпионата Мира по футболу в 2018 году. Человек подходит к месту, чекинится и бот ему говорит, что здесь делать и как: изучить экспозицию, попробовать вкусные пирожные или сыграть в FIFA на приставке в кафе.
Примеры ботов
«Самара Альфреда Фон Вакано» telegram.me/vacano_bot В BotLab мы разработали бота, который соединяет в себе и экскурсию по городу и квест. Это бот для Жигулевского пивоваренного завода с квест-экскурсией по историческим местам Самары. Прогулка с таким ботом — это полноценная интерактивная экскурсия. Поэтому квест-бот сделали платным.
Особенность бота-экскурсовода в том, что он может провести экскурсию в любое время. Пользователь для начала должен оплатить её со счета мобильного телефона, а затем следовать указаниям. Бот будет давать задания, проверять ответы и направлять в следующие точки маршрута. Все это сопровождается интересные фактами о старой Самаре и Жигулевском пивзаводе.
«Яндекс Карты» telegram.me/yandexmapsbot Простой пример навигационного бота. Он показывает дорожную ситуацию вокруг пользователя — пробки, топонимы и названия организаций. В боте можно записать адрес своего дома, работы и любого другого места и искать удобное время, когда без пробок можно перемещаться между ними. Банки Также, у некоторых банков есть Telegram-боты, который по геолокации показывают местоположение ближайших банкоматов и отделений. Сбербанк — telegram.me/sberbankbot Альфа Банк — telegram.me/alfabankbot Райффазен Банк — telegram.me/raiffeisenbankbot Ботов с геолокацией удобно использовать во всех сервисах, где нужен адрес: такси, доставка еды, вызов мастера на дом и т.д.
Итак
- Боты обучают и рассказывают интересные факты о местоположении человека
- Переносят механику квеста в пространство города и создают ощущение игры
- Измеряют время, расстояние и скорость, чтобы сделать игры интереснее, а повседневные дела удобнее
- Используют данные, ассоциированные с гео-точкой, и рассказывают что там можно делать
- Благодаря привязке к реальности и местоположению, боты создают чувственный пользовательский опыт
Источник: spark.ru