Сайт запущен - а значит мы готовы дать всем поиграться в Leecero
Все началось 20.06, когда я заметил запись в твиттере популярного блогера Варламова
Тогда меня осенило: любой мессенджер позволяет строить отличные каналы взаимодействия с пользователем, на всех платформах и без всяких приложений. Зачем мне приложение для получения свежих новостей, когда можно добавить бота и получать сообщения от него? Зачем мне приложение для вызова такси, когда можно добавить бота и писать туда "такси на Заполярную 15 через полчаса" и получать свое такси? А через 4 дня Павел Дуров выпустил официальных ботов для Telegram - и на ближайшем хакатоне AngelHack, Leecero победил в одной из номинаций. Итак, к обучению.
Что такое Leecero?
Leecero это бот-конструктор, сервис позволяющий вам нарисовать сценарий общения бот-пользователь, загрузить его и.. и собственно все - у вас полноценный рабочий бот. Сложность и "разумность" этого бота зависит только от того насколько сложный сценарий вы загрузили. А Leecero уж сам разберет сообщения от пользователей и поймет куда по этому сценарию двигаться
Вот пример простого сценария заглушки:
Этот сценарий описывает следующий автомат
По этому сценарию бот будет получать все сообщения от пользователей и возвращать сообщение "Я ничего не делаю" на каждое сообщение.
Создание своего бота в Leecero
Любое создание бота Telegram начинается с инструкции Telegram, а в частности надо написать специальному боту BotFather. Он объяснит что делать и после создания бота выдаст вам такое сообщение:
Вот этот токен - самый важный идентификатор вашего бота. Дальше вам необходимо пойти на сайт Leecero и оставить нам свой e-mail. В ответ мы пришлем вам ссылку на форму создания бота, которая выглядит вот так
Заполняете, нажимаете Create - и все, бот создан и работает.
Введение в сценарии
Для введения в сценарии прикладываем пример сложного бота - это один из ботов, которого мы демонстрировали на хакатоне: бот симулирующий маленький кусочек банковской службы поддержки
И его автомат. Простите за английские переходы - рисовалка пока не понимает русского языка.
Любой автомат начинается с <fsm name="Имя бота">. Состояния бота описываются с помощью <state name="ИмяСостояния">. Из любого состояния, кроме start, может быть любое количество переходов в любые состояния (включая start) описываемые как <transition input="Терм" next="СледующееСостояние" action="Действие" />
- input - входной "терм". если он будет обнаружен в введенном сообщение будет осуществлен переход в состояние next и выполнен action
- Может быть глаголом в нормальной форме - инфинитив, например не "заблокируй" а "заблокировать"
- Может быть существительным в нормальной форме - именительный падеж, единственное число, например не "карту" а "карта"
- Может быть любым словом, тогда будет сравнение 1к1
- Может быть * - тогда любая фраза приведет к переходу на next
- Может быть специальными ключевыми словами {noun}, {verb} - но о них позже
- next - следующее состояние. Тут вписывается название следующего состояния
- action - действие
- может быть обычной фразой - тогда эта фраза будет послана в ответ на сообщение пользователя при переходе
- может быть конечной точкой (ссылкой) на web-вызов - тогда будет выполнен web запрос, а ответ отправлен в ответ на запрос, но об этом в следующем посте
- может быть "-" - тогда будет выполнен переход на следующее состояние, но пользователю не будет показано сообщение, а введенная фраза подвергнется повторному анализу. Это нужно для построения цепочек типа "карта" -> "кредитная" -> "остаток" или "карта" -> "дебетовая" -> "остаток". (Примечание: в данном случае состояния Кредитная и Дебетовая - это разные состояния!)
Пока пожалуй все. Предложенной информации достаточно чтобы создать простого и даже сложного бота, и от души с ним поиграться. Помните что по умолчанию мы даем вам 100 бесплатных запросов в месяц. Если вам не хватает, напишите нам на info@leecero.com и мы что-нибудь придумаем.
Так что регистрируйтесь и создавайте своих ботов с помощью Leecero на www.leecero.com