HotelsReviewBot is a telegram bot that does a hotels search regarding on users request. It has 2 language options,
English and Russian, and 3 search options: low price, high price and best deal. Low price search will return the list of
the cheapest hotels in the indicated city, high price will return the list of the most expensive hotels and the best
deal returns the hotels that meet the price range requirements set by the user and at the same time are the closest to
the city center. History option will return your last search inquiries limited by 5.
The only way to activate the bot is the /start command. Otherwise, it will not react on any commands. After the bot is activated it will ask the user to pick the language of communication. It is suggested to pick the options provided by bot by clicking on the inline keyboard, but if wanted, the commands can be inputted. After the language is decided the bot will ask to pick the search option, /low price, /high price, /best deal, to check the search history with /history command or to end the request with the /done option.
Low price - searches the cheapest hotels options. High price - searches the most expensive hotels. Further logic for both options is the same. Next step, the bot asks the user to put in the city for the search. After that the bot asks to pick the max result of the searches to be displayed, 5, 10 or 15.
Best deal - returns the hotels that meet the price range requirements set by the user and at the same time are the closest to the city center. The logic is similar to the low price and high price, only that it is additionally asking to provide the prices range and the max distance from the center for the hotel location.
Note, the city can be inputted in either Russian or English despite the language picked for the bot communication.
After the search is complete, the bot will send message to user the user with the options for the new search.
Done command deactivates the bot. If such command, next the bot has to be activated again with the /start command.
Bot is written on Python. The bot is implemented with pyTelegramBotApi library and the searches are done through https://rapidapi.com/. Postgresql is used as the db to store the search inquiries history. Bot can be simultaneously active for multiple users (chats).