Skip to content

3JloDey/python_hotels_chatbot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

59 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Telegram Hotels Search Bot

Python aiogram

Это телеграмм бот, который позволяет искать отели в разных городах. Бот написан на 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 - Назад к карточке отеля.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages