Задача: создать Telegram-бота, который поможет пользователям находить туры по заданным параметрам и бронировать их, а владельцу бота — получать партнёрскую комиссию с каждой продажи.
Рынок туристических Telegram-ботов на старте проекта был представлен простыми «меню с кнопками», которые не интегрированы с туроператорами и не показывают реальные цены. Нужно было сделать бота, который реально ищет туры через API и выдаёт актуальные предложения.
Я разработал Telegram-бота HotTours Finder со следующим функционалом:
1. Пошаговый опрос клиента: выбор направления (7 стран), города вылета (Москва или Санкт-Петербург), бюджета, дат поездки, количества ночей.
2. Интеграция с API туроператоров (Travelpayouts, Tourvisor): бот отправляет запрос с параметрами клиента и получает реальные предложения с ценами.
3. Резервный механизм (fallback): если API недоступен, бот формирует партнёрскую ссылку на Travelata с сохранением всех параметров поиска.
4. Сохранение заявок в Google Таблицы: все запросы клиентов фиксируются с датой, направлением, бюджетом и статусом поиска.
5. Автопостинг в Telegram-канал: бот автоматически публикует лучшее предложение недели каждый четверг в 10:00 по Москве.
6. Служебные команды для администратора: /testapi для проверки связи с API, /myip для получения IP сервера.
Стек: Python, Aiogram, Requests, Google Sheets API, Flask (для health-check). Бот размещён на облачном сервере Render, работает 24/7 с UptimeRobot для предотвращения «засыпания».
Бот полностью автоматизирует поиск туров: от сбора параметров до выдачи результата с кнопкой «Забронировать».
Конкретные результаты:
- Клиент проходит весь сценарий за 1-2 минуты и получает готовую подборку туров.
- Интеграция с API туроператоров позволяет показывать реальные цены (после получения доступа).
- Даже при недоступности API бот не падает, а формирует корректную партнёрскую ссылку.
- Все заявки сохраняются в Google Таблице для аналитики.
- Автопостинг в канал работает без участия человека.
Протестировать бота можно в Telegram: @HotTours_Five_Bot