Перейти к основному контенту

Скрипты

Скрипты - это элементы сценария взаимодействия бота с пользователем.


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

image.png

Создать новый скрипт


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

  • Название - логически понятное название скрипта , например, Главное меню;
  • Раздел - если скрипт должен быть размещен в разделе, то указать раздел, например, "Скрипты меню", иначе оставить не заполненным;

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

  • Тип - может принимать значение: Стандарт или Fallback: 
    • значение Стандарт - скрипт, выполняющий различные функции, используемые, например,  для разговорных сценариев. Устанавливается по умолчанию.
    • значение Fallback - скрипт, позволяющий описать функции повтора выполняемых действий или текстовых сценариев, если бот не определил намерений пользователя. Например, сообщение - " Извините, не понял Ваш вопрос/ответ. Повторите еще раз". 

Скрипт, имеющий тип Fallback используется с командами: Отправить текст  и Повторить вопрос.

Скрипт, имеющий тип Fallback в чат-боте применяется один раз!

  • Заполнить параметр для корректной работы функции NLP: 
    • Включить  NLP - активность параметра позволяет настроить и использовать функцию NLP.

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

  • следующий параметр:
    • Использовать определение NLP Action - параметр позволяет настроить функцию NLP - Живой разговор, а также позволяет распознавать все существующие намерения в базе.

Включить обнаружение NLP Action при обнаружении NLP намерения позволяет в запущенном скрипте начать поиск нового намерения. Опция действует только если включено обнаружение намерения NLP. 

  • Нажать кнопку Создать.

image.png

Форма свойств скрипта

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

image.png


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

  • Перейти в редактор скрипта
  • Редактировать свойства скрипта
  • Удалить скрипт
  • Список скриптов

image.png

JS методы для работы со скриптами

Со скриптами можно работать при помощи следующих методов JS:

Название метода Метод
Получить ID скрипта по наименованию bot.getScriptIdByName(string $scriptName): ?int
Получить ID скрипта по коду bot.getScriptIdByCode(string $scriptCode): ?int
Запустить скрипт для лида по ID скрипта bot.runScriptForLead(?int $scriptId, ?int $leadId, ?int $ticketId = null, $addToQueue = true): bool
Запустить скрипт для лида по наименованию скрипта bot.runScriptByNameForLead(?string $scriptName, ?int $leadId, ?int $ticketId = null, $addToQueue = true): bool
Запустить скрипт для персоны по ID скрипта bot.runScriptForPerson(?int $scriptId, ?int $personId, ?int $ticketId = null, $addToQueue = true): bool

Запустить скрипт для персоны по наименованию скрипта bot.runScriptByNameForPerson(?string $scriptName, ?int $personId, ?int $ticketId = null, $addToQueue = true): bool

​Каждый из методов подробнее расписан ниже.

Получить ID скрипта по наименованию

bot.getScriptIdByName(string $scriptName)
Описание:

Возвращает id скрипта по его наименованию.

Атрибуты:
Имя Тип Описание
scriptName string Наименование скрипта
Возвращает:

int - id скрипта в формате числа.

Пример:
let ScriptId = bot.getScriptIdByName('Меню');

Получить ID скрипта по коду

bot.getScriptIdByCode(string $scriptCode)
Описание:

Возвращает id скрипта по его дополнительному идентификатору.

Атрибуты:
Имя Тип Описание
scriptCode string Код скрипта
Возвращает:

int - id скрипта в формате числа.

Пример:
let ScriptId = bot.getScriptIdByCode('menu');

Запустить скрипт для лида по ID

bot.runScriptForLead(?int $scriptId, ?int $leadId, ?int $ticketId = null, $addToQueue = true)
Описание:

Запускает скрипт бота для лида по указанному id скрипта.

Атрибуты:
Имя Тип Описание
scriptId int ID скрипта, который будет запущен
leadId int ID лида, для которого будет запущен скрипт
ticketId int ID заявки, для которой будет запущен скрипт
addToQueue bool Добавление в очередь скриптов
Возвращает:

bool - подтверждение запуска скрипта.

Пример:
let ScriptId = bot.getScriptIdByName('Меню');

bot.runScriptForLead(ScriptId, 165784, null, true);

Запустить скрипт для лида по наименованию

bot.runScriptByNameForLead(?string $scriptName, ?int $leadId, ?int $ticketId = null, $addToQueue = true)
Описание:

Запускает скрипт бота для лида по указанному имени скрипта.

Атрибуты:
Имя Тип Описание
scriptName string Наименование скрипта, который будет запущен
leadId int ID лида, для которого будет запущен скрипт
ticketId int ID заявки, для которой будет запущен скрипт
addToQueue bool Добавление в очередь скриптов
Возвращает:

bool - подтверждение запуска скрипта.

Пример:
bot.runScriptByNameForLead('Меню', 165784, null, true);

Запустить скрипт для персоны по ID

bot.runScriptForPerson(?int $scriptId, ?int $personId, ?int $ticketId = null, $addToQueue = true)
Описание:

Запускает скрипт бота для персоны по указанному id скрипта.

Атрибуты:
Имя Тип Описание
scriptId int ID скрипта, который будет запущен
personId int ID персоны, для которой будет запущен скрипт
ticketId int ID заявки, для которой будет запущен скрипт
addToQueue bool Добавление в очередь скриптов
Возвращает:

bool - подтверждение запуска скрипта.

Пример:
let ScriptId = bot.getScriptIdByCode('menu');

bot.runScriptForPerson(ScriptId, 24178, null, true);

Запустить скрипт для персоны по наименованию

bot.runScriptByNameForPerson(?string $scriptName, ?int $personId, ?int $ticketId = null, $addToQueue = true)
Описание:

Запускает скрипт бота для персоны по указанному имени скрипта.

Атрибуты:
Имя Тип Описание
scriptName string Наименование скрипта, который будет запущен
personId int ID персоны, для которой будет запущен скрипт
ticketId int ID заявки, для которой будет запущен скрипт
addToQueue bool Добавление в очередь скриптов
Возвращает:

bool - подтверждение запуска скрипта.

Пример:
bot.runScriptByNameForPerson('Меню', 24178, null, false);