Задача. Команда гидов продаёт экскурсии на агрегаторе Tripster. Экскурсию можно поставить «на продвижение», в начало выдачи, но таких мест в городе мало, а в Петербурге они разбираются за минуты. Места освобождаются несколько раз в день, и поймать момент вручную стало почти невозможно. Нужен был бот, который сам следит за свободными местами и ставит нужную экскурсию на продвижение.
Что сделал:
- Бот работает в личном кабинете команды и проверяет места каждые 10 секунд, круглосуточно.
- Когда место освобождается, бот идёт по очереди экскурсий сверху вниз и ставит первую доступную, которая ещё не на продвижении. Недоступные пропускает.
- Очередь ведётся в Telegram: добавить, удалить, поменять приоритет. Команды /list, /status, /pause и /resume.
- Бот отслеживает персональные предложения площадки и принимает их.
- О каждом подключении, а также об открытии и закрытии мест бот сразу пишет в Telegram.
- Снимать экскурсии с продвижения бот намеренно не умеет: это защита от ошибок.
Стек: Python, Telegram Bot API.
Результат. За первую неделю бот подключил 7 экскурсий, две из них в одно окно с разницей в 18 секунд. Вся очередь выполнена, на продвижении 10 экскурсий команды. Бот работает сам, люди только пополняют очередь.
Отзыв заказчицы: «Бота сделал, все работает. В процессе работы оказалось, что задача сложнее, чем я ожидала, но Артур справился прекрасно».