# Взаимодействие пользователей

С помощью [временных переменных](https://docs.smartbot-vk.ru/sozdanie-scenariev/peremennye/vremennye-peremennye), а также шагов [Извлечь данные](https://docs.smartbot-vk.ru/sozdanie-scenariev/shagi/izvlech-dannye) и [Сменить контекст](https://docs.smartbot-vk.ru/sozdanie-scenariev/shagi/smena-konteksta) можно организовать взаимодействие несколько пользователей в беседе.

В этой статье мы рассмотрим пример, как настроить цепочку для передачи баланса между двумя пользователями.

## Создаём переменные

Для начала, если у вас ещё нет переменной баланса, создайте её:

![](https://463658383-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M0DL-As7pQfMiFtgM0k%2F-M7DsVkYvppczo-z3YsT%2F-M7DtFJKSaWOebESynWq%2Fimage.png?alt=media\&token=d85095ba-f1d5-4b8d-8bb9-30910064a192)

Обратите внимание на тип переменной: Число. Кроме того, это обязательно должна быть локальная (то есть пользовательская) переменная.

Все остальные переменные будут [временными](https://docs.smartbot-vk.ru/sozdanie-scenariev/peremennye/vremennye-peremennye): их не нужно создавать в разделе «Переменные». Они существуют только с момента выполнения шага, который их создаёт, до завершения обработки текущего сообщения.

## Создаём цепочку

![](https://463658383-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M0DL-As7pQfMiFtgM0k%2F-M7DsVkYvppczo-z3YsT%2F-M7DtqPjxbFi7oe6xIKo%2Fimage.png?alt=media\&token=105a92e2-b870-4c52-911d-68000339c920)

Создадим пару временных переменных для того, чтобы сохранить id страницы и имя человека, который выполняет передачу.

![](https://463658383-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M0DL-As7pQfMiFtgM0k%2F-M7Du_nuXZvbopf9esBc%2F-M7Dx1MOi4-ax4hC-1Vm%2Fimage.png?alt=media\&token=65298be8-779f-4904-a089-9f4f8ea268bd)

{% hint style="info" %}
Для того, чтобы создать временную переменную, просто начните вводить её желаемое имя, затем нажмите «Временная переменная».

![](https://463658383-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M0DL-As7pQfMiFtgM0k%2F-M7DsVkYvppczo-z3YsT%2F-M7DuEbx21NNiXosa97y%2Fimage.png?alt=media\&token=72bf2a23-16d2-4685-be16-81ed51881bc5)
{% endhint %}

Теперь добавим шаг «Извлечь данные».

Нам нужно получить id человека, которому будет передаваться сумма, а также сама сумма. Опять воспользуемся временными переменными, чтобы не засорять общий список переменных.

![](https://463658383-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M0DL-As7pQfMiFtgM0k%2F-M7Du_nuXZvbopf9esBc%2F-M7DxKLeifR-aWDF1yMk%2Fimage.png?alt=media\&token=deee45b7-6b21-4413-bb62-485a457d1f32)

Также поставим галочку, которая позволит нам корректно обработать ситуацию, когда команда была введена неверно:

![](https://463658383-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M0DL-As7pQfMiFtgM0k%2F-M7Du_nuXZvbopf9esBc%2F-M7Dy5wWRAv1jKpfL7ba%2Fimage.png?alt=media\&token=2d2fb8cf-2af2-474e-86b8-79b2f769895e)

Сохраним текущий блок и цепочку. Затем нажмём «Редактировать блок». С ним всё просто:

![](https://463658383-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M0DL-As7pQfMiFtgM0k%2F-M7Du_nuXZvbopf9esBc%2F-M7DyJIyhy-pPNZFG6mD%2Fimage.png?alt=media\&token=5002d881-305a-46e5-8c60-04996ae6f583)

Сохраним этот блок. Вернёмся к нашей цепочке «Передать».

Мы получили все необходимые нам данные. Теперь добавим новую группу шагов, в которой проверим, а хватает ли передающему средств на балансе.

![](https://463658383-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M0DL-As7pQfMiFtgM0k%2F-M7Du_nuXZvbopf9esBc%2F-M7DylXoVPEBejyVOV_Y%2Fimage.png?alt=media\&token=51f8b0cc-644a-4003-a2dc-49f7e34c1b28)

Теперь, когда мы собрали все данные и убедились в их достоверности, осталось сделать самое главное — выполнить перевод.

Создаём новую группу шагов (третью по счёту) и добавляем шаг «Установить переменную». В нём мы спишем с баланса передающего указанную им сумму:

![](https://463658383-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M0DL-As7pQfMiFtgM0k%2F-M7Du_nuXZvbopf9esBc%2F-M7DzUTdpsad1KZqgjA9%2Fimage.png?alt=media\&token=5c5af3ef-ca3c-4bb5-8ec1-ea9483bde9c0)

Затем переключимся на принимающую сторону:

![](https://463658383-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M0DL-As7pQfMiFtgM0k%2F-M7Du_nuXZvbopf9esBc%2F-M7DzdralS3rx-pFcNk3%2Fimage.png?alt=media\&token=90e0cc68-4e05-47dd-a667-3eff7fc50674)

Теперь, после смены контекста, все локальные и специальные переменные относятся уже к другому человеку.

Прибавим ему баланс и оповестим об успешном переводе:

![](https://463658383-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M0DL-As7pQfMiFtgM0k%2F-M7Du_nuXZvbopf9esBc%2F-M7DzqzqH5vLcR_qExAJ%2Fimage.png?alt=media\&token=d4a31c46-b715-41cd-87e1-f236b037b3a7)

## Тестируем

Запомним текущее значение переменных в разделе «Пользователи»:

![](https://463658383-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M0DL-As7pQfMiFtgM0k%2F-M7Du_nuXZvbopf9esBc%2F-M7E-6zP2tdzW0Zuuz0v%2Fimage.png?alt=media\&token=a1cbb5fa-8834-4082-9974-9d658df319c0)

Перейдём в беседу и напишем команду. Важно, чтобы принимающий перевод человек был указан именно как упоминание (введите @ и выберите пользователя, остальное ВК сделает за вас сам).

![](https://463658383-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M0DL-As7pQfMiFtgM0k%2F-M7Du_nuXZvbopf9esBc%2F-M7E07bNOsoVg4UfDrg_%2Fimage.png?alt=media\&token=f7ffd0dc-39f5-4805-b753-036310ebb0f9)

![](https://463658383-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M0DL-As7pQfMiFtgM0k%2F-M7Du_nuXZvbopf9esBc%2F-M7E0GIUahojOVTcSWfV%2Fimage.png?alt=media\&token=db9ba5ac-7731-48c7-ae38-fd73652f6984)

Проверим результат:

![](https://463658383-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M0DL-As7pQfMiFtgM0k%2F-M7Du_nuXZvbopf9esBc%2F-M7E0NV0331yG8P8rEi_%2Fimage.png?alt=media\&token=6f7fd9e3-e020-4f75-98f0-af65c6b597d3)

Всё верно.

В случае если на балансе будет недостаточно средств или  человек ошибётся в синтаксисе команды, бот сообщит об этом и не будет выполнять перевод:

![](https://463658383-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M0DL-As7pQfMiFtgM0k%2F-M7Du_nuXZvbopf9esBc%2F-M7E14LtKgWwIRN_qTS3%2Fimage.png?alt=media\&token=34835aab-d62b-48f9-8e5e-ebb9b03aa5a3)
