
Bot Template Framework. Разговорный сценарий.
В части №2 нашей серии статтей о Bot Template Framework мы создали меню в котором нужно попросить пользователя оставить отзыв о работе студии (кнопка меню — «What you think»).
Поэтому в данной статье будем рассматривать так называемый «ask» блок.
Ask блок
Это блок который позволяет получить информацию от пользователя и потом ее сохранить в переменную. Отличительной особеностью блока есть его способность принимать текстовую информацию которую пользватель может отправить в чат. Ask блок запоминает последний вопрос и ожидает ввода от пользователя на протяжении времени который задается параметром «conversation_cache_time» в настройках Botman, другими словами ask блок использует механизм Conversation (можете ознакомиться с ним на официальном сайте Botman).
И так, вот наш блок ask, который выполняется при нажатии на кнопку «What you think».
1 2 3 4 5 6 7 8 9 |
{ "name": "Feedback", "type": "ask", "content": "Please, type your feedback here", "template": "feedback", "result": { "save": "{{feedback}}" } } |
Как видно, мы подписываемся на ключевое слово «feedback», отправляем сообщение «Please, type your feedback here» давая понять что чатбот ожидает ввода текста от пользователя, после чего сохраняет результат в переменную под тем же именем «{{feedback}}» (переменная хранится в userStorage).
Очевидно нам нужно поблагодарить пользователя за старания, поэтому добавим еще один тектовый блок и «next» поле в блок «ask».
1 2 3 4 5 |
{ "name": "Feedback End", "type": "text", "content": "Thank you, for your feedback!" } |
Заключение
Bot Template Framework предлагает более быстрое и изящное решение по созданию разговорных сценариев, в отличии от Conversation механизма Botman-а.
В следующей статье рассмотрим более подробно возможности блока «ask».
Полный сценарий чатбота на конец третьей части:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 |
{ "name": "My Hello World Bot", "blocks": [ { "name": "Menu Block", "type": "menu", "template": "hi;/start", "content": { "text": "Hello there! Welcome to Beedevs chatbot development studio!", "buttons": [ {"feedback": "Tell us what you think"}, {"quote": "Request a quote"}, {"about": "About"} ] } }, { "name": "About Block", "template": "about", "type": "image", "content": { "text": "We are chatbots development studio. Our mission is to shape and deliver modern and easy way of communication between business and its customers by means of messengers and social networks.", "url": "https://beedevs.com/images/ms-icon-310x310.png", "buttons": { "https://beedevs.com": "Website", "articles": "Blog Articles" } } }, { "name": "Articles Block", "type": "carousel", "template": "articles", "content": [ { "title": "Bot Template Framework. First Look.", "url": "https://blog.beedevs.com/wp-content/uploads/2018/10/BTF-1-768x384.jpg", "description": "Make your first steps with Bot Template Framework", "buttons": { "https://blog.beedevs.com/en/bot-template-framework-part-1": "Read Part 1" } }, { "title": "Bot Template Framework. Graphical UI.", "url": "https://blog.beedevs.com/wp-content/uploads/2018/11/BTF-768x384.png", "description": "Dive into graphical components of Bot Template Framework", "buttons": { "https://blog.beedevs.com/en/bot-template-framework-part-2": "Read Part 2" } }, { "title": "Conversations with Bot Template Framework.", "url": "https://blog.beedevs.com/wp-content/uploads/2018/12/BTF-768x384.png", "description": "Learn how to build conversations using Bot Template Framework", "buttons": { "https://blog.beedevs.com/en/bot-template-framework-part-3": "Read Part 3" } } ] }, { "name": "Feedback", "type": "ask", "content": "Please, type your feedback here", "template": "feedback", "result": { "save": "{{feedback}}" }, "next": "Feedback End" }, { "name": "Feedback End", "type": "text", "content": "Thank you, for your feedback!" } ], "drivers": [ { "name": "telegram", "token": "635222000:AAGulXNIfCfG3KYZpSq3LUvnn0000000000" } ] } |