Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Table of Contents

Обновлена страница документа

Обновлена страница документа базы знаний.

...

В следующих релизах будет обновлена страница базы знаний со списком документов и рекомендациями новых документов и вопросов.

Обновления в языке описания сценариев

Обновлен шаг если для описания условий

Для описании действий, которые зависят от условий, добавлены:

  • возможность описывать вложенные условия с произвольной глубиной вложенности;

  • возможность описать действия, которые будут выполнятся если условие не будет соблюдено через модификатор .иначе()

...

Обновлена JS машина

Виртуальная JS машина обновлена с версии nashrom до версии graalVM 22.2.0. Теперь в шаге выполнитьJs() доступны все возможности JS по ECMASript 2016+

Полное описание новых возможностей доступно по ссылке https://kangax.github.io/compat-table/es2016plus/#graalvm22_2

Новый шаг для работы асинхронных API вызовов

Добавлены шаги сценария для выставления вебхуков. Теперь сценарий AutoFAQ может получать b обрабатывать POST вызовы от других сервисов. Адрес выставляемого вебхука включает в себя идентификатор сервиса и идентификатор диалога в рамках которого работает сценарий. В числе новых шагов:

...

Вебхук выставляется на указанное время. После получения вызова или истечения указанного времени сценарий продолжит свою работу. Тело полученного запроса будет сохранено в указанной переменной для дальнейшей обработки.

Добавили использование переменных при переходах на метки

Теперь в шаге перейтиНаМетку вместо имени метки можно использовать переменную.

Code Block
установитьПеременную("mark_name", "шаг_1")+
установитьМетку("шаг_1") +
...
если("{error} == 1").то(
  перейтиНаМетку("{mark_name}")
)+
завершить

Проверка синтаксиса сценария

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

...

Info

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

Обновление настройки переключения на оператора

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

...

Дробление длинных реплик - начали в ВК

AF-3377

Переменные сервиса

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

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

...

...

Чтобы создать новую переменную сервиса, нужно нажать кнопку “Добавить”. Откроется модальное окно:

...

При создании переменной необходимо указать:

  • наименование переменной - по этому названию из сценариев можно будет к ней обратиться;

  • значение переменной - первичное значение, которое может быть изменено в любом сценарии;

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

Редактирование переменной

Отредактировать значение переменной можно и через сценарий, и через интерфейс. В интерфейсе на странице со списком переменных нужно нажать на кнопку-иконку карандаша и откроется модальное окно:

...

Также можно через интерфейс удалить переменную сервиса, система попросить подтвердить действие.

Работа через язык описания сценариев AutoFAQ

Чтобы обратиться к переменной сервиса, нужно использовать команду получитьПеременнуюСервиса("имя_переменной_сервиса", "имя_переменной_куда_сохранять").

Чтобы изменить переменную сервиса, нужно использовать команду изменитьПеременнуюСервиса("имя_переменной_сервиса", "значение_или_имя_переменной_откуда_записать").

Пример использования:

Code Block
сообщениеПользователю.сШаблоном("Запущен сценарий про переменные сервиса.")+
получитьПеременнуюСервиса("shop_id", "temporary")+
сообщениеПользователю.сШаблоном("Сейчас номер магазина по умолчанию - {temporary}")+
задатьПользователюВопрос("Хотите поменять его?").сВариантамиОтвета("Да","Нет").сохранитьРезультат("user_said")+
если("{user_said} == Да").то(
    задатьПользователюВопрос("Введите новое значение").сохранитьРезультат("temporary")+
    изменитьПеременнуюСервиса("shop_id", "{temporary}")+
    получитьПеременнуюСервиса("shop_id", "temporary1")+
    сообщениеПользователю.сШаблоном("Значение изменено. Теперь номер магазина - {temporary1}")
)+
если("{user_said} == Нет").то(сообщениеПользователю.сШаблоном("Ок."))+
завершить

Результат выполнения такого сценария:

...

Более подробно описано в разделе Переменные сервиса

Разбиение больших сообщений на части

Ряд каналов (Телеграм, ВКонтакте) не позволяет передавать пользователю сообщения длинной более определенного числа символов. Теперь AutoFAQ будет автоматически разбивать такие сообщения на части в соответствии с лимитом каждого провайдера. Большое реплика бота или оператора будет отправлена несколькими сообщениями.

Info

Данная функция пока включена только для переписки через сеть Вконтакте. Для прочих каналов она будет подключена в следующих релизах.

Исправленные ошибки и доработки

AF-3639 Устранена проблема, из-за которой в канале ВК "Комментарии" могли не приходить уведомления об ответах, если комментарий был оставлен от имени другой группы или сообщества.

...