Переменные в Botmother

Основные принципы работы с переменными можно узнать в нашем видеоуроке на YouTube, в ВК и на Rutube.

Основная информация о переменных в Botmother

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

Данные, которые мы записываем и читаем из переменной, называют значением переменной.

У каждой переменной есть имя, чтобы мы могли отличать одну переменную от другой.

Каждый из нас сталкивался с переменными в школе на уроках математики. Например, когда мы писали x = 2, мы работали с переменными. x — это имя переменной, а 2 — ее значение.

Переменные нужны везде. Если вы делаете анкету, магазин, справочную или бота поддержки, так или иначе вам понадобятся переменные.

Переменные в Ботмаме состоят из трех важных частей:

  1. Имя — строка с удобным именем.
  2. Тип — показывает Ботмаме, что за переменная перед нами: строка, число или что-то другое.
  3. Значение — то, что записано в переменную. Должно соответствовать выбранному типу.

Для каждого пользователя есть основные переменные. Их мы видим в разделе Пользователи (в переменных конкретного пользователя), как только пользователь написал боту.

Файлы от пользователей (изображения, документы и т.д.) также попадают в переменные, хранятся 7 дней, затем исчезают без возможности восстановления. Если нужен доступ к принятым в бота файлам на срок больше чем 7 дней, то все файлы необходимо сохранить на своем устройстве.

Переменные отображаются как "Переменная": "Значение переменной"

{
"this_user": {
"platform_id": "ID пользователя в платформе",
"platform": "Платформа",
"firstname": "Имя пользователя",
"lastname": "Фамилия пользователя",
"full_name": "Полное имя пользователя",
"username": "Имя пользователя в платформе",
"language": "Язык интерфейса",
"country": "Страна в настройках устройства",
"bm_id": "Уникальный ID пользователя внутри бота",
"phone": "Номер телефона пользователя, только на платформе WhatsApp" 
},
"last_input": "Последний ввод пользователя — то, что отправил пользователь боту"
}

Некоторые переменные принимают значение null — это значит, что в данной платформе нет соответствующих сведений. Так, например, часто бывает в Telegram и Viber, где указание фамилии не является обязательным.

Также основной переменной является last_request, которая появляется после запроса на сервер и содержит ответ на запрос.

Вывод информации из переменных

Основные переменные пользователя находятся в объекте this_user и вывести их значения в тексте можно в таком виде:

ID пользователя внутри платформы: {{this_user.platform_id}}
Платформа: {{this_user.platform}}
Имя: {{this_user.firstname}}
Имя и фамилия: {{this_user.full_name}}
Юзернейм: {{this_user.username}}
Язык пользователя: {{this_user.language}}
bm_id: {{this_user.bm_id}}

WhatsApp передает номер телефона пользователя. Получить его можно так:

{{this_user.phone}}

При работе во всех остальных платформах номер телефона пользователя нужно запрашивать дополнительно, автоматически он не передаётся.

По такому же принципу, через точку, можно выводить остальные многоуровневые переменные. Как это сделать, описано здесь.

Переменные в this_user передаются автоматически, поменять их нельзя, так как они будут перезаписываться платформами при каждом новом действии пользователя.

В начало ↑