В данном уроке мы научимся запрашивать у пользователя контактную информацию (имя, фамилию, телефон, email и т.д.), запрашивать вид услуги, интересующей клиента, и затем отправлять эту информацию - личным сообщением, в группу, в гугл таблицу либо на почту.

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

Начнём!

Создайте новый сценарий.

Пожалуйста, начинайте этот урок с создания нового сценария. Чётко следуйте инструкции, ни на шаг не отходя от неё. После того, как вы успешно пройдёте данный урок, вы сможете ориентироваться на данный сценарий для создания вашего бота.

Для создания нового сценария перейдите на https://app.aimylogic.com/, нажмите Создать бота или обзвон, дайте название вашему сценарию, выберите язык и нажмите Продолжить.

Добавьте участок сценария для распознавания имени.

Обратитесь к данному уроку для создания участка распознавания имени.

После того, как вы полностью пройдете урок по получению имени, переходите к шагу 3.

Итак, вы прошли урок по получению имени клиента. У вас должен быть готов вот такой участок сценария:



В данном участке сценария мы получили имя клиента и записали его в переменную $name. Далее, давайте получим другие контактные данные, такие как фамилия, телефон, email.

Принимаем фамилию

Так как фамилий может быть бесчисленное множество, нет смысла использовать словари фамилий. Воспользуемся блоком Ввод текста, для того чтобы принять любое слово, которое пользователь введёт в ответ на вопрос о фамилии.

Чтобы связать наш готовый сценарий с новым блоком, добавим на экран, содержащий Текст Приятно познакомиться, $name! блок Переход:



От блока Переход создадим блок Ввод текста:



В поле Сообщение вместо текста "Введите текст" скопируйте и вставьте:

Пожалуйста, назовите вашу фамилию.

В поле Имя переменной вместо переменной "text" скопируйте и вставьте:

lastname



Нажмите Сохранить.



Теперь всё, что пользователь напишет на данном экране, будет записано в переменную $lastname, которую мы в дальнейшем сможем использовать и передавать.

Принимаем телефон

Нужно связать экран, где мы запрашивали фамилию, со следующим экраном. Для этого кликните на "Переход после ввода $lastname" и создайте блок Текст, в котором напишите:

Пожалуйста, введите свой номер телефона.





Добавьте на этот экран блок Интенты. В готовых интентах выберите интент Телефон.

Готовый интент Телефон содержит регулярное выражение $regexp<(\+?(8|7)[\-\s]?)?\(?9\d{2}\)?[\-\s]?\d{3}[\-\s]?\d{2}[\-\s]?\d{2}>, которое принимает только номера мобильных российских телефонов. Подробнее читайте здесь.



Вариант Любая другая фраза свяжите с блоком Текст, в котором напишите:

Пожалуйста, введите российский мобильный номер телефона в формате +79112223344.



Сюда бот будет вести пользователя, если пользователь введёт что-то, что не попадет в готовый интент "Телефон".

Добавьте сюда блок Переход и свяжите его с экраном Пожалуйста, введите свой номер телефона.



Когда телефон попадет в интент Телефон, он будет записан в переменную $PHONE. Мы сможем использовать её далее.

Принимаем E-mail

Для принятия имейла у нас также есть готовый интент E-mail.

Свяжите готовый интент Телефон с новым блоком Текст:



В нём напишите:

Введите свой email.



На этот же экран добавьте блок Интенты и выберите готовый интент E-mail.

Вариант Любая другая фраза свяжите с экраном Введите свой email., чтобы при вводе чего-то другого бот возвращал пользователя на этот же экран, пока пользователь не введет email.



Принимаем дополнительную информацию.

Если вам нужно получить от пользователя ответ на вопрос, какую-либо дополнительную информацию (например, информацию о том, какая услуга интересует, в какое время лучше звонить, на какой адрес доставить заказ и т.д.), мы можем принять эту информацию с помощью ещё одного блока Ввод текста.

От интента E-mail создайте новый блок Ввод текста, в котором напишите:

Какая услуга вас интересует? Пожалуйста, напишите одним сообщением.

Имя переменной:

service



Если вам нужно принять ещё какую-либо информацию, вы можете точно таким же образом добавить ещё блоки Ввод текста, в которых ответы на вопросы будут записываться в переменные.

Выводим всю полученную информацию для проверки.

Если вы хотите проверить всё, что было записано в сценарии, вы можете от варианта "Переход после ввода $service* добавить связь с блоком Текст. В него скопируйте и вставьте:

Ваше имя: $name
Ваша фамилия: $lastname
Ваш телефон: $PHONE
Ваш email: $EMAIL
Вид услуги: $service




На этом блоке можем вывести все контактные данные, которые собрали ранее.

Теперь можем протестировать сценарий.

Нажмите Тестировать:



Далее, если вам нужно передавать эти данные куда-либо, вы можете удалить последний блок Текст, вот этот:



И вместо этого блока добавить блок HTTP-запрос, с помощью которого передавать данные.



Передаем данные.

Если вам нужно отправить куда-либо полученные данные, то у нас есть несколько уроков, в которых мы подробно рассказываем, как это сделать.

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

По сути, любая отправка данных будет выглядеть примерно так:



То есть, вам нужно будет связать последний блок с блоком HTTP-запрос.

Правильно оформлять запрос вы научитесь после прохождения одного из уроков по ссылке выше.

Далее, от блока "завершен успешно" делаете связь с сообщением об успешной отправке данных.

От варианта "Завершен с ошибкой" делаете связь с текстом:

Ошибка $httpStatus

Чтобы передавать данные, пройдите один из следующих уроков:

отправлять данные сообщением в телеграм:
отправлять в группу в телеграме;
отправлять личным сообщением в вк;
отправлять в гугл-таблицу (добавлять строчку);
отправлять себе на почту;
делать рассылку по имейлам.
Была ли эта статья полезна?
отменить
Спасибо!