Skip to main content

Кнопка-переключатель

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

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

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

Представим, что какой-то элемент меню закрыт при помощи Условия в Глобальной переменной - элемент доступен, если значение переменной равно 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.

И так далее...