Чат-бот — Космонавт

Марс, фото марсохода Curiosity из коллекции NASA.gov

В этом кейсе я расскажу, как расширяется функционал чат-бота при использовании сторонних интеграций.

Я давно увлекаюсь космосом и когда пришла идея сделать чат бота с помощью инструментов NASA, за что отдельный респект им, долго не раздумывая приступил к реализации.

Изучив документацию выделил следующие функции:

  1. Фото дня на сайте NASA

  2. Погода на Марсе

  3. Фото с Марса

  4. Новости телескопа Hubble

  5. Видео от команды телескопа Hubble

Все эти функции реализуются с помощью API NASA, чат бот посылает запрос серверу NASA, и в ответ бот получает большой массив данных.

Фото дня

Каждый день на сайте NASA публикуется фото и статья дня, начиная с 16 июня 1995 это более 9000 фото со статьями, только тут возможно залипнуть на пару недель, изучая заметки. В боте эта функция простая, бот получает от сервера ответ с фото и текстом. Так же возможно вводить дату и фото этого дня будет отправлена пользователю.

А вы знаете, сколько градусов на Марсе? и какой силы ветер дует? Занимательная функция мониторинга погоды на Марсе. Бот показывает погоду за 2 последних дня, при желании возможно увеличить до 6 последних дней и вести статистику.

Фото с Марса

Одна из моих любимых функций - проехать за рулём одного из трёх марсоходов — Curiosity, Oppotunity и Spirit. Если последние 2 уже закончили свои миссии и стоят где-то на Марсе застывшие навечно, то первый, это ещё действующий ровер, и фото от него обновляются ежедневно. Каждый желающий может почувствовать себя исследователем Марса и найти в снимках что-то интересное. Признаюсь честно, разрабатывая зависал на часок — другой, изучая фото…

У NASA огромное количество фото, только у одного марсохода Oppotunity 5111 рабочих дней, в каждом из которых от 5 до 200 фото. Нужно было придумать как можно удобнее всего пользователю выводить эти данные и использовать. Тут на помощь пришла разработка галереи из кейса про тестирование в боте. Пользователь выбирает ровер, рабочий день и листает все фото по порядку. Как только фото заканчиваются, пользователю предлагается выбрать новый рабочий день.

Новости и видео телескопа Hubble

Здесь также большой массив данных от сервера и опять используется галерея, но немного в другом ключе, была задача вывести большой список из 25 пунктов на одной странице, причём таких страниц около 50. Желательно что бы не получился длинный плохо читаемый текст. В итоге бот показывает по 5 заголовков статей или видео на экране, всего 5 экранов. Пользователь листает экраны и как только доходит до 5-ого, бот автоматом выводит заголовки со следующей страницы. Для выбор статьи или видео используются кнопки (цифры в Whatsap). Что бы не листать поочерёдно все листы, добавлена функция ввода номера листа.

Проверка ввода данных пользователем

В этом боте также реализован тематический механизм защиты от не правильного ввода данных пользователем, всякий раз как человек вводит не корректные значения, прилетает марсианин и начинает по-разному ругаться! Проверьте, но часто не злите марсиан!

В итоге получился интерактивный бот, с помощью которого исследуешь Марс, космос, ищешь статьи, смотришь видео. В нём можно очень долго копаться и находить для себя что то новое. Можете самостоятельно проверить, только осторожно, зависните в нём надолго! Элементы этого бота можно использовать в играх, например от погоды на Марсе будет зависеть количество очков, получаемых/потраченных игроком.

Заключение

С помощью таких интеграций можно подключать оплаты, проверять на правильность ввода данные, стандартизировать адреса для доставки, определять локацию по номеру телефона, узнавать погоду, переводить с любого языка, отправлять смс, находить информацию о компаниях, склонять слова, даже торговать на бирже и многое другое. Какие то сервисы платные, какие то бесплатные. В любом случае можно подобрать решения для любого бота.

Автор кейса: https://vk.com/evgrafovmo