разбор

Зачем нужны боты и как их сделать?

14 карточек
1

Что случилось?

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

2

Боты? Вы про назойливых комментаторов в твиттере?

Нет, сейчас мы говорим о собеседниках в мессенджерах, которые отвечают на запросы автоматически. Они заранее запрограммированы выдавать пользователю определенную информацию. Ботов-помощников разрабатывают компании из самых разных сфер. 

3

А где с ними можно пообщаться?

Поддержку ботов постепенно добавляют современные мессенджеры: первым это сделал Telegram, а совсем недавно платформу для виртуальных помощников анонсировал Facebook Messenger. Боты есть и в Slack — мессенджере для компаний, но в нем преобладают боты для решения бизнес-задач.

4

Можно пример?

Можно. Самые популярные боты — те, что рассказывают о погоде или новостях. Например, @Weatherman может предупредить о надвигающемся на ваш город дожде. А бот «Медузы» умеет присылать «Вечернюю Медузу», показывать курс доллара и рассказывать последние новости. 

5

Бот понимает слова, как обычный человек?

Не совсем. Бот — умный помощник, но все-таки он робот, а не человек. С ботами можно говорить на человеческом языке, но понимают они только определенные слова и фразы. Если вы напишете боту «Медузы» что-то вроде «эй, старик, покажи про котиков!», он вас не поймет. Ему знаком только определенный набор слов-команд — например, по команде /cat он покажет случайный материал про котов. 

6

Получается, боты — это новый способ читать всякие новости?

Нет. Общее свойство хороших ботов в том, что они упрощают решение каких-то задач для человека. Если есть что-то неудобное, рутинное или сложное — можно создать бота, который сделает это простым и быстрым. Так появились боты для оплаты услуг, помощи в туристической поездке или отслеживания посылки в «Почте России».

7

Чтобы сделать своего бота, нужно уметь программировать?

Необязательно. Благодаря специальным конструкторам ботов (например, Chatfuel), можно создать бота с помощью удобного интерфейса. И таких ботов используют вполне серьезные компании — например, TechCrunch и Forbes. 

8

А если я хочу какого-то бота похитрее?

Тогда лучше самому написать бота на любом языке программирования. Есть инструменты, которые существенно облегчат эту задачу — например, api.ai позволяет преобразовать запросы пользователя в стандартную форму, которую понимает компьютер. Например, фразу «эй, бот! Расскажи-ка, какая завтра будет погода?» бот поймет как «погода, завтра». Это называется обработка текста на естественном языке (Natural Language Processing).

9

Я придумал отличную идею для бота и хочу сам создать его. С чего мне начать?

Для начала нужно выбрать язык программирования. В случае с ботами обычно используются Javascript и Python, поэтому обучающих материалов будет больше всего по ним. Затем нужно решить, на какой платформе будет работать бот — это может быть Facebook Messenger или Telegram. Кроме того, нужно выбрать библиотеку для взаимодействия с API мессенджера: например, для Telegram список можно посмотреть здесь.

10

Что за API?

API мессенджера — это система, которая позволяет вашей программе общаться с серверами Facebook или Telegram. Чтобы получить специальный ключ доступа к этому API, нужно зарегистрировать своего будущего бота — для Facebook нужно создать страницу бота и приложение для этого бота, для Telegram нужно только написать @BotFather и, после ответа на несколько вопросов, он отправит ключ.

11

Я выбрал язык программирования и платформу. Что дальше?

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

12

Я делал бота, но запутался. Что мне делать?

Не паниковать. Чаще всего, решение различных проблем есть в документации библиотеки или API мессенджеров. Но если проблема остается — попробуйте поискать похожие проблемы в интернете. Если ничего не помогает, можно написать в сообщества людей, которые занимаются разработкой ботов (например, Telegram Bot Developers) — скорее всего, вам помогут.

13

Кажется, что-то получилось. Что дальше?

Нет лучшего способа протестировать полезность бота, чем начать им пользоваться. Во время тестирования могут всплыть неочевидные ошибки или появиться идеи для новых функций бота. Расскажите о боте друзьям и коллегам. Если вы считаете, что уже готовы представить бота всем пользователям — добавьте его в каталоги ботов, например, storebot.me и botfamily.com.

14

Можете рассказать о нескольких интересных ботах — для вдохновения?

@MyPokerBot позволяет играть в покер прямо из мессенджера, с помощью @SuperHRBot можно пройти виртуальное собеседование, а @EverlastingSummerBot — это известная игра «Бесконечное лето», адаптированная для Telegram.

Автор: Сева Жидков

Magic link? Это волшебная ссылка: она открывает лайт-версию материала. Ее можно отправить тому, у кого «Медуза» заблокирована, — и все откроется! Будьте осторожны: «Медуза» в РФ — «нежелательная» организация. Не посылайте наши статьи людям, которым вы не доверяете.