# Пользовательские переменные

> Перед прочтением мы рекомендуем ознакомиться со статьями [Переменные](https://docs.smartbot-vk.ru/sozdanie-scenariev/peremennye) и [Специальные переменные](https://docs.smartbot-vk.ru/sozdanie-scenariev/peremennye/specialnye-peremennye)

## Создание переменной

Создать переменную можно в разделе **"переменные"** или в шаге **"установить переменную"**.

Перейдите в раздел "переменные" и нажмите кнопку **"добавить переменную":**

![](https://463658383-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M0DL-As7pQfMiFtgM0k%2F-M0iNie2cvevx_6XZfuJ%2F-M0iOjRiPnEe5jAmDTau%2F%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA%20%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D0%B0%202020-02-22%20%D0%B2%2022.36.10.png?alt=media\&token=d813b651-e7c5-468c-8b8e-b36217baa6dc)

Откроется окошко создания переменной. Вам необходимо указать **ключ переменной**, ее **тип**, **начальное значение** и **формат** (локальная или глобальная)

![](https://463658383-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M0DL-As7pQfMiFtgM0k%2F-M0iNie2cvevx_6XZfuJ%2F-M0iPYlL64gSZG_voZ8i%2Fimage.png?alt=media\&token=3c6d074e-87dd-4650-8be7-74bc1b27c6dc)

На картинке выше мы создали переменную **%баллы%**, которая является числом, начальное значение равно 0 и она не может быть меньше 0 (минимальное значение 0).

Такую переменную можно использовать, например, для накопления баллов участниками группы за разные действия (ответы на комментарии, прохождение квестов в ЛС с ботом и тд) :wink:&#x20;

## Локальные переменные

{% hint style="info" %}
**Локальные переменные** хранят свое значение для конкретного пользователя и меняются для него. Одна и та же локальная переменная может иметь разные значения у разных пользователей.
{% endhint %}

В примере выше мы создали переменную %баллы% и сделали ее локальной. Это значит, что ее значение зависит от пользователя, который общается с ботом. Например:

![](https://463658383-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M0DL-As7pQfMiFtgM0k%2F-M0iNie2cvevx_6XZfuJ%2F-M0iQuD4xxHuIraOBNM5%2F%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA%20%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D0%B0%202020-02-22%20%D0%B2%2022.43.18.png?alt=media\&token=6d4d8498-5119-43b6-ba1d-c4bf06fbb1de)

![Пример использования локальной переменной](https://463658383-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M0DL-As7pQfMiFtgM0k%2F-M0iNie2cvevx_6XZfuJ%2F-M0iR0NpQJRH4icKWzOu%2Fimage.png?alt=media\&token=080849a2-4fb6-40e9-adda-8c571e1477ef)

У другого пользователя значение баллов может быть иным, в диалоге с ним бот заменит ключ %баллы% на количество баллов этого пользователя. Это удобно для сохранения информации о конкретном подписчике.

Изменять локальные переменные можно с помощью шага "установить переменную" или в разделе "пользователи".

## Глобальные переменные

{% hint style="info" %}
**Глобальные переменные** хранят одинаковое значение для всех пользователей
{% endhint %}

При изменении глобальной переменной ее значение изменится для всех пользователей.

Например, вы создали глобальную  переменную %количество\_заявок% и хотите сохранять в ней количество пользователей, которые оставили заявку на ваш товар. В таком случае в конце сценария-цепочки ([Цепочка диалога](https://docs.smartbot-vk.ru/sozdanie-scenariev/cepochka-dialoga)) по сбору заявок вы можете добавить шаг "установить переменную", который будет прибавлять единицу к переменной %количество\_заявок%. В таком случае нужно хранить именно общее количество заявок, то есть каждая новая заявка должна учитываться, а бот должен увеличивать одну и ту же переменную независимо от того, с каким пользователем он  ведет диалог. Для этого отлично подходит глобальная переменная.
