Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Expand
titleИспользование тегов в диалоге

В качестве тегов можно использовать функцию “установитьПеременнуюВДиалог“ с типом “Выпадающий список“

Code Block
установитьПеременнуюВДиалог(
    ключ = "priority",
    значение = "",
    название = "Выберите тег",
    редактируемое = true,
    показыватьОператору = true,
    обязательное = true,
    множественныйВыбор = true,
    тип = "Выпадающий список",
    варианты = "{\"Тег 1\": \"t1\", \"Тег 2\": \"t2\"}"
)+
завершить
Image RemovedImage Added
Expand
titleВнесение оператором Email в контактные данные клиента
Code Block
// Пример сценария опроса оператора с заполнением метаданных пользователя
// Сценарий предназначен для подключения в Интеграцию на событие "Нажата кнопка оператора"
установитьПеременную("_email", "{userPayload.Email}")+
// Собираем поля для формы оператора
// Добавляем текстовое поле для отображения информации
добавитьПолеВФормуОператора(
  форма = "Обновление данных пользователя",
  переменная = "formName",
  название = "",
  значение = "Укажите новые значение или сотрите старые",
  тип = "Нередактируемый текст",
  описание = "",
  обязательное = false
) +
// Добавляем поля пользователя
добавитьПолеВФормуОператора(
  форма = "Обновление данных пользователя",
  переменная = "_email",
  название = "Email",
  тип = "Однострочный редактируемый текст",
  описание = "Email пользователя",
  обязательное = true
) +
// показываем форму оператору, пока оператор не закроет форму сценарий ждет 
// если оператор нажмет в форме Отмена - сценарий остановится
показатьФормуОператору(имя = "Обновление данных пользователя") +
комментарий("Обовлены данные пользователя")+
установитьПеременнуюПользователю("userPayload.Email", "{_email}")+
завершить

...

Сценарии для модуля Приветствие

Expand
titleПриветствие с сообщением об отсутствии поддержки в зависимости от времени суток

Реализован для Московского времени, где +3 GMT, переменная HourOffset

Code Block
установитьПеременную("HourOffset", "3")+
установитьПеременную("startHour", "9")+
установитьПеременную("endHour", "22")+
выполнитьJs("""
var serverTime = new Date();
var serverTimeStamp = serverTime.getTime();
var timeZoneOffset = serverTime.getTimezoneOffset();

var currentTimeStamp = serverTimeStamp + (parseInt(HourOffset) *  3600000) - (timeZoneOffset * 60000);

var currentDate = new Date(currentTimeStamp);
var currentHour = parseInt(currentDate.getHours());

var start = parseInt(startHour);
var stop = parseInt(endHour);

if (currentHour >= start && currentHour < stop) {
	var workTime = 1;
} else {
	var workTime = 0;	
}

var exit = {'workTime':workTime};
exit;
""") +
если("{platformInMessageQuery} == /start").и("{workTime} == 0").то(
	комментарий("Это присоединение к боту в нерабочее время")+
	сообщениеПользователю.сШаблоном("Сейчас служба поддержки не работает. Просим писать нам с {startHour}:00 по {endHour}:00 МСК.<br>Unfortunately you contacted us outside of our support service hours. We will reply to you in the morning. Thank you for waiting.")+
	завершитьИЗакрытьДиалог()
)+
если("{platformInMessageQuery} == /start").и("{workTime} == 1").то(
	комментарий("Это присоединение к боту в рабочее время")+
	сообщениеПользователю.сШаблоном("Чем могу вам помочь?<br>How can I help you?")+
	завершитьИЗакрытьДиалог()
)+
запросВБазыЗнаний("{platformInMessageQuery}", "botKnows")+
если("{botKnows} == true").то(
	комментарий("Бот знает ответ, продолжаем не взирая на график.")+  	
	завершитьСНовымЗапросом("{platformInMessageQuery}")
)+
если("{workTime} == 0").то(
	комментарий("Мой график работы с {startHour} по {endHour} по МСК. Сейчас {currentHour} часов - я не работаю.")+
	сообщениеПользователю.сШаблоном("Сейчас служба поддержки не работает. Просим писать нам с {startHour}:00 по {endHour}:00 МСК.<br>Unfortunately you contacted us outside of our support service hours. We will reply to you in the morning. Thank you for waiting.")+
	завершитьСНовымЗапросом("{platformInMessageQuery}")	
)+ 
комментарий("Мой график работы с {startHour} по {endHour} по МСК. Сейчас я работаю.")+  	
завершитьСНовымЗапросом("{platformInMessageQuery}")
Expand
titleПриветствие пользователя с интерактивным меню
Code Block
задатьПользователюВопрос("Здравствуйте 😊<br>Что Вас интересует?").сВариантамиОтвета("Первое","Второе","Компот").сохранитьРезультат("userChoice")+
если("{userChoice} == Первое").то(завершитьСНовымЗапросом("Первые блюда"))+
если("{userChoice} == Второе").то(завершитьСНовымЗапросом("Вторые блюда"))+
если("{userChoice} == Компот").то(завершитьСШаблоном("Закончился. Всего хорошего!"))+
завершитьСНовымЗапросом("{userChoice}")

...