...
Expand |
---|
title | Нажмите здесь, чтобы развернуть пример сценария |
---|
|
Code Block |
---|
//
// Сценарий описывает различные приветствия в зависимости от типа и ИД канала
//
если("{channelType} == Telegram").то(
сообщениеПользователю.сШаблоном("Добро пожаловать в наш Telegram")
)+
если("{channelId} == 2f7ce72f-8003-4e17-b879-e3c71f239149").то(
сообщениеПользователю.сШаблоном("Здравствуйте!")
)+
//
// Завершение сценария и передача запроса в базы знаний
завершитьСНовымЗапросом("{platformInMessageQuery}") |
|
...
Сообщение об отсуствии операторов поддержки вне рабочего времени
В зависимости от текущего времени сценарий возвращает различные приветствия. В отсутствии операторов сценарий проверяет может ли бот ответить на запрос. Если ответ на запрос есть, сценарий предупреждает об отсутствии операторов и передает запрос боту. Если в базах знаний нет овтета на запрос сценарий сообщает об отсутствии операторов и закрывает диалог.
Expand |
---|
title | Нажмите здесь, чтобы развернуть пример сценария |
---|
|
Code Block |
---|
//
// Сценарий сообщает об отсутствии операторов поддержки в ночное время
//
// Настройка сценария
// Смещение текущего времени службы поддержки относительно GMT в часах
установитьПеременную("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;
""") +
//
// Сейчас рабочее время, сценарий передает запрос в базы знаний без уведомлений пользователя
если("{workTime} == 1").то(
комментарий("Рабочее время. Продолжаем штатно") +
завершитьСНовымЗапросом("{platformInMessageQuery}")
)+
//
// Сейчас нерабочее время, перед сообщением пользователю сценарий уточняет наличие ответа в базе знаний
запросВБазыЗнаний("{platformInMessageQuery}", "botKnows")+
//
// В базе знаний есть ответ, сценарий уведомляет пользователя об отсутствии операторов и передает запрос в базы знаний
если("{botKnows} == true").то(
комментарий("Бот знает ответ, продолжаем не взирая на график.") +
сообщениеПользователю.сШаблоном("Операторы службы поддержки сейчас не работают, но Вы можете получить консультацию у нашего бота. Операторы смогут подключиться с {startHour}:00 по МСК.")+
завершитьСНовымЗапросом("{platformInMessageQuery}")
)+
//
// В базе знаний нет ответа, сценарий сообщает об отсутствии операторов службы поддержки, завершается и закрывает диалог
комментарий("Бот не понял. Операторы не работают")+
сообщениеПользователю.сШаблоном("Сейчас служба поддержки не работает. Просим писать нам с {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.")+
завершитьИЗакрытьДиалог() |
|
Меню наиболее частых запросов
...