Переменные и как их использовать в @MenuBuilderBot

Переменные и как их использовать в @MenuBuilderBot

MegaHubTelegram

Данное руководство расскажет о том что такое переменные, какие принципы и механики заложенные в основу работы с ними, а также опишет все возможные способы работы с ними в @MenuBuilderBot.


📜 Перевод представленных материалов на ваш родной язык может быть автоматически осуществлен при помощи переводчика Google. Перейдите по ссылке и выберите нужный язык в заголовке:
https://translate.googleusercontent.com/translate_c?depth=1&sl=ru&tl=es&u=https://telegra.ph/Variables-and-How-to-Use-them-in-MenuBuilderBot-RU-09-01


⬛ Содержание

Переменные - что это такое

Управление переменными

Переменные в выражениях и условиях

Работа со значениями переменных

Пособие по работе с переменными



⬛ Переменные - что это такое?


Переменная - (в @MenuBuilderBot) это некий контейнер для хранения данных (текстовых или числовых).


ИНФОРМАЦИЯ: Если вы не знакомы с концепцией переменных в программировании, то узнать чуть больше о переменных можно в
"Терминах и Определениях"
.


Виды переменных

На сегодня в МБ есть 4 вида переменных:

Текстовая переменная - это контейнер для текста. Она может содержать как Буквы, Эмодзи, так и Цифры (как текст). Эта переменая может содержать индивидуальные данные юзера (например адрес его кошелька)

Цифровая переменная - может содержать только числа. Благодаря этому содержимым этой переменной можно манипулировать как обычным числом. (Принимая значение такая переменная проверяет - является ли значение цифровым). Баланс - является примером цифровой переменной.

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

Переменная (Даты) Времени - содержит данные о дате-времени записанные в определенном (текстовом) формате. Формат записи: "17.05.2020 19:45:05".


Чисто технически, Время в таком формате можно сохранять и в Текстовых Переменных, но полноценно работать с такими переменными у вас не получится. В Текстовой переменной Время можно только хранить, но не выполнять с ним каких-либо действий.


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

  • Данные в переменной могут изменяться: Только Админом, Админом и Юзером вместе, Кнопками по нажатию.

  • Каждая переменная имеет Имя для обращения к её данным.

  • Каждая переменная имеет макрос для вывода ее значения (юзеру или админу) основанный на ее имени.

  • Размер текстовой переменной 200 символов.


⬛ Управление переменными


Для управления переменными существует несколько способов.

1. Команды Админа

2. Ввод пользователем

3. Редактор Переменных

4. Кнопки и Action-ы


Использование Команд для работы с переменными.

К переменным подключен модуль ручного управления значениями, принимающий составные команды.


В общем случае, команда имеет такой вид:

➠ /[Command] [var_name] [user_id] [value]

Где:

/ (Slash, Слеш) - Любая команда начинается со знакака "/".

[Command] - Это сама команда

[var_name] - Имя переменной

[user_id] - ID или UserCode пользователя бота.

[value] или [delta] - Это значение которое нужно использовать

[] - Квадратные скобки тут для наглядности - в самой команде их использовать не нужно.


❗️ВАЖНО: Все аргументы составной команды, должны идти через ПРОБЕЛ (а не с новой строки).
❗️ВАЖНО: Команды работают без подтверждения и их действие необратимо.


Запросить значение переменной


Установить значение переменной


Добавить значение к переменной (чтобы вычесть - используйте отрицательное число).


Очистить переменную указанному юзеру.


Для цифровых переменных показывает общую сумму всех данных у юзеров бота.


Очистит данные этой переменной у ВСЕХ юзеров.


Пример команды:

   • Имя текстовой переменной - rank

   • ID (UserCode) юзера - 111222333

   • Данные переменной - "Редактор"


Команда /varset будет выглядеть так:


❗️ Каждый параметр в команде должен идти через ПРОБЕЛ, в ОДНУ СТРОКУ, а не с новой строки.


Пользователь задаёт значение.

Можно позволить юзеру самому задавать значение отдельной переменной. Другими словами: принимать данные от пользователя и сохранять их в переменной. Например для ввода адреса своего крипто-кошелька, адреса eMail или других личных данных.


Работает это как и Вопрос в QnA чат, только ответ юзера поступает сразу в переменную, а не админу (подробнее по ссылке).


Осуществляется через

☞ 📝 Редактор Постов - Добавить ввод Переменной


❗️ВАЖНО: Кнопка добавления появится только при наличии хотя бы одной переменной, кроме balance.


Изменение значения переменной при помощи Редактора.

Значение любой необходимой переменной можно менять при помощи редактора идентичного редактору Баланса. Данный редактор можно назначить любой кнопке в любом месте меню.


Чтобы "прицепить" редактор к кнопке зайдите в вашем боте:

☞ 🎛 Редактор Кнопок > Настройки кнопки (*️⃣)

«Назначить Редактор»

и укажите переменную, выбрав её из списка.


Редакторов для одной переменной может быть несколько.
Желательно переключить такую кнопку в режим "Только админ". Пользователей туда, конечно, и так не пустит, но и видеть им ее незачем.


Изменение значений при помощи Кнопок и Action-ов

В @MenuBuilderBot существует целый список узкоспециализированных кнопок для работы с переменными, а так же Action-ы представляющие собой наиболее гибкий инструмент создания функционала вашего бота, в некоторым смысле являющийся одним из видов визуального программирования.


Для подключения Кнопок перейдите в свой бот:

☞ 🔐Админ | 🧩Расширения | 📂Кнопки

Для покупки Action-ов перейдите в вашем боте:

☞ 🔐Админ | 🧩Расширения | 📂Action-ы


Кнопка Бонус

Кнопка Бонус - позволяет начислять юзерам бонус (указанное админом количество условных единиц) на выбранную переменную (например Баланс).

Особенностью данной кнопки является то что Админ может задавать Период для получения бонуса юзером. То есть ту частоту с которой Юзер может получать Бонус нажимая на кнопку. Переменная для начисления, Сумма и Частота (в часах - целыми или дробными числами) указывается админом при создании самой кнопки. Все параметры могут задаваться Макросами.

Кнопка Бонус может изменить ОДНУ переменную за одно одно нажатие.


Кнопка Фикс. Обмен 1 и Курс Обмен 2

Позволяют юзерам осуществлять обмен фиксированной суммы (или по курсу) в условных единицах внутри бота, переводя заранее заданную админом сумму с одной переменной на другую. Кнопка ОТНИМАЕТ заданную сумму от одной переменной и ДОБАВЛЯЕТ в другую - тем самым осуществляя обмен средств. Курс обмен использует указанный курс для вычислений. Все параметры могут задаваться Макросами.

Кнопка "Фикс. Обмен 1" изменяет ДВЕ переменные за одно одно нажатие.

Данная кнопка может использоваться и не по прямому значению. Например, не смотря на то что одно из чисел всегда отниматься, можно добавить два числа в разные переменные. Если отнять отрицательное число, то фактически оно будет прибавлено. На этом можно строить разные механики.


Кнопка Курс Обмен 2

Позволяют юзерам осуществлять обмен суммы по курсу в условных единицах внутри бота, переводя сумму с одной переменной на другую с учетом курса обмена указанного Админом. Кнопка ОТНИМАЕТ заданную сумму от одной переменной и после вычисления ДОБАВЛЯЕТ в другую - тем самым осуществляя обмен средств. Для вычислений используется указанный курс обмена который тоже может браться из переменной (курс обмена может обновляться автоматически и модифицироваться при помощи Выражений). Все параметры могут задаваться Макросами.

Кнопка "Курс Обмен 2" изменяет ДВЕ переменные за одно одно нажатие.


Action-ы и переменные

Action (Действие — англ.) в @MenuBuilderBot — это способ выполнить одно действие. Один Action – одно действие. Действия могут быть разными — изменить значение переменной, проверить условие и т.п. Action-ы в кнопках можно комбинировать создавая уникальные алгоритмы и последовательности действий, получая тем самым нужный функционал. Руководство по Action-ам объёмно, но оно того стоит.

Кнопка с Action-ам не имеет ограничений в применении и за одно нажатие может изменять столько переменных сколько нужно.


⬛ Переменные в выражениях и условиях

Значения переменных при помощи макросов можно использовать в вычислениях подставляя их в выражения, а так же в условиях кнопок и Action-ов. Подробные описания каждого из случаев по ссылкам в тексте. Выражения могут использоваться как в сообщениях бота, так и в функциях кнопок.


⬛ Работа со значениями переменных


Вывод значений юзеру.

Для того чтобы показать юзеру значение его переменной достаточно в нужном сообщении вставить макрос с именем переменной. Макрос это имя переменной окруженное знаками "%".

Например макрос %wallet%
Покажет значение переменной «wallet».

В тексте одной переменной можно использовать макросы других переменных.


Экспорт значений переменных.

Данные переменных можно экспортировать в .csv файл. Для экспорта нужно чтобы у юзера были рефералы, баланс либо ещё что-нибудь - бонусы например.


❗️ВАЖНО: Данные тех кто просто зашёл посмотреть и понажимать кнопки меню - экспортироваться не будут - потому что не сохраняются.


Для подключения перейдите в свой бот:

☞ 🔐Админ | 🧩Расширения | 📂Логи и Данные

Экспорт подключается на 1 бот.

Пример файла экспорта в нашем новостном канале:


Лог транзакций Баланса.

В целях повышения безопасности и устойчивости данных в системе начислений и для решения спорных вопросов по балансам переменных в боте, существует возможность логировать каждую транзакцию, в файл, последовательно записывая все транзакции для переменной balance в таблицу.


Подробности и условия подключения смотрите в своем боте:

☞ 🔐Админ | 🧩Расширения | 📂Логи и Данные

Логирование подключается на 1 бот.


Пример файла экспорта Лога в нашем новостном канале:


⬛ Пособие по работе с переменными


https://telegra.ph/Menu-Builder---All-Help-Materials-02-22

Report Page