Skip to content

MyNameIsMaxwell/Hotels.tg-bot

Repository files navigation

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.

Описание внешнего вида и UI:

Окно Telegram-бота, при запущенном Python-скрипте воспринимает следующие команды:

  • /lowprice — вывод самых дешёвых отелей в городе,
  • /highprice — вывод самых дорогих отелей в городе,
  • /bestdeal — вывод отелей, наиболее подходящих по цене и расположению от центра.
  • /history — вывод истории поиска отелей,
  • /help — помощь по командам бота.

Описание работы команд:

Команда /lowprice

После ввода команды у пользователя запрашивается:

  1. Город, где будет проводиться поиск.
  2. Количество отелей, которые необходимо вывести в результате.
  3. Необходимость загрузки и вывода фотографий для каждого отеля: a. При положительном ответе пользователь также вводит количество необходимых фотографий.

Команда /highprice

После ввода команды у пользователя запрашивается:

  1. Город, где будет проводиться поиск.
  2. Количество отелей, которые необходимо вывести в результате.
  3. Необходимость загрузки и вывода фотографий для каждого отеля: a. При положительном ответе пользователь также вводит количество необходимых фотографий.

Команда /bestdeal

После ввода команды у пользователя запрашивается:

  1. Город, где будет проводиться поиск.
  2. Диапазон цен в рублях.
  3. Диапазон расстояния в метрах, на котором находится отель от центра.
  4. Количество отелей, которые необходимо вывести в результате.
  5. Необходимость загрузки и вывода фотографий для каждого отеля: a. При положительном ответе пользователь также вводит количество необходимых фотографий.

Команда /history

После ввода команды пользователю выводится история поиска отелей по последним трём запросам. Сама история содержит:

  1. Команду, которую вводил пользователь.
  2. Дату и время ввода команды.
  3. После выбора варианта, выдаются отели, которые были найдены.

Все запросы и их результат сохраняются в базе данных только если запрос прошел без ошибок.

About

Something like booking, but only for watch.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages