Бот, который каждый день проверяет цены и пишет только о выгодном
Не подписка на «горящие туры», а свои правила: бот знает обычную цену по каждому направлению и присылает билет, только когда он заметно дешевле.

Задача
Когда семья живёт в разных странах, чтобы встретиться, нужно поймать два хороших билета из двух разных городов в одно место и в одни даты. Сидеть каждый день на агрегаторах невозможно, а рассылки про «скидки» присылают всё подряд.
Нужен был бот, который сам знает, какая цена здесь нормальная, и тревожит только тогда, когда она правда упала.
Что внутри
- Выгодность по своей истории. Бот каждый день записывает минимальные цены и сравнивает новую с обычной за 90 дней. «Скидка» продавца ему не важна.
- Сторожа на маршрут. Маршрут и окно дат задаются один раз, найденный билет приходит в личку с кнопкой.
- Поездка вдвоём из разных городов. Два билета в одно место на одни даты — одним сообщением и с общей суммой.
- Связки через пересадку. Два отдельных билета через хаб публикуются, только если они дешевле прямого хотя бы на 20%, и всегда с предупреждением про багаж и транзит.
- Ежедневные сводки. По каждому направлению: цена туда-обратно и в одну сторону. Сезонные сводки выключаются сами, когда сезон прошёл.



Как сделано
Цены приходят из открытых данных Aviasales, их бот собирает и хранит сам. Поиск идёт ещё и под рынок другой страны: некоторые рейсы из Азии там стоят дешевле, и бот об этом пишет прямо в сообщении.
Находки публикуются в закрытую группу с ветками по направлениям, писать туда может только бот. Работает на сервере по расписанию, с ежедневными резервными копиями и сторожем. На скриншотах — тексты бота, цены выдуманы.