Создание и сохранение переменных контекста | Слот Memory

Назначение и общая информация

Слот Memory – слот, позволяющий записывать данные в Контекстные переменные чата, а также создавать новые Пользовательские контекстные переменные путем записи значения в несуществующую ранее переменную.

Изменять Системные контекстные переменные в слоте Memory запрещено, за исключением client_message.

Создание и настройки слота Memory

Атрибуты слота

  1. Name*ー название слота, которое будет отображено в дереве сценария. Максимальная длина значения поля — 40 символов.

    1. При сохранении Слота проверяется значение в поле:

  2. FIELDS*ー массив пар Key — Value.

    1. Key* ー имя переменной, указанное в соответствии с требованиями к именам пользовательским контекстным переменным.

      1. При сохранении Слота проверяется значение в поле:

    2. Value* ー значение, которое будет записано в переменную:

      1. точное значение (число, строка, булева)

      2. результат операции

      3. значение другой переменной

      4. При сохранении Слота проверяется значение в поле:

      5. Обрезка пробелов: по нажатию кнопки CREATE (при создании слота) или SAVE (при редактировании слота) обрезаются пробелы и переносы строк в начале и в конце поля Value.

Важно:

  1. Обязательно должна быть минимум одна пара Key — Value

  2. Максимальное количество пар Key — Value не ограничено

Использование синтаксиса в Слоте Memory

В Слоте Memory допустимо использование Выражений и Управляющих конструкций в поле Value.

Если результатом вычисления шаблона является значение, которое можно привести к типу отличному от строки (число, логический тип, список, и т.п.), то сохраняемая контекстная переменная будет иметь этот тип. Иначе контекстная переменная будет сохранена как строка. Например, результатом вычисления шаблона:

{% for i in range(1, 4) %}{{ i }}{% endfor %}

будет строка “123”, которую можно привести к целочисленному типу, и в целевую Контекстная переменная будет сохранено целое число 123.

Пример:

  • В контекстную переменную numbers будет сохранено целое число 199;

  • В контекстную переменную random – псевдо-случайное число от 0 до 10 включительно;

  • В контекстную переменную string – строка из контекстной переменной client_message;

  • В контекстную переменную flag – значение логического типа True;

  • В контекстную переменную numbers – список (массив) [1, 2, 3, 4, 5].

Работа слота

Для того, чтобы записать значение в контекстные переменные чата используя слот Memory необходимо указать в поле KEY название переменной, а в поле VALUE нужное значение.

Last updated