Новости и события » Hi-Tech » Создание бота для Facebook Messenger

Создание бота для Facebook Messenger

Создание бота для Facebook Messenger

Директор по digital-маркетингу медицинского центра «Атлас» Виктор Бабичев написал для vc.ru колонку об алгоритме создания бота для мессенджера Facebook.

Для того, чтобы создать бота для мессенджера Facebook, необходимо обладать минимальными знаниями и навыками в программировании. На самом деле, все идет к тому, что боты будут создаваться в пару кликов, однако до этого еще далеко. Уже начинают появляться проекты, которые сильно упрощают разработку ботов, но чаще всего они решают далеко не все задачи. Поэтому давайте разберемся в вопрос, и напишем своего простого бота для мессенджера Facebook.

Подготовка

Начать нужно с окружения. Необходимо:

  • Открыть Terminal (консоль для ввода команд).
  • Установить git.
  • Зарегестрироваться на Heroku и указать, что дефолтный проект - Node.js.
  • Установить Node.js и npm.
  • Открыть удобный текстовый редактор.
  • Прочитать документацию Facebook.
  • Разобрать код и понять, что там за что отвечает.
  • Обновить знания в программировании, если нужно.

Начало

Сначала стоит определиться, что мы хотим написать. Наша задача - создать простого бота в Facebook, который будет автоматически отвечать на сообщения пользователя. Цель - разобраться, как все устроено.

Нам нужна группа для теста. Пока структура такова, что бот в Facebook - это отдельная страница. То есть если вы хотите добавить бот к уже существующей группе, то вам нужно обрабатывать ситуацию, когда пользователь хочет написать администратору, а не общаться с ботом. Пример: страница издания CNN.

Создаем новое приложение, где указываем, что это App for Pages:

Заходим во вкладку Messenger, выбираем нужную группу, авторизуемся и записываем полученный токен. Он нам еще понадобится.

WebHooks

Теперь нужно настроить WebHooks - это адрес сайта, на который будут отсылаться ответы пользователя в режиме реального времени. Приложение должно обрабатывать запросы и отдавать результат. Сайт должен быть доступен по HTTPS, а верефицирующий токен должен совпадать с настройками в приложении.

Создадим такой сайт и пройдем процедуру верификации. Для этого придется чуть-чуть попрограммировать.

Для удобства, мы выбрали платформу Node.js, так как примеры в Facebook Messenger Platform находятся там.

Выполните последовательность шагов:

  • Скачать проект с Github с примером бота: $ git clone [email protected]:babi4/vctest.git $ cd vctest.
  • Вставить в index.js свои pageToken - мы его запоминали ранее. verifyToken - придумайте любую фразу.
  • Запустить проект: $ npm install $ npm start.
  • Если все получилось, то по адресу http://localhost:5000/ будет доступен сайт.

Чтобы верефицировать адрес в WebHooks, нужно опубликовать сайт на публичном хостинге. Самый простой способ предлагает Heroku.

  • Устанавливаем https://toolbelt.heroku.com/.
  • Регистрируемся в аккаунте: $ heroku login.
  • Заходим в директорию проекта vctest и подготавливаем проект для деплоя: $ cd vctest $ heroku create.
  • Запоминаем адрес сайта.
  • Деплоим сайт (размещаем его на хостинге): $ git push heroku master.
  • Поздравляем, наш cайт готов: https://floating-dusk-67986.herokuapp.com/ Осталось подключить его настройках приложения в Facebook.

Настраиваем WebHooks в приложении: добавляем к сгенеренному адресу сайта /webhook. В Verify Token вставляем фразу, которую придумали немного ранее и записали в код:

Если все удалось, получится вот так:

Чтобы все заработало, нужно создать подписку с группы - тогда все новые сообщения от пользователя начнут моментально обрабатываться. Нужно выполнить команду в терминале: $curl -ik -X POST "https://graph.facebook.com/v2.6/me/subscribed_apps...", куда вставить сгенеренный токен, который мы запоминали в начале материала.

Подписка оформлена, теперь бот начал работать.

Последний штрих: настроиваем Welcome screen. Это сообщение появляется, когда пользователь инициализировал общение с ботом.

Вставляем свои токены и ID паблика в welcome.sh и выполняем: $ bash welcome.sh.

Публикация бота

Все созданные боты должны проходить процедуру проверки на соответствия правилам Facebook. Только после одобрения соцсети пользователи смогут общаться с созданным ботом, поэтому нашу программу можно будет протестировать, только если выполнить все шаги из материла.

Послесловие

Мне нравится идея ботов в мессенджерах - я уже опробовал уже десятки из них в Telegram, но ни одним не пользуюсь постоянно. Как вы думаете, дело в том, что для людей это еще «ново», или на самом деле они никому не будут нужны?

Создание бота для Facebook Messenger

Создание бота для Facebook Messenger

Создание бота для Facebook Messenger

Создание бота для Facebook Messenger

Создание бота для Facebook Messenger

Создание бота для Facebook Messenger

Создание бота для Facebook Messenger

Создание бота для Facebook Messenger

Создание бота для Facebook Messenger

Создание бота для Facebook Messenger


Свежие новости Украины на сегодня и последние события в мире экономики и политики, культуры и спорта, технологий, здоровья, происшествий, авто и мото

Вверх