Skip to main content

Что такое Action (Экшен)

Конструктор @MenuBuilderBot позволяет настроить любую кнопку в вашем боте на выполнение практически неограниченного количества действий при её нажатии пользователем.

Функционал Action-ов обширен и гибок в своем применении - поэтому описание всех нюансов работы с ним - это огромный и довольно нудный документ, с которым, тем не менее, необходимо ознакомиться.

Если это первый раз когда вы знакомитесь с этим документом - просто прочтите его ВЕСЬ ЦЕЛИКОМ.

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


Что такое Action


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

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

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


Приобретение Action-ов


Action-ы приобретаются на Бот по одному или пакетами. Приобретая Action-ы вы, в некотором смысле, приобретаете "Слоты" под них. Приобретенное количество является максимумом для данного бота - это значит что Action-ы можно добавлять и удалять сколько угодно раз, при условии что их общее созданное количество в боте не превышает то количество которое было приобретено.

Action-ы (Экшены).
Для подключения перейдите в свой бот:
☞ 🔐Админ | 🧩Расширения | 📂Action-ы


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

Продаются они поштучно и пакетами по 25 и 100 единиц на бот. Для создания содержательной системы понадобятся десятки Action-ов, поэтому стоимость Action-ов в пакетах радикально ниже стоимости одиночных Action-ов.

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

После приобретения, вне зависимости от количества, вам будет доступно 50000 срабатываний Action-ов на бот в месяц (50k Токенов Функций). Оставшееся количество на месяц указано при входе в Админке вашего бота. Дата месяца в которую происходит обновление пакета Токенов Функций, индивидуальна для каждого аккаунта и также указана при входе в Админку.

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

Если 50k ТОкенов Функций (срабатываний) в месяц вам будет недостаточно, вы можете приобрести дополнительные пакет(ы) «Токенов Функций». Один пакет — 100k срабатываний.

Токен Функций.
Для приобретения перейдите в вашем боте:
☞ 🔐Админ | 🧩Расширения | 📂Action-ы

ПОТРЕБЛЕНИЕ ТОКЕНОВ:
● В общем случае 1 Action потребляет 1 Токен Функций.
Исключения:
● Action Текстов - потребляет 3 токена.
● Action Инициализации - потребляет 0.3 токена - если переменная уже инициализирована.
● Любой экшен с заданным Условием. Если условие не удовлетворяется и экшен дальше не работает - потребляет 0.3 токена. Если условие удовлетворяется и экшен сработал - то 1 токен как обычно.


Концепция Action-ов


Чтобы лучше представить концепцию Action-ов вспомните, возможно знакомые вам кнопки «Бонус» и «Фикс. Обмен».

Условно можно сказать что кнопка «Обмен» состоит из двух Action-ов:
1. Списание суммы с одной переменной.
2. Начисление суммы на другую переменную.
Всего 2 действия — 2 Action-а.

В кнопке «Бонус», например, всего 1 Action – начисление (хотя у нее еще есть и дополнительная функция периода срабатывания).

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


Нюансы работы Action-ов


Плагины

Одной из наиболее частых причин появления системных ошибок при работе с Action-ами является отсутствие основных плагинов. Если вы получили ошибку о неправильной работе Action-а - ПРЕЖДЕ ВСЕГО проверьте подключены ли основные плагины.

Для лучшего понимания механики работы Action-ов обратите внимание на следующие моменты:
Если вы хотите иметь возможность в Action-ах использовать
• «Макросы» и «Выражения»
• «Условия»
• А также чтобы Action мог работать c Глобальными Переменными
будет необходимо подключить соответствующие плагины.

Макросы и Выражения Кнопок.
Условия.
Бонус в Глобальной Переменной.

Для подключения перейдите в вашем боте:
☞ 🔐Админ | 🧩Расширения | 📂Кнопки

Это общие Плагины и потому они действуют на весь бот: на кнопки Бонус и Обмен, Action-ы, Рассылку и прочее.


Особенности работы

1. Action-ы выполняются по порядку от верхнего с номером 1 до нижнего.

2. При возникновении какой-либо ошибки, выполнение цепочки Action-ов прерывается. Сработать например могут первые два Action-а, а третий даст ошибку — дальнейшее выполнение будет прервано, а изменения внесенные первыми Action-ами останутся "как есть". Если работа каких-то Action-ов является критичной - проверяйте возможность (и необходимость) срабатывания Условиями на самом Action-е, отдельными «Action-ами Условий» или Условием на самой кнопке содержащей такие Action-ы.

3. Action-ы МОГУТ быть использованы в кнопке к которой уже добавлен «Бонус», «Фикс. Обмен 1» или «Курс. Обмен 2» - при этом сначала сработает Бонус или Обмены, а потом Action-ы.

4. Для кнопок «Бонус», «Фикс. Обмен 1» или «Курс. Обмен 2» при добавлении них Action-ов — «Сообщение об Успехе» и «Сообщение о Неудаче» будут общими.

5. На кнопку с Action-ами, как и на любую другую кнопку, может быть добавлено своё условие.

6. Каждому Action-у может быть добавлено своё сообщение об "Успехе" операции и о “Неудаче”.

7. При добавлении Action-ов в кнопку всему их набору могут быть добавлены Общее «Сообщение об Успехе» и Общее «Сообщение о Неудаче» помимо тех что можно добавить индивидуально каждому из Action-ов. Эти сообщения будут показаны вне зависимости от показа индивидуальных сообщений каждого Action-а. Данные сообщения действуют на ВЕСЬ БЛОК ACTION-ов. Т.е. если ВСЕ выполнились - будет сообщение об успехе. Если что-то пошло не так хоть в одном - сообщение об ошибке. Реально "что-то не так" может пойти только если проблемы с «Выражениями» или числовые переменные «пошли в минус».

8. Если в кнопке несколько Action-ов имеют сообщения — все они будут показаны при нажатии (плюс Общие Сообщения).

9. Если в кнопке добавлены ВСЕ возможные функции и расширения то они будут работать в такой последовательности:
0. Команда активации самой кнопки.
1. Условия.
2. Бонусы и Обмены - основной функционал.
3. Pre-Action-ы.
4. Формы и сообщения самой кнопки - содержимое кнопки.
5. Post-Action-ы.

10. Каждому Action-у может быть добавлен комментарий.

11. Если в кнопке содержатся Action-ы, то при выборе такой кнопки в режиме «Редактора Кнопок» - появится инлайн кнопка на их редактирование:


acfdfb99075200d0349a8.jpg



Типы Action-ов (по времени исполнения)


Первоначально все Action-ы выполнялись после основного функционала кнопки (Бонусы, Обмены и т.д.) и ДО показа её содержимого, такого как сообщения, формы и прочее - «Pre_Action». По этой причине показ сообщений кнопки являлся пределом за которым никакого функционала существовать уже не могло, однако с развитием возможностей самого конструктора появилась необходимость выполнения отдельных действий уже и ПОСЛЕ показа содержимого кнопки (сообщений и форм) - «Post_Action».

Например начисления бонусов после "броска" кубика (стикер в Телеграм) при создании игр с использованием форм.

Таким образом, на сегодняшний день, Action-ны делятся на 2 Типа по времени исполнения:


Pre-Action

Pre-Action - исполняестя ДО показа содержимого кнопки, но ПОСЛЕ основного функционала (Бонусы, Обмены и т.д.).


Post-Action

Post-Action - исполняется ПОСЛЕ показа содержимого кнопки (Сообщения, Формы).


Виды Action-ов


На момент написания данного руководства в системе присутствует уже шесть видов Action-ов.

1. ⚫ Action Чисел

2. 🔴 Action Условий

3. 🔵 Action Рефералов

4. 🟤 Action Инициализации

5. 🟢 Action Команд

6. 🟣 Action Транзакций

7. ⚪ Action Сообщений

8. 🟡 Action Текстов

9. 🟠 Action Очистки


Подробнее о каждом Типе Action-а читайте в отдельном руководстве (на следующей странице):
«Типы Action-ов в @MenuBuilderBot» или по ссылке...


Добавление Action-а

Для добавления Action-а:
• Перейдите в вашем боте:
☞ Редактор Кнопок.
• Выберите кнопку, нажав ее.
• Нажмите инлайн кнопку со звездочкой ( * ) в сообщении с данными кнопки для попадания в её Настройки.
• Нажмите «Назначить Pre-Action» или «Назначить Post-Action», чтобы попасть в меню Action-ов (о Типах Action-ов).


IMG_20210714_110200.jpg


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

Обратите внимание что информационное сообщение содержит ссылку на "Материалы Помощи".


IMG_20211008_111601.jpg



Элементы управления Action-ами



IMG_20210714_101627.jpg


Основные элементы управления

Созданные Action-ы, в режиме редактирования, представлены сообщениями в чате с ботом. Под каждым сообщением с данными Action-а присутствуют инлайн кнопки которые позволяют вам управлять уже созданными Action-ами.

Заменить

«Заменить» - позволит вам изменить данные уже существующего Action-а.

Удалить

«Удалить» - удалит Action.

Стрелки вверх и вниз

Стрелки «Вверх» и «Вниз» - позволяют перемещать Action-ы изменяя порядок выполнения их в цепочке при нажатии кнопки.


Дополнительные элементы управления

Копировать

«Копировать» - копирует в буфер созданный вами Action и позволяет вставить копию в эту же цепочку или добавить в цепочку любой другой кнопки. То есть Action-ы можно копировать между кнопками.

Выключить

«Выключить» (Выкл) - можно остановить выполнение отдельного Action-а. Данная функция предназначена для поиска ошибок при создании сложных последовательностей действий, путем исключения из обработки отдельных элементов. Это позволяет не удалять Action ради одного теста.


IMG_20210714_102133.jpg


IMG_20210714_102243.jpg


Комментарий

«Коммент» - позволяет добавить комментарий каждому экшену. Бывает полезно оставить себе "напоминание" для особо сложных Action-ов или при большом их количестве.


IMG_20210714_095937.jpg



Предпросмотр сообщений Action-ов при их создании.

Для того что бы текст сообщений присвоенных Action-ам выводился в настройках Action-ов используйте команду с параметрами:
/actionmessage
Параметром служит любое целое число от 0 до 200.
Параметр определяет количество символов которое будет показано в предпросмотре.
При параметре равном 0 (ноль)(значение по умолчанию), вместо сообщения будет выводиться галка, как раньше.

Например:
/actionmessage 0
Установка по умолчанию

Покажет 30 первых букв присвоенных сообщений.

Настройка применима к сообщениям о несрабатывании условий или об успешном срабатывании самого Action-а.


Дополнительная Информация


Где приобретать плагины для Action-ов?

Поскольку Action-ы являются частью функционала кнопок, плагины расширяющие их функционал:
● «Макросы»
● «Выражения»
● «Условия»
● Работа с Глобальными Переменными
являются общими с плагинами кнопок Бонус и Обмен и потому приобретаются там же.

Макросы и Выражения Кнопок.
Условия.
Бонус в Глобальной Переменной.

Для подключения перейдите в вашем боте:
☞ 🔐Админ | 🧩Расширения | 📂Кнопки

Если вы уже приобретали какие либо из плагинов для Бонусных кнопок или Кнопок Обмена в этом боте, то покупать их больше не нужно - это общие для всех плагины.

• • •

Использование выражений в Action-ах.

Более того, работа с выражениями является ключевой особенностью Action-ов, поэтому четкое понимание механик работы с ними поднимет ваш проект на совершенно иной уровень (Руководство по выражениям).

• • •

Использование переменных Времени в выражениях Action-ов.

Позволит вам отмечать определенные даты сохраняя их в переменных, отмерять отрезки времени, показывать юзеру время оставшееся до события (оставшееся время подписок, походы «в лес» в играх и прочее), вычислять другие данные (размеры инвестов в зависимости от прошедшего времени например) - Руководство по Переменным Времени.