Потребность

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

Решение

Так выглядит весь сценарий:



Как это работает

Создаем первый экран, делаем два блока Текст. В первом блоке текст - это приветствие, а во втором запрашиваем имя. На этом же экране делаем блок Фразы, чтобы получить имя от пользователя, для этого используем нашу системную сущность $NAME.



Далее, на втором экране создаем блок Текст с просьбой ввести номер телефона и блок фраз. Так как наша системная сущность $PHONE на данный момент работает только с русскими мобильными номерами, мы воспользуемся регулярным выражением для валидации городского номера. Выглядеть регулярное выражение будет так: $regexp<^((8|\+7)[\- ]?)?(\(?\d{3}\)?[\- ]?)?[\d\- ]{7,10}$>, оно будет также валидировать и мобильные номера. Внутри $regexp<> вы можете использовать любое регулярное выражение, обязательно делаем эту фразу шаблоном, переключаем кавычки на значок @. Наш блок Фраз будет выглядеть следующим образом:



Далее, нам нужно отправить наши данные, которые мы получили от клиента. Для этого используем блок http-запрос. Отправлять данные мы будем в личные сообщения администратору бота в телеграм, поэтому воспользуемся api телеграма, урл будет выглядеть таким образом: https://api.telegram.org/bot<token>/sendMessage На вкладке body мы должны указать данные chat_id и text. В chat_id мы пишем chat_id пользователя, которому отправляем сообщение, получить его можно с помощью системной переменной $rawRequest, а в text мы передаем имя и номер телефона.



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

Была ли эта статья полезна?
отменить
Спасибо!