Telegram-бот для анализа сайта Hotels.com и поиска подходящих пользователю отелей
Телеграм-бот разработан на языке программирования Python. Интерфейс бота полностью на русском языке
- Клонировать репозиторий в выбранную папку.
- Установить необходимые библиотеки:
pip install -r requirements.txt
- Создать telegram-бота с помощью BotFather и получить токен.
- Получить ключ от rapidapi:
- Зарегистрироваться на сайте rapidapi.com
- Перейти в API Marketplace → категория Travel → Hotels (либо просто перейти по прямой ссылке на документацию Hotels API Documentation)
- Нажать кнопку Subscribe to Test
- Выбрать бесплатный пакет (Basic)
- Копировать значение "X-RapidAPI-Key".
- Задать значение в файле-шаблоне .env.template: -BOT_TOKEN = токен бота, полученный от BotFather. -RAPID_API_KEY = значение "X-RapidAPI-Key" из прошлого пункта.
- Запустить бота, запустив файл
main.py
.
Окно Telegram-бота, при запущенном Python-скрипте воспринимает следующие команды:
- /lowprice — вывод самых дешёвых отелей в городе,
- /highprice — вывод самых дорогих отелей в городе,
- /bestdeal — вывод отелей, наиболее подходящих по цене и расположению от центра.
- /history — вывод истории поиска отелей,
- /help — помощь по командам бота.
После ввода команды у пользователя запрашивается:
- Город, где будет проводиться поиск.
- Количество отелей, которые необходимо вывести в результате.
- Необходимость загрузки и вывода фотографий для каждого отеля: a. При положительном ответе пользователь также вводит количество необходимых фотографий.
После ввода команды у пользователя запрашивается:
- Город, где будет проводиться поиск.
- Количество отелей, которые необходимо вывести в результате.
- Необходимость загрузки и вывода фотографий для каждого отеля: a. При положительном ответе пользователь также вводит количество необходимых фотографий.
После ввода команды у пользователя запрашивается:
- Город, где будет проводиться поиск.
- Диапазон цен в рублях.
- Диапазон расстояния в метрах, на котором находится отель от центра.
- Количество отелей, которые необходимо вывести в результате.
- Необходимость загрузки и вывода фотографий для каждого отеля: a. При положительном ответе пользователь также вводит количество необходимых фотографий.
После ввода команды пользователю выводится история поиска отелей по последним трём запросам. Сама история содержит:
- Команду, которую вводил пользователь.
- Дату и время ввода команды.
- После выбора варианта, выдаются отели, которые были найдены.
Все запросы и их результат сохраняются в базе данных только если запрос прошел без ошибок.