Life-Hack #2: Группы юзеров в боте @MenuBuilderBot
MegaHubTelegram![](/file/b71dab11de5497965e034.png)
Группы юзеров в боте позволят админу управлять доступом к функционалу бота - разрешая и запрещая доступ для разных групп. Позволит создать уровни доступа - когда юзер с высоким уровнем будет иметь доступ не только в свою группу, но и во все нижние группы. Возможно организовать платный доступ и автоматизировать назначение групп.
📜 Перевод представленных материалов на ваш родной язык может быть автоматически осуществлен при помощи переводчика Google. Перейдите по ссылке и выберите нужный язык в заголовке:
https://translate.googleusercontent.com/translate_c?depth=1&sl=ru&tl=es&u=https://telegra.ph/Livehack-2-MenuBuilderBot-02-23
Life-Hack - предполагает использование имеющегося функционала не очевидными и достаточно хитроумными способами, создавая в своём боте функции не заложенные разработчиками конструктора изначально.
В данном разделе мы публикуем различные варианты и готовые решения того, что может быть создано с использованием возможностей, уже имеющихся в конструкторе @MenuBuilderBot.
При создании подобных руководств предполагается, что вы, в той или иной степени, уже знакомы с основными функциями конструктора и базовыми механизмами работы с ним. Если в процессе изучения представленного материала ваших базовых знаний окажется не достаточно, советуем изучить основы прежде чем продолжать.
![](/file/bea970f55eeabdc3457d2.png)
⬛ Чтобы создать группы юзеров в боте вам понадобится:
1. Цифровая переменная (1$).
Вы можете использовать любую не задействованную цифровую переменную, если она уже у вас есть.
2. Условия для кнопки (3$).
Одноразовая покупка на один бот.
3. (Не обязательно) Кнопка «Фикс. Обмен 1» (2$).
Нужна для автоматизации назначения групп.
◾ Приобретение расширений производится в вашем боте. Для этого перейдите:
🔐Админ | 🧩Расширения
![](/file/4504f0c9f4875c6fd387a.png)
⬛ Шаги которые нужно предпринять чтобы привести поведение бота в соответствие с созданными группами пользователей:
1. Приобрести и создать цифровую переменную. Назвать ее например "group".
Вы можете использовать любую незадействованную текстовую переменную если она у вас уже есть.
2. Создайте три кнопки:
2.1 Одна для меню общего доступа, например: "Добро пожаловать всем".
2.2 Одна для групп первого уровня доступа, например: "Группа 1".
2.3 Одна для второго уровня доступа, например: "Группа 2".
![](/file/43003ef7a6295b625d3e2.jpg)
3. Добавьте текстовые сообщения:
3.1 Пройдите в кнопку "Добро пожаловать всем" и добавьте сообщение на подобие: "Доступ сюда разрешён всем".
3.2 Пройдите в кнопку "Группа 1" и добавьте сообщение на подобие: "Это сообщение видно только участникам группы 1".
3.3 Пройдите в кнопку "Группа 2" и добавьте сообщение на подобие: "Это сообщение видно только участникам группы 2".
![](/file/be6658b78559be4e0890f.jpg)
4. Выберите кнопку "Группа 1" и через Реактор Кнопок зайдите в её настройки.
![](/file/566c4948597aa3e51165e.jpg)
5. Нажмите "Назначить условие".
Вы не увидите этой кнопки если вы не приобрели расширение «Условия в Кнопках».
![](/file/bbf4e7fb530313a55d13d.jpg)
6. Добавьте следующее условие:
В данном выражении макрос "%group%" замените макросом с именем вашей переменной, если при её создании указали другое имя.
"1" в выражении должно быть заменено на номер группы для которой создаётся условие.
Если вы хотите чтобы пользователи из второй группы тоже имели доступ к данному меню, используйте следующее выражение:
В этом случае только пользователи из групп 1 и 2 будут иметь доступ к этому меню.
Если использовать следующее выражение:
Все пользователи из групп 1 и выше будут иметь доступ к этому меню.
7. Следующим шагом добавьте сообщение которое вы хотите показать пользователю если у него нету доступа к данному меню.
Например:
"Сожалеем, в доступе отказано. Обратитесь к администратору для изменения уровня доступа до первого."
![](/file/8e47c276e6c734e562d27.jpg)
8. Выйдите из настроек кнопки.
9. Создайте условие для кнопки "Группа 2".
На этом вы закончили настройку поведения бота с учётом наличия групп.
⬛ Как управлять группами пользователей.
1. По умолчанию все ваши пользователи будут принадлежать к группе номер "0" (ноль).
2. Используйте команды переменных чтобы управлять группами пользователей:
2.1. Чтобы узнать группу пользователя отправьте боту команду:
(Замените "userid/usercode" номером Telegram ID пользователя или его Юзер-Кодом).
![](/file/5882bc1d783966a9b72ac.jpg)
Если, пользователю присвоена группа 0 (ноль). При попытке зайти в Группу 1 в доступе ему будет отказано:
![](/file/a92feb3077116d1259817.jpg)
2.2 Чтобы установить группу пользователю используйте команду:
![](/file/a05c2fe11a678f4d651c9.jpg)
Теперь когда пользователю присвоена группа 1 он может получить доступ в кнопку "Группа 1".
![](/file/d7fbef146f08ad6fd6d87.jpg)
Однако вход в "Группу 2" для него по прежнему будет закрыт:
![](/file/44b664382206be674e58b.jpg)
⬛ Как автоматизировать покупку доступа в группы.
1. Приобретите кнопку «Фикс. Обмен 1».
Вы можете использовать не задействованную кнопку если она у вас уже есть.
2. Добавьте кнопку
Например: "Купить доступ в группу 1".
Перейдите в настройки кнопки.
3. Добавьте условие кнопке:
С сообщением об ошибке на подобие этого
"Вы уже приобрели доступ в эту группу".
Это не позволит юзерам по ошибке приобрести функцию дважды.
4. Нажмите кнопку «Задать Фикс. обмен».
Вы не увидите этой кнопки если не приобрели кнопку «Фикс. Обмен».
![](/file/7de4731741929fe2d7a58.jpg)
4.1 Выберите переменную "balance".
(или любую другую на которой хранятся средства юзеров в вашем боте.)
![](/file/c3f34118b8fa8cf9bf16a.jpg)
4.2 Укажите сумму списания (цену) за доступ в группу 1.
Указанная сумма будет списана с баланса юзера при покупке.
![](/file/fe1311981ee52979cde69.jpg)
4.3 Выберите из списка переменную "group".
(или ту которую использовали для хранения данных о группе)
![](/file/8807e83c5a9d63a45f390.jpg)
4.4 Установите значение 1.
![](/file/3c5f3320e826f3080af79.jpg)
4.5 Введите сообщение на случай когда приобретение прошло удачно.
Например:
"Благодарим за приобретение теперь номер вашей группы %group%".
Как видно из примера в сообщении можно использовать макрос переменной "%group%" чтобы показать юзеру новый номер его группы.
![](/file/0dcb0486f8287b2220835.jpg)
4.6 Введите сообщение на случай если покупка не возможна.
Например:
"Покупка не возможна. Необходимо 50$, у вас однако только %balance%$".
Как видно из примера в сообщении можно использовать макрос переменной %balance% чтобы показать юзеру текущее состояние его баланса.
![](/file/e3b05964458732cf31974.jpg)
4.7 Выйдите из настроек кнопки.
Вы закончили с настройкой автоматического приобретения доступа в группу 1.
Если юзер уже имеет в группу 1 - вот что он увидит:
![](/file/bb95f5c128094bdfd01e4.jpg)
Если юзеру присвоена группа 0 (ноль) и недостаточно средств на балансе - вот что он увидит:
![](/file/f88fe5eece86f07491fb6.jpg)
Если у юзера достаточно средств и приобретение прошло успешно:
![](/file/df5b82fb792cfe3f5b4e3.jpg)
Теперь юзеру будет присвоена группа 1 и он получит доступ в соответствующую кнопку вашего бота.
![](/file/3514704776ccf5d80ef69.jpg)
Создание механизма автоматического приобретения юзером доступа в группу 2 происходит аналогичным образом.
![](/file/8a8bda2865e4511ad52ce.png)