Telegram bot for automatic tour publication from tables and parsing
Developed a fully functional Telegram bot for the tourism business that automates the publication of tours without manual work from the manager + hosting on VPS.
The bot tracks Google Sheets in real-time, processes new entries with the status AWAIT, parses hotel data from Booking, and sends ready posts to the user in Telegram.
Main functionality:
- automatic reading of Google Sheets via Service Account
- tracking new rows and statuses without duplicates
- parsing Booking (hotel search, photos, description) via Selenium
- correct error handling (if there are no photos or descriptions - the post is still sent)
- sending messages in Telegram with photos + text
- automatic status change in the table after sending
- detailed logging for server launch
- running on VPS
Technologies:
- Python
- Selenium (headless Chrome)
- Google Sheets API
- Telegram Bot API
- asyncio
- BeautifulSoup
- Deployment on VPS (Hetzner, systemd)
Result:
- fully automated process of publishing tours
- the manager only needs to add a row in Google Sheets
- the bot finds the hotel, creates the post, and sends it
- stable operation 24/7 on the server without human involvement
The bot tracks Google Sheets in real-time, processes new entries with the status AWAIT, parses hotel data from Booking, and sends ready posts to the user in Telegram.
Main functionality:
- automatic reading of Google Sheets via Service Account
- tracking new rows and statuses without duplicates
- parsing Booking (hotel search, photos, description) via Selenium
- correct error handling (if there are no photos or descriptions - the post is still sent)
- sending messages in Telegram with photos + text
- automatic status change in the table after sending
- detailed logging for server launch
- running on VPS
Technologies:
- Python
- Selenium (headless Chrome)
- Google Sheets API
- Telegram Bot API
- asyncio
- BeautifulSoup
- Deployment on VPS (Hetzner, systemd)
Result:
- fully automated process of publishing tours
- the manager only needs to add a row in Google Sheets
- the bot finds the hotel, creates the post, and sends it
- stable operation 24/7 on the server without human involvement