Проверка погоды реализована отдельной веткой сценария.
В боте предусмотрено 2 варианта развития сценария прогноза погоды: когда название страны, города и дата поездки уже известны и когда их еще предстоит узнать у пользователя.
1. Прогноз погоды для нового пользователя.
На первом шаге бот перейдет к выяснению интересующей страны. Если пользователь определился со страной, бот перейдет к выяснению погоды по названию города.
Если пользователь знает только страну - реализована функция выяснения средней температуры по стране.
В случае отказа назвать город, пользователь переходит в начало первого шага и действие повторяется.
На втором шаге бот уточняет дату, на которую необходим прогноз погоды.
Следующими шагами 3 и 4 бот приступает к запросу погоды. Реализованы две возможности:
Прогноз погоды на ближайшую дату.
Прогноз погоды запрашивается через API погодного сервиса weatherbit.ioна ближайшие 16 дней. Запрос выдает следующие параметры:
Исторический прогноз погоды на любую дату в прошедшем году позволяет узнать погоду из архивных данных. Эта функция предусмотрена, если человек по случайности, например, ввел дату из прошлого времени.
Для запроса погоды из архивных данных используется отдельная опция сервиса.
Пятым шагомбот анализирует полученные данные о погоде и спрашивает подтверждение у пользователя - поедет ли он в страну с таким жарким, холодным или умеренным климатом.
Предусмотрено несколько вариантов путей пользователя в пятом шаге:
отправка заявки в запрошенную страну [tripМесто],
отправка заявки в запрошенный город [СессияМесто],
узнать информацию о другой стране или городе [Место].
или переход в шестой заключительный шаг - прогноз погоды в другом месте.
2. Прогноз погоды для пользователя, повторно общающегося с ботом.
В боте предусмотрена обработка запросов пользователя, повторно общающегося с ботом. Такой пользователь проходит проверку по порядку: страна - город - дата , если какие-то данные отсутствуют, бот уточняет недостающую информацию. Если все хорошо - пользователю приходит прогноз погоды.
Для создания возможности прогноза погоды были использованы сервисы и библиотеки, описанные в файле requirements.sc
Want to print your doc? This is not the way.
Try clicking the ⋯ next to your doc name or using a keyboard shortcut (