Чат-бот — Космонавт
Last updated
Last updated
В этом кейсе я расскажу, как расширяется функционал чат-бота при использовании сторонних интеграций.
Я давно увлекаюсь космосом и когда пришла идея сделать чат бота с помощью инструментов NASA, за что отдельный респект им, долго не раздумывая приступил к реализации.
Изучив документацию выделил следующие функции:
Фото дня на сайте NASA
Погода на Марсе
Фото с Марса
Новости телескопа Hubble
Видео от команды телескопа 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). Что бы не листать поочерёдно все листы, добавлена функция ввода номера листа.
Проверка ввода данных пользователем
В этом боте также реализован тематический механизм защиты от не правильного ввода данных пользователем, всякий раз как человек вводит не корректные значения, прилетает марсианин и начинает по-разному ругаться! Проверьте, но часто не злите марсиан!
В итоге получился интерактивный бот, с помощью которого исследуешь Марс, космос, ищешь статьи, смотришь видео. В нём можно очень долго копаться и находить для себя что то новое. Можете самостоятельно проверить, только осторожно, зависните в нём надолго! Элементы этого бота можно использовать в играх, например от погоды на Марсе будет зависеть количество очков, получаемых/потраченных игроком.
Заключение
С помощью таких интеграций можно подключать оплаты, проверять на правильность ввода данные, стандартизировать адреса для доставки, определять локацию по номеру телефона, узнавать погоду, переводить с любого языка, отправлять смс, находить информацию о компаниях, склонять слова, даже торговать на бирже и многое другое. Какие то сервисы платные, какие то бесплатные. В любом случае можно подобрать решения для любого бота.
Автор кейса: Михаил Евграфов