Это телеграмм бот, который позволяет искать отели в разных городах. Бот написан на aiogram с использованием aiogram-dialog, PostgreSQL, SQLAlchemy, Redis, HTTPX.
- Поиск отелей в различных городах и странах, за исключением России.
- Выбор предположительной даты заезда/выезда.
- Фильтрация отелей по трем категориям:
- по увеличению стоимости проживания (без учета скидки)
- по уменьшению стоимости проживания (без учета скидки)
- лучшие по соотношению цена/рейтинг/геопозиция
- Получение подробной информации об отеле (адресс, рейтинг, описание и др.)
- Рассчитывание стоимости проживания относительно выбранных дат.
- Получения геолокации с построением маршрута.
- Добавление выбранного отеля в избранное.
- Динамическая загрузка всех фотографий по выбранному отелю.
Название | Версия |
---|---|
aiogram | 3.0.0b7 |
aiogram-dialog | 2.0.0b18 |
redis | 4.5.5 |
httpx | 0.24.1 |
orjson | 3.9.1 |
betterlogging | 0.2.1 |
environs | 9.5.0 |
SQLAlchemy | 2.0.16 |
asyncpg | 0.27.0 |
jmespath | 1.0.1 |
-
Склонируйте репозиторий на свой локальный компьютер.
git clone https://github.com/3JloDey/python_hotels_chatbot.git
-
Установите зависимости используя команду.
pip install -r requirements.txt
-
Переименуйте файл
.env_template
в.env
и заполните его по шаблону внутри. -
Запустите файл
main.py
.
Для начала работы с ботом необходимо ввести команду /start
.
После ввода команды бот запрашивает город.
После уточнения местоположения бот просит указать даты заезда и выезда.
После выбора даты появляется "Главное меню".
Главное меню бота. Здесь доступны следующие функци:
- Low Price - Поиск дешёвых отелей.
- High Price - Поиск дорогих отелей.
- Best Deal - Поиск лучших отелей.
- Favorites - Показать избранные отели.
- Settings - Меню настройки, где можно изменить город и даты.
- Re-enter data - Вернуться в начало поиска, сбросив запрос и начав заново.
При выборе категории отелей, появляется "Карточка отеля", в которой отображается вся необходимая информация.
Карточка отеля:
- Prev / Next - Кнопки переключения отелей.
- Like - Добавить в избранное.
- Search Photos - Открыть меню загрузки фотографий.
- Send geolocation - Прислать геолокацию отеля.
- Back to main menu - Вернуться в главное меню.
При просмотре фотографий отеля поменяется меню со следующим функционалом:
- Prev / Next - Кнопки переключения фотографий.
- Кнопка "счетчик" фотографий, которая находится между Prev и Next кнопками.
- Back - Назад к карточке отеля.