Переменные

Инструкция для новичков

Переменная — это набор определенных символов, для получения нужной нам информации: имени, телефона, 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

  • Если между открывающей скобкой и названием переменной есть пробел или другие символы - переменная не выдаст результат а будет считаться обычным текстом с набором символов.


Last updated