Links
Comment on page

Переменные

Инструкция для новичков
Переменная — это набор определенных символов, для получения нужной нам информации: имени, телефона, id, суммы оплаты, ссылки на пост и других значений.
Переменная состоит из пути к этому значению.
Путь к значению = Результат значения
Пример стандартной переменной:
{var:users.user.first_name} = Кирилл
Пример временной переменной:
{var:name} = Кирилл
Что такое "путь значения" на простом примере
Например, путь к файлу на вашем компьютере может выглядеть так:
C:\Users\Kirill\Music
Если бы мы хотели получить содержимое папки music через переменные, то это выглядело бы так:
Переменная: {var:Users.Kirill.Music} Где результат: Vetrom_stat'.mp3, Otpuskayu.mp3, ...
Получить первую песню: Переменная: {var:Users.Kirill.Music[0]} Результат: Vetrom_stat'.mp3 Где [0] — это перва строчка/пункт/файл/значение.
Получить конкретную песню: Переменная: {var:Users.Kirill.Music.Otpuskayu} Результат: Otpuskayu.mp3
Получить текст песни: Переменная: {var:Users.Kirill.Music.Otpuskayu.text} Результат: Я не могу дышать...
Получить автора песни: Переменная: {var:Users.Kirill.Music.Otpuskayu.author} Результат: МакSим
Это лишь примеры для понимания. Ниже рассмотрим более конкретные примеры.
P.S. Я не слушаю Максим, просто подобрал популярного исполнителя)
После того, как мы получили значение переменной, мы можем делать с ним что угодно: подставлять в текст, отправлять себе, проводить математические операции, проверять условия этих значений и многое другое.
Есть три типа переменных:
  • Стандартные переменные
  • Временные переменные
  • Глобальные переменные

Стандартные переменные

— это значения, которые мы получаем из событий и действий, которые произошли с пользователем или платформой (ВК, Telegram, Prodamus и т.д.)
Например, человек написал сообщение. И мы можем получить значения этого события:
  • Имя пользователя
  • Айди пользователя
  • Тип платформы (ВК, ТГ...)
  • Айди платформы
  • Текст сообщения
  • и т.д.
Соответственно, получить эти значения мы можем только в момент активации каких-то событий.

Временные переменные

— это переменные, которые вы придумываете сами и сохраняете туда любые значения внутри блок-схем.
Эти переменные называются временными, потому что они существуют до тех пор, пока пользователь не выйдет из ветки в блок-схеме.
Что такое "ветка" в блок-схеме
Ветка — это цепочка соединенных между собой блоков с помощью стрелок. Их может быть много.
Ветка всегда начинается с блока события.
Выйти из ветки — означает, что пользователь попал в последний блок и вышел из него (завершилось выполнение последнего блока).
Это значит, что в конце ветки:
  • не стоит блок событий, который ожидает от пользователя каких-то действий
  • не стоит блок сообщения с кнопками, которое ждет нажатия на кнопку, либо они (кнопки) должны отработать (нажаты)
  • не стоит таймер или он должен закончиться
Пока пользователь полностью не выйдет из этих блоков, будет считаться, что он находится в схеме, в соответствующей ветке.
Они делятся на текстовые и числовые. Текстовые поддерживают любые символы и числа. А в числовые могут быть сохранены только числа.
Например, нам нужно получить от пользователя данные о ребенке, чтобы переслать их менеджеру.
Мы создаем текстовую переменную child_name и сохраняем туда имя ребенка.
Затем создаем числовую переменную child_age и сохраняем туда возраст ребенка.
А в текст для менеджера подставляем переменную:
Имя ребенка: {var:child_name}
Возраст ребенка: {var:child_age}
Как создавать временные переменные читайте в соседнем разделе.
Временные переменные идеально подходят, когда нужно сделать что-то здесь и сейчас. Например, сохранить данные пользователя и передать администратору. Либо посчитать количество баллов за тест и выдать результат.
Т.е. данные, которые мы обрабатываем и выдаем сразу, а не сохраняем для хранения.
Для хранения данных лучше использовать: поля пользователей или элементы геймификации.
Также мы можем брать стандартные переменные и сохранять их во временные, чтобы временно запомнить их и совершить с ними какие-то операции в рамках текущей ветки. Но это уже более продвинутые настройки.

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

Глобальные переменные - это переменные проекта, содержимое которых доступно всем пользователям и не удаляется само по себе.
Глобальные переменные создаются в отдельном разделе.
В отличие от временных переменных, содержимое глобальных не привязано к пользователям, а привязано к проекту.
Например, вы можете создать глобальную переменную и указать, что в ней лежит 10 подарков. Они не принадлежат никому из пользователей, только проекту. Если кто-то из пользователей выиграет один подарок, то их станет 9.
Будете ли вы во временные переменные или поля пользователей сохранять этот подарок или нет - это уже другой вопрос.
Это лишь простой пример.
Вариантов работы с глобальными переменными огромное количество.
В глобальной переменной есть три ячейки для хранения данных разных типов:
  • Текст
  • Число
  • JSON-объект
Соответственно в текст можно добавить текст, числа и другие символы. В число только число. А в json можете добавить любой объем разных типов информации.

Правила оформления переменных

Переменная обрамляется фигурными скобками и функцией с двоеточием перед названием. Например: {var:name}
В названиях переменных поддерживаются:
  • Латинские буквы нижнего регистра
  • Цифры
  • Символ нижнего подчеркивания: _
Примеры написания переменных:
  • Корректный {var:var_number_1}
  • Некорректный: {var:Перем. № 1!}
Также поддерживается встраивание переменных внутрь других переменных:
{var:{var:zakaz}.value} {global:{var:zakaz}.value}
Важно!
  • Если переменная не найдена, то результат вернет undefined
  • Если между открывающей скобкой и названием переменной есть пробел или другие символы - переменная не выдаст результат а будет считаться обычным текстом с набором символов.