Взаимодействие пользователей
Смена контекста
Last updated
Was this helpful?
Смена контекста
Last updated
Was this helpful?
С помощью временных переменных, а также шагов Извлечь данные и Сменить контекст можно организовать взаимодействие несколько пользователей в беседе.
В этой статье мы рассмотрим пример, как настроить цепочку для передачи баланса между двумя пользователями.
Для начала, если у вас ещё нет переменной баланса, создайте её:
Обратите внимание на тип переменной: Число. Кроме того, это обязательно должна быть локальная (то есть пользовательская) переменная.
Все остальные переменные будут временными: их не нужно создавать в разделе «Переменные». Они существуют только с момента выполнения шага, который их создаёт, до завершения обработки текущего сообщения.
Создадим пару временных переменных для того, чтобы сохранить id страницы и имя человека, который выполняет передачу.
Теперь добавим шаг «Извлечь данные».
Нам нужно получить id человека, которому будет передаваться сумма, а также сама сумма. Опять воспользуемся временными переменными, чтобы не засорять общий список переменных.
Также поставим галочку, которая позволит нам корректно обработать ситуацию, когда команда была введена неверно:
Сохраним текущий блок и цепочку. Затем нажмём «Редактировать блок». С ним всё просто:
Сохраним этот блок. Вернёмся к нашей цепочке «Передать».
Мы получили все необходимые нам данные. Теперь добавим новую группу шагов, в которой проверим, а хватает ли передающему средств на балансе.
Теперь, когда мы собрали все данные и убедились в их достоверности, осталось сделать самое главное — выполнить перевод.
Создаём новую группу шагов (третью по счёту) и добавляем шаг «Установить переменную». В нём мы спишем с баланса передающего указанную им сумму:
Затем переключимся на принимающую сторону:
Теперь, после смены контекста, все локальные и специальные переменные относятся уже к другому человеку.
Прибавим ему баланс и оповестим об успешном переводе:
Запомним текущее значение переменных в разделе «Пользователи»:
Перейдём в беседу и напишем команду. Важно, чтобы принимающий перевод человек был указан именно как упоминание (введите @ и выберите пользователя, остальное ВК сделает за вас сам).
Проверим результат:
Всё верно.
В случае если на балансе будет недостаточно средств или человек ошибётся в синтаксисе команды, бот сообщит об этом и не будет выполнять перевод: