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

- 1.Name*ー название слота, которое будет отображено в дереве сценария. Максимальная длина значения поля — 40 символов.
- 1.При сохранении Слота проверяется значение в поле:
- 1.если поле пустое, выводится ошибка Please enter a slot name
- 2.если в поле более 40 символов, выводится ошибка Name must contain no more than 40 characters
- 2.FIELDS*ー массив пар Key — Value.
- 1.Key* ー имя переменной, указанное в соответствии с требованиями к именам пользовательским контекстным переменным.
- 1.При сохранении Слота проверяется значение в поле:
- 1.если поле пустое, выводится ошибка Please enter a key
- 2.если имя переменной не соответствует требования к именам Пользовательских контекстных п еременных, выводится ошибка Invalid name
- 2.Value* ー значение, которое будет записано в переменную:
- 1.точное значение (число, строка, булева)
- 2.результат операции
- 3.значение другой переменной
- 4.При сохранении Слота проверяется значение в поле:
- 1.если поле пустое, выводится ошибка Please enter a value
- 5.Обрезка пробелов: по нажатию кнопки CREATE (при создании слота) или SAVE (при редактировании слота) обрезаются пробелы и переносы строк в начале и в конце поля Value.
Важно:
1.Обязательно должна быть минимум одна пара Key — Value 2.Максимальное количество пар Key — Value не ограничено 3.При указании KEY обрати те внимание на зависимость имени переменной от регистра (var и Varー разные переменные). Также, обратите внимание на Требования к названию пользовательской переменной.
В Слоте 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 нужное значение.