Поиск отелей в Telegram
Этот бот позволяет быстро подбирать отели прямо в мессенджере Telegram по различным критериям поиска.
Особенности
Данный бот позволяет:
- подбирать отели по самой низкой или высокой цене;
- подбирать отели по лучшему соотношению цена/расстояние от центра города;
- задавать диапазон цен.
Requirements
- Python 3.7+
- pyTelegramBotAPI – Python Telegram Bot API
- requests - библиотека requests
- peewee - база данных поисковых параметров каждого пользователя
- telebot-calendar - календарь для выбора checkin-checkout
- python-telegram-bot-pagination - для показа истории отелей
- geopy - для определения расстояния отеля до центра города
- validator-collection - для определения валидности ссылок фотографий
- python-dotenv - для безопасности учетных данных Вы можете установить все зависимости, выполнив следующую команду:
pip install -r requirements.txt
Логирование
В скрипте этого бота используется модуль loguru для логирования.
Команды бота
/start
- запуск бота, выполняется автоматически при подключении к боту./help
- список команд и их описание./reset
- для рестарта./lowprice
- узнать топ самых дешёвых отелей в городе./highprice
- узнать топ самых дорогих отелей в городе./bestdeal
- узнать топ отелей, наиболее подходящих по цене и расположению от центра./history
- узнать историю поиска отелей.
Как работать с ботом
В файле .env.template вписать BOT_TOKEN = "Ваш токен для бота, полученный от @BotFather"
и RAPID_API_KEY = "Ваш ключ полученный от API по адресу rapidapi.com/apidojo/api/hotels4/"
После переименовать файл в .env Для запуска бота выполнить в терминале команду python3 main.py
Список всех команд, поддерживаемых ботом, можно посмотреть по команде /help
Вывод результата
Введите название населенного пункта. Бот выполнит запрос к hotels api выведет список отелей с указанием названия, класса, цены, адреса и расстояния от центра. Пример результата:
Если бот не найдет ни одну локацию, то уведомляет, что ничего не найдено и предложит повторить.