Знакомство с Bot Template Framework.

С появлением и ростом популярности чатботов, все чаще возникает вопрос «Какой инструмент использовать при разработке чатбота?». Если ответить кратко — тот который подходит вашим потребностям больше всего. Один способ — использовать платформы (такие как Chatfuel или Manychat), второй же — программированием собственного приложения. При этом при первом способе у нас есть большие ограничения по работе и улучшению бота, а  при втором способе — мы теряем гибкость настройки чатбота в визуальном редакторе, и часто теряем драгоценное время на написание сценариев прямиком в коде. В Beedevs мы не описываем сценариев чатботов прямиком в коде. Для этих целей мы используем Bot Template Framework. Это фреймворк который позволяет нивелировать недостатки второго способа, упростив и уменшив время описания сценария чатбота до минимума. Как использовать фреймворк? Давайте рассмотрим ниже..

Узнать больше о графических компонентах можно во второй части.

Написание простого бота Hello World

Описание сценария бота на Bot Template Framework начинается с создания json файла и описания начальных полей.

Сейчас нам нужно добавить новый блок в раздел «blocks». Блок — это одно сообщение, которое отправит чатбот по определенному событию, это может быть текст, рисунок, файл или кнопочное меню. Всего фреймворк имеет 17 типов блоков:

text, image, menu, audio, video, file, location, attachment, carousel, list, request, ask, intent, if, method, extend, idle

Также нам нужно добавить новый драйвер в раздел «drivers». Драйвер — это настройка платформы на которой будет работать наш бот. На момент написания статьи, Bot Template Framework поддерживает 6 драйверов:

Facebook, Telegram, Viber, Skype, Dialogflow, Alexa

Для демонстрационных целей будем делать чатбот на Telegram. Поэтому описываем наш драйвер

И добавим текстовый блок который возвращает «Hello World!»

Как вы уже видите, в «content» мы помещаем ответ чатбота. Объязательно нужно указать тип блока — «text».

Весь сценарий чатбота выглядит так:

Если сейчас перейти в наш чатбот, он ничего не ответит, почему? Потому что нет события которое определяет когда нужно отравить блок «My First Text Block». Поэтому добавим «template» поле, в котором описываються ключевые слова на которые чатбот ответит нашим блоком. Для примера добавим hi, а также /start (это комманда которую отправляет Telegram при старте чатбота). И так:

Смотрим результат работы:

Bot Template Framework первый бот

 

Всё работает нормально. Теперь давайте усложним задачу и отправим следующим сообщением рисунок с кнопкой-переходом на наш блог.

Image блок в Bot Template Framework

Опишим новый блок с рисунком и кнопкой (хорошо что блок «рисунок» поддерживает кнопки).

Как раньше уже упоминалось, блоку необходимо событие при котором Bot Template Framework отправит его в чат. Но на этот раз, добавим наш блок в очередь вторым сообщением после «Hello World!». Для этого добавим поле «next» в первый блок с именем второго блока — «My Second Image Block». И так, полный сценарий чатбота:

Теперь испытаем наш чатбот:

Bot Template Framework пример использования imge

Как видите все работает нормально. В следующей статье мы попробуем более продвинутые возможности фреймворка.

Заключение

Bot Template Framework —  это простой инструмент для описания сценария чатбота в текстовом файле, не используя какие либо навыки программирования. При чем фреймворк поддерживает несколько платформ, для использования которых достаточно добавить описание нового драйвера и… Вуаля, у нас новый чатбот на Facebook или Viber.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *