Задача
Требуется разработать функционального Telegram-бота на языке Python. Основная функция бота - предоставление пользователям актуального расписания электричек. Данные загружаются в реальном времени через официальное программное АПИ Яндекса (ключ доступа предоставлен заказчиком).
Функциональные требования
- Обработка запросов пользователя (ввод станции отправления и прибытия).
- Запрос к стороннему АПИ и парсинг JSON/XML ответа.
- Вывод пользователю отформатированного расписания (время, маршрут, статус рейса).
- Реализовать защиту от частых запросов (anti-flood механизм).
Технические требования
- Написание бота на чистом Python (библиотеки: pyTelegramBotAPI / aiogram, requests).
- Надёжное развёртывание на хостинге (VPS, Heroku, Railway или аналог). Режим работы - 24/7 (проверка при помощи Uptime мониторинга или Webhook).
- Secret ключи должны храниться в файле переменных окружения (не в коде).
- Приём в работу фото или голосовых сообщений не требуется - только текстовая команда.
Этапы разработки
- Создание минимального каркаса бота (команда /start, приветствие).
- Подключение модуля работы с АПИ Яндекса, тестирование запросов на выдуманных данных.
- Реализация интерфейса беседы (ждём город/станцию) и красивого вывода результатов.
- Отлов возможных ошибок (нет соединения, не найден рейс, некорректный ввод) подсказки.
- Настройка вебхука или длинного поллинга (это зависит от хостинга).
- Финальное тестирование, релиз на сервере.
Дополнительные пожелания
Бот должен выглядеть эстетично - использовать HTML-разметку жирный или моноширинный шрифт при выводе. Логирование ошибок для поиска проблем после запуска обязателен.