🤖 Конструктор чат-ботов
Обзор конструктора чат-ботов
Создайте своего первого чат-бота
Релизы чат-ботов
Установка виджета с чат-ботом на свой сайт
Элементы узлов чат-бота
Переменные
Черновик
Расширенные возможности
Пользовательские кейсы
Как подсоединить агента и отключить чат-бот
Как выполнить запрос во внешнюю сиситему используя API
Как сохранить номер телефона в профайл пользователя
Как проверить вводимый пользователем текст
Как запретить ввод текста
Как добавить данные доступные для поиска в профиле пользователя
Как создать разные приветственные сообщения чат-бота в зависимости от рабочих часов
Как выбрать элемент из массива переменных
Как найти слово или фразу в сообщении пользователя
Как использовать JS в боте
Как подставить и использовать данные в бота из уведомления клиенту
Как персонифицировать меню при открытии бота в Viber
Как настроить сбор статистики в боте
Как использовать тексты на кнопках через массив кнопок
Как сделать заглушки на нерабочее время
Как использовать мультиязыки в боте
🧠 Мегамозг
💌 Транспортировка сообщений
💬 Диалоги
📊 Аналитика
😎 Аккаунт
🔎 Поиск
🆘 Помощь
🔑 Конфигурация
Как использовать JS в боте
Юзер кейс
  • Очень часто в боте вам может потребоваться узел Javascript, чтобы выполнить какое-либо действие с помощью кода.
  • Внутри JS по дефолту определены функции из популярных библиотек: moment, crypto, lodash (переменная _). Чтобы вернуть результат надо делать return var, то есть это работает как стандартный ответ JS функции.
  • В данном кейсе мы рассмотрим, как с помощью JS сохранить введенный телефон клиента и время в привычном нам формате для дальнейшего использования в запросах.
Решение
Преобразование даты ДД.ММ.ГГГГ в формат ГГГГ-ММ-ДД
Исходные данные: клиент вводит любую дату в формате ДД.ММ.ГГГГ (например, 18.08.2021, 17.07.2021 и т.п.). Для запроса к АПИ клиента дату нужно передавать в формате ГГГГ-ММ-ДД. Можно было изначально спросить у клиента дату в нужном формате, но такой формат не будет удобным для клиентов, так как более привычный - ДД.ММ.ГГГГ.
Поэтому в боте мы у клиента даже будем запрашивать в привычном всем виде - ДД.ММ.ГГГГ, затем через узел JS мы будем её преобразовывать и передавать по АПИ уже в нужном формате.
Для этого необходимо:
1. Добавить узел JS
2. Приписать следующий скрипт с сохранением всех знаков:
return moment(userDate,'DD.MM.YYYY').format('YYYY-MM-DD')
3. В разделе Пары переменных добавить пару:
В переменную мы выбираем переменную, в которую мы сохраняли введенный клиентом текст. Если текст клиент вводил сразу же перед узлом JS, то в переменной мы выбираем переменную с названием сообщение пользователя. Если в любом другом месте, тогда введенную клиентом дату нужно предварительно сохранить в переменную и потом в JS выбрать её.
В ключ мы прописываем значение userDate. Это означает, что в скрипте в userDate будет подставляться значение из переменной, куда мы сохраняли дату клиента.
4. В разделе Хранилище мы выбираем Хранить данные и переменную, куда мы запишем результат JS. Этот результат (эту переменную) мы будем в дальнейшем использовать в запросе к АПИ клиенту.
Преобразование телефона клиента в нужный формат
Несмотря на то, что мы можем изначально запросить клиентов ввести телефон в формате +7ХХХХХХХХХХ, часть клиентов может вводить номер с 8, без +⅞ и т.п. Чтобы преобразовать номер телефона клиента в необходимый нам, после ввода номера можно использовать узел JS.
Чтобы преобразовать телефон, необходимо:
1. Добавить узел JS
2. Прописать скрипт (в скрипте кроме номеров РФ, будем ещё уметь определять номера Беларуси и преобразовывать в +375ХХХХХХХХХ):
let parsed = phoneNum.match(/^\+?(7|8)(\d10)$/)
console.log(parsed)
if (parsed) return `+7${parsed[2]}`
parsed = phoneNum.match(/^9(\d9)$/)
if (parsed) return `+79${parsed[1]}`
return false
3. В разделе Пары переменных добавить пару:
В переменную мы выбираем переменную, в которую мы сохраняли введенный клиентом номер телефона. Если текст клиент вводил сразу же перед узлом JS, то в переменной мы выбираем переменную с названием сообщение пользователя. Если в любом другом месте, тогда введенную клиентом дату нужно предварительно сохранить в переменную и потом в JS выбрать её.
В ключ мы прописываем значение phoneNum. Это означает, что в скрипте в phoneNum будет подставляться значение из переменной, куда мы сохраняли введенный клиентом номер телефона.
4. В разделе Хранилище мы выбираем Хранить данные и переменную, куда мы запишем результат JS. Этот результат (эту переменную) мы будем в дальнейшем использовать в запросе к АПИ клиенту.
Содержание
Юзер кейс
Решение
© Copyright 2025 Flomni, Inc. Все права защищены. Различные торговые марки принадлежат их соответствующим владельцам.
Русский