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

![Марс, фото марсохода Curiosity из коллекции NASA.gov](https://sun6-14.userapi.com/ezKxAOD8SDdrmZ9PliPoOBlheCFMCXsfviwzDw/p9jEAPpL400.jpg)

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

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

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

1. Фото дня на сайте NASA
2. Погода на Марсе
3. Фото с Марса
4. Новости телескопа Hubble
5. Видео от команды телескопа Hubble

![](https://sun6-16.userapi.com/w1IpCHhq0q4UT9QgGuN_9SIiPFRWhfK69maMYw/KO-7MhekyEA.jpg)

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

**Фото дня**

![](https://sun6-16.userapi.com/fis6gOQzrqraZd9s1CJIA8XY_UGlADynBC4xRQ/OzzwGS2JYyw.jpg)

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

&#x20;

![](https://sun6-14.userapi.com/D2ar9Q7RPoGq73da6Nfs7wVxCF_JNl8iPPtfqA/NvpQIgT69yE.jpg)

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

**Фото с Марса**

![](https://4279258747-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MA-Z2M1_A46lNNOHMtZ%2F-MAVrPpQ4O50UJtg-i6O%2F-MAVvZ0ex1Wg9cihkIds%2FvSccEF168p0.jpg?alt=media\&token=a1948b7f-d97f-44b8-a3af-e4865de57fc4)

![](https://4279258747-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MA-Z2M1_A46lNNOHMtZ%2F-MAVrPpQ4O50UJtg-i6O%2F-MAVvnAReTmva_vEcz-P%2FhNYgYEA-4hM.jpg?alt=media\&token=2c92c7c2-4c7e-4276-a2ee-db6cb44f4478)

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

У NASA огромное количество фото, только у одного марсохода Oppotunity 5111 рабочих дней, в каждом из которых от 5 до 200 фото. Нужно было придумать как можно удобнее всего пользователю выводить эти данные и использовать. Тут на помощь пришла разработка галереи из [кейса про тестирование в боте](https://vk.com/@fabrikachatbot-keis-chat-bot-dlya-testirovaniya-chek-listov-igr-oprosov). Пользователь выбирает ровер, рабочий день и листает все фото по порядку. Как только фото заканчиваются, пользователю предлагается выбрать новый рабочий день.

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

![](https://4279258747-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MA-Z2M1_A46lNNOHMtZ%2F-MAVrPpQ4O50UJtg-i6O%2F-MAVyzALOq-1s4KPE8j8%2F%D0%91%D0%B5%D0%B7%D1%8B%D0%BC%D1%8F%D0%BD%D0%BD%D1%8B%D0%B9.png?alt=media\&token=51006119-a295-4514-8c91-c4da9b3a636b)

Здесь также большой массив данных от сервера и опять используется [галерея](https://vk.com/@fabrikachatbot-keis-chat-bot-dlya-testirovaniya-chek-listov-igr-oprosov), но немного в другом ключе, была задача вывести большой список из 25 пунктов на одной странице, причём таких страниц около 50. Желательно что бы не получился длинный плохо читаемый текст. В итоге бот показывает по 5 заголовков статей или видео на экране, всего 5 экранов. Пользователь листает экраны и как только доходит до 5-ого, бот автоматом выводит заголовки со следующей страницы. Для выбор статьи или видео используются кнопки (цифры в Whatsap). Что бы не листать поочерёдно все листы, добавлена функция ввода номера листа.

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

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

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

**Заключение**

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

**Автор кейса:** Михаил Евграфов
