В современном мире, большая часть общения людей происходит в социальных сетях и службах обмена сообщениями. Использование привычных человеку способов получения информации, позволяет найти новые возможности в части установления контактов с потреблителями и новых источников получения заказов.
Представляем вашему вниманию телеграм-бот, разработанный для предоставления всем пользователям службы Telegram возможности подобрать варианты размещения для предполагаемой туристической или деловой поездки в выбранный город в выбранный даты с помощью вашего сервиса.
Для корректной работы бота необходимо произвести следующие действия:
- Установить на ПК Python.
- Создать бота на платформе Telegram
- Оформить подписку на API для получения информации об отелях
- Установить исполняемую часть бота
- Произвести первичную настройку порграммы и запустить ее
Telegram-бот работает в среде языка Python версии 3.8 и выше. Перед началом работы необходимо скачать последную версию Python c официального сайта. Необходимо выбрать версию, подходящую под операционную систему вашего компьютера.
После скачивания производится установка дистрибутива стандартными средствами ОС.
При установке Python на ОС Windows в мастере установки не зубудьте активировать переключатель Add Python to PATH.
Для создания бота в Telegram нужно написаить сообщение пользователю @BotFather. Вы можете ввести команду /start, чтобы посмотреть список всех команд, доступных для управления ботом.
Для создания нового бота нужно набрать команду /newbot. При создании бота вам будет предложено ввести имя бота, под которым он будет отображаться в списке пользователей, а также username, имя под которым бот можно будет найти, если перед ним поставить знак @.
После успешного завершения создания бота, вы получите сообщение, в котором будут отображены быстрая ссылка для получения доступа к каналу общения с ботом, а также токен, который используется для программирования и управления ботом.
Важно. Рекомендую сохранить сообщение с этой информацией о вашем боте в безопасном месте и удалить его в Telegram.
Мы рекомендуем воспользоваться сервисом RapidAPI Hub. Вам нужно зарегистрироваться на сайте, и оформить подписку на использование Hotels API, которые содержат информацию об отелях.
Существует множество различных форматов подписки на данный сервис, начиная от бесплатной подписки с жестким лимитом в 500 запросов в месяц и заканчивая безлимитным тарифом, который стоит 300 долларов в месяц. Более подробно ознакомиться с тарифными планами.
После оформления подписки перейдите в пункт меню My Apps, расположенный в верхнем правом углу экрана, вы перейдете в панель разработчика. Здесь в левой боковой панели, под заголовком My Apps будет отображена одна запись вида: defaulf-application_111121. Раскройте эту запись и выберите пункт меню Security.
На этой вкладке будут перечислены все ключи, для приложений, которые вы можете использовать для работы с данными API. По умолчанию все коды скрыты маской, для просмотра реального значения ключа, необходимо нажать на иконку зачеркнутого глаза в поле рядом с выбранным Application Key.
В нашем случае установка бота довольна проста. Нужно создать в любом месте на жестком диске папку с названием, например, TravelBot и скопировать в нее содержимое, предоставленной вам папки с исходным кодом, или архива.
Также необходимо произвести установку виртуального окружения python в соответствии с рекомендациями доступными для вашей операционной системы. Активируйте виртуальное окружение с помощью способа актуального для вашей ОС и запустите команду:
pip install -r requirements.txt
Данная команда произведет установку всех необходимых для работы приложения внешних библиотек.
В папке вы можете найти файл .env, в котором хранятся авторизационные данные для Telegram и Rapid API. Откройте этот файл с помощью любого текстового редактора и внесите в него следующие изменения:
- Для параметра bot_uid в качестве значения вставьте токен вашего Telegram бота, о котором мы говорили в рамках п.2 настоящего руководства.
- Для парметра key в качестве значения вставьте значения Application Key с сайта Rapid API.
Сохраните файл. Приложение готово к запуску.
Перейдите в режим командной строки. Активируйте виртуальное окружение с помощью команды актуальной для вашей ОС и введите команду:
python main.py
Поздравляем вы запустили программу.
Для остановки программы в активном окне режима командной строки нужно нажать сочетание клавищ Ctrl + C. Затем введите команду:
deactivate
Вся работа с программой осуществляется непосредственно из платформы Telegarm. Вы можете получить доступ к боту введя в строке поиска его имя. Пройдя по ссылке вида https://t.me/bot, где bot - username вашего бота. Для начала работы бота необходимо ввести команду /start.
Для работы с ботом предусмотрены следующие команды:
/help - отображает список доступных команд
/lowprice - самые дешевые отели города
/highprice - самые дорогие отели города
/bestdeal - перечень отелей оптимальных по соотношению цены и расстояния до центра
/history - История поиска отелей, конкретным пользователем
Первым делом пользователь должен ввести параметры предполагаемой поездки:
- Вводим одну из трех команд: /lowprice, /highprice или /bestdeal для выбора желаемой категории поиска отеля
- Вводим город, в который планируем поехать. Бот автоматически проверяет наличие такого города в базе и, если введенный город не находится, то выдает соотвтетствующее уведомление пользователю. Перейти на следующий шаг поиска отеля будет невозможно, пока не будут введено корректное название города.
- Вводим предполагаемую дату поездки. Можно ввести дату только из будущего периода. Бот автоматически проверяет тип введенных данных и корректность даты и не даст перейти на следующий шаг, пока не будут введены корректные данные.
- Вводим количество ночей, которое пользователь планирует провести в поездке. Для корректной работы мастера необходимо ввести целое положительное число. Бот автоматически проверяет корректность вводимых данных и не позволит перейти к следующему шагу, до тех пор пока не будут введены корректные данные.
- Вводим предполагаемое количество гостей, которым будет необходимо размещение. Для корректной работы мастера необходимо ввести целое положительное число. Бот автоматически проверяет корректность вводимых данных и не позволит перейти к следующему шагу, до тех пор пока не будут введены корректные данные.
- Вводим количество отелей, коорые необходимо отобразить в поиске. Для корректной работы мастера необходимо ввести целое положительное число. Бот автоматически проверяет корректность вводимых данных и не позволит перейти к следующему шагу, до тех пор пока не будут введены корректные данные. Для данного пункта установлен лимит в 10 отелей. То есть пользователь может произвести поиск не более 10 отелей в интересующем его городе.
- Для удобства пользователей реализован механизм отображения фотографий по найденным отелям, но пользователю предоставлена возможность выбора - отображать фотографии отеля или нет.
- Вводим количество загружаемых фотографий отеля. Для корректной работы мастера необходимо ввести целое положительное число. Бот автоматически проверяет корректность вводимых данных и не позволит перейти к следующему шагу, до тех пор пока не будут введены корректные данные. Для данного пункта установлен лимит в 5 отображаемых фотографий на отель.
После завершения определения параметров поездки, бот производит поиск отелей и выводит информацию о найденных отелях непосредственно в чат пользователю. По каждому отелю отображается следующая информация:
- Название отеля
- Адрес отеля
- Расстояние до центра города в км
- Цена номера за ночь в рублях
- Фотографии отеля, если пользователь задал эту возможность в параметрах поиска.
Для просмотра истории поиска, пользователь должен ввести команду /help.
Если пользователь еще не производил поиск отелей, он получит соответствующий ответ от бота.
При наличии ранее произведенных поисков пользователю будет отображена история его поисков за последний день.