Чат-боти вже є в каталозі скриптів Дусі, але створити щось унікальне і по-справжньому своє - це дуже цікаве і захоплююче.
У цій статті ми покажемо, як за допомогою скриптів і нашої платформи Zenbot будь-який користувач зможе створити навіть дуже складного чат-бота, який вміє не тільки базікати, але і робити багато корисного! Поїхали!
Що таке Zenbot
Зовсім недавно ми писали про те, що створили безкоштовну платформу Zenbot, на якій будь-який користувач може створювати ботів для різних месенджерів типу Telegram, Facebook, Skype і так далі.
Але Zenbot можна використовувати і для створення чат-ботів для будь-якої програми або сервісу. Такою програмою може бути і сама Дуся!
Як все буде працювати
Ми створимо бота на Zenbot і спеціальний скрипт для Дусі, який буде відправляти нашому боту текст команди і потім озвучувати відповідь від бота. А якщо бот захоче зав'язати з нами діалог - то відразу ж включить мікрофон для наступної фрази.
Як бачите, все просто! Почнемо!
створюємо бота
Тільки він ще нічого не вміє. Тому додамо йому мізків.
Додаємо мізки нашому боту
Мізки в Zenbot - це спеціальний скрипт званий Botscript. Ми створили велику документацію англійською, де про це докладно написано. Але не поспішайте прямо зараз її вивчати - в цій статті ми розповімо і покажемо все найважливіше.
Botscript - це звичайний текстовий файл. Просто створіть новий текстовий файл на вашому ПК і напишіть туди приблизно наступне
Як бачите, це простий XML файл. Збережіть його з ім'ям типу mybot.xml і тепер його можна завантажити в вашого бота на Zenbot. На вкладці General settings виберіть для завантаження ваш файл і натисніть кнопку Upload. Через секунду ваш бот зможе відповідати на фразу «Привіт».
Щоб це перевірити, натисніть кнопку Test this bot і вбийте фразу «привіт». У відповідь ви побачите щось типу
Як бачимо, в поле output той сами відповідь від нашого бота, який прописаний в нашому скрипті.
Відмінно! Тепер можемо створити скрипт для Дусі, який буде відправляти нашому боту всі фрази, які не відносяться до функцій, і озвучувати відповідь.
Створюємо скрипт для Дусі
Скрипт буде працювати так.
- Реагуватиме на фразу за шаблоном $ Text
- У першій дії скине всі проміжні змінні, необхідні для роботи скрипта
- У другій дії відправить HTTP запит з параметром $ Text нашому боту на Zenbot і отримає відповідь
- Якщо у відповіді є поле output. скаже його
- Якщо у відповіді поле modal має значення true (тобто бот вступає з нами в діалог), то запускається діалог
- Якщо був діалог, то перезапускає скрипт з тими ж параметрами, щоб знову відправити запит нашому боту на Zenbot
Як бачите, невелика складність тільки в алгоритмі роботи в діалоговому режимі. Але вона невелика. Сам скрипт можна скачати тут. А потім імпортувати в ваші скрипти в Дусі.
І не забудьте поміняти ключ доступу в дії HTTP запит на свій!
Тепер командуємо Дусі «Привіт» і переконуємося, що відповідає наш бот. Все працює!
Покращуємо нашого бота
Тепер можна весь час поліпшувати і поліпшувати нашого бота, а сам скрипт в Дусі чіпати не доведеться.
Давайте додамо який-небудь нескладний діалог, щоб перевірити, що це працює.
Як бачите, ми додали діалог на фразу типу «Як твої справи?» Дуся в після цієї фрази буде говорити «Відмінно! А твої? »І чекати відповіді. Коли ви скажете «Добре» або «У мене все відмінно», то Дуся відповість або «Це просто чудово» або «Здорово». А якщо ви відповісте «Так собі у мене справи», то Дуся відповість «Не вішай носа».
Нічого складного, але цей приклад показує, як ви можете і далі нарощувати функціонал свого чат-бота, додаючи діалоги і нові фрази. Пам'ятайте, що повний синтаксис шаблонів ідентичний шаблонами в скриптах Дусі і повністю описаний в документації.
Офіційний бот Дусі
Звичайно ж ви знаєте, що у Дусі є свій власний чат-бот. який працює щоразу, коли ви питаєте про її справах, як вона себе почуває, дякуйте її і так далі. Звичайно ж, він працює на платформі Zenbot.
Звичайно, він не дуже розвинений, так як Дуся - це функціональний асистент, а не болталка. Але тепер ми викладаємо його вихідний код на Github і всі, хто хоче додати емоції офіційному боту Дусі, може просто зробити форк від цього сховища, змінити бота і потім запропонувати свої зміни через Pull Request. Всі зміни і ідеї обговорюються в ході дискусії над пул реквестом, а потім ваші зміни потрапляють в основну гілку бота Дусі.
І тисячі користувачів Дусі чутимуть саме ваші відповіді, коли будуть задавати каверзні питання, які не відносяться до функцій Дусі.