Кнопка-переключатель
В этом пособии мы создадим кнопку, которая будет включать и выключать отдельные функции либо элементы меню в вашем проекте, если элементу присвоено соответствующее Условие.
Например админ нажатием кнопки сможет закрывать юзерам доступ в отдельные разделы меню, глобально разрешать или запрещать получение Бонуса, начислять дополнительный бонус или включать временную дополнительную комиссию в какой-либо функции, перемещать юзера в разные разделы меню. Количество способов использования переключателя безгранично. В любом месте где что-то может быть включено или выключено - для удобства включения и выключения - можно использовать такую Кнопку-переключатель.
Кнопка-переключатель может являться одним из элементов интерфейса админа либо частью некой игровой механики. Суть этой кнопки состоит в том что она изменяет состояние переменной, устанавливая ей определённые значения по кольцу (само же значение этой переменной являтся частью Условия на кнопке или в функции - определяя доступность или недоступность, включённость или выключенность этого элемента).
Представим, что какой-то элемент меню закрыт при помощи Условия в Глобальной переменной - элемент доступен, если значение переменной равно 1 (единице), и недоступен, если 0 (нулю) - таким образом, изменяя значение этой переменной можно открывать и закрывать доступ к элементу. Например, админ вручную включает и выключает какую-либо временную функцию, приуроченную к отдельному событию в вашем проекте, либо временно активирует для использования бонусную кнопку. Так вот, Кнопка-переключатель может создаваться для удобства админа в специальном разделе вроде "Панели Админа". Естественно, значение переменной можно изменить и в ручную через Админку, однако, во-первых, не у всех админов в вашем проекте может быть доступ к админке, а во-вторых, при ручном изменении возможны ошибки из-за человеческого фактора.
❖ Приобретение функционала
Весь функционал приобретается В ВАШЕМ БОТЕ, для этого перейдите в свой бот:☞ 🔐Админ | 🧩Расширения
ВАЖНО: Приобретение функционала для бота доступно только Создателю (хозяину) бота. Админы покупать функционал - НЕ МОГУТ!
Вам понадобится:
1. Переменная - 1 штука☞ 🔐Админ | 🧩Расширения | 📂Переменные
2. Action-ы - 1 штука☞ 🔐Админ | 🧩Расширения | 📂Action-ы
3. Плагин - Условия для Кнопки☞ 🔐Админ | 🧩Расширения | 📂Кнопки
4. Плагин - Макросы и Выражения для Кнопок☞ 🔐Админ | 🧩Расширения | 📂Кнопки
5. Плагин - Бонус в Глобальной Переменной☞ 🔐Админ | 🧩Расширения | 📂Кнопки
6. Представление о том, что такое функция addl()
и bool_symb()
из Руководства по Выражениям.
❖ Создание переключателя
1. Необходимые переменные
1.1 Для начала создадим глобальную переменную, значение которой будет задействовано в Условии.
Переходим в вашем боте:☞ 🔐Админ | 🗄Переменные | 📘Глобальные | ➕Создать Переменную
Название: "access
" - вы можете выбрать своё.
1.2 Поскольку глобальные переменные являются текстовыми, то такой переменной необходимо присвоить начальное значение. Поэтому, не выходя из редактора переменной, присвойте ей значение 0 (ноль).
2. Переключатель
Для наглядности давайте представим, что вы закрываете и открываете доступ к какой-то кнопке меню вашего бота. Условие кнопки проверяет значение созданной нами переменной access
. Если access
равна 0
(ноль) - доступ закрыт, а если 1
(один) - то открыт. Условие на кнопке меню будет выглядеть так: {%access% == 1}
.
2.1 Создаем в меню саму Кнопку-переключатель.
О том, как создать кнопку, читайте в Руководстве по Базовым Функциям.
2.2 Не выходя из "Редактора Кнопок" (если вышли - зайдите снова) нажимаем инлайн кнопку настроек [ * ].
Нажимаем "Назначить Pre-Action":
● Выбираем "Action Чисел"
Переменная для изменения: "access
"
Тип операции: Задать Значение
Значение: {addl(%access%, 1, 2)}
Условие: нет
2.3 Созданной вами Кнопке-переключателю можно добавить сообщение с индикатором состояния:
• Сообщение:
{bool_symb((%access% == 1), "✅ Доступ Открыт", "❌ Доступ Закрыт")}
О том как добавлять сообщение читайте в Руководстве по Базовым Функциям.
Как вы понимаете, при помощи данной механики можно не только открывать доступ к каким-то разделам меню, но и, например, переносить юзера в разные ветки меню в зависимости от состояния переменной. Для этого надо добавить в нужную кнопку два Action-а команд с разными условиями. И, в зависимости от Условия, каждый из этих Action-ов будет переносить пользователя в нужное место - соответствующее его команде, а управлять этим всем админ сможет используя созданную вами Кнопку-переключатель.
❖ Кнопка-переключатель с множеством состояний
Как вы понимаете, у Кнопки-переключателя может быть не только 2 состояния - 1 (один) включено и 0 (ноль) выключено. Количество состояний в ней зависит от "Лимита границы переполнения" указанного в функции addl()
.
Для того, чтобы создать кнопку с тремя состояниями, используйте следующее Выражение в Action-е Чисел:
Значение: {addl(%access%, 1, 3)}
- Состояния переменной: 0, 1, 2.
Для того чтобы создать кнопку с четырьмя состояниями:
Значение: {addl(%access%, 1, 4)}
- Состояния переменной: 0, 1, 2, 3.
И так далее...