Life-Hack #5: Одноразовый Бонус за Подписку
Данный Life-Hack позволит вам создавать одноразовые Бонусы с проверкой подписки (или без) на ваш Канал или Группу с начислением процента реферальному родителю или без него, а так же функционал ограниченного количества бонусов на бот.
Life-Hack - предполагает использование имеющегося функционала не очевидными и достаточно хитроумными способами, создавая в своём боте функции не заложенные разработчиками конструктора изначально.
В данном разделе мы публикуем различные варианты и готовые решения того, что может быть создано с использованием возможностей, уже имеющихся в конструкторе @MenuBuilderBot. При создании подобных руководств предполагается, что вы, в той или иной степени, уже знакомы с основными функциями конструктора и базовыми механизмами работы с ним. Если в процессе изучения представленного материала ваших базовых знаний окажется не достаточно, советуем изучить основы прежде чем продолжать.
❖ Приобретение функционала
Весь функционал приобретается В ВАШЕМ БОТЕ, для этого перейдите в свой бот:☞ 🔐Админ | 🧩Расширения
ВАЖНО: Приобретение функционала для бота доступно только Создателю (хозяину) бота. Админы покупать функционал - НЕ МОГУТ!
❖ Создание одноразового бонуса
Одноразовый бонус и его вариации
Данное руководство позволит вам создать одноразовый бонус для юзера в вашем боте. Такой бонус может использоваться в качестве одноразового поощрения за какое-либо действие, как первоначальный бонус новому пользователю или быть приурочен к какому-либо важному для вашего проекта событию и предоставляться время от времени. Опционально можно добавить начисление процента реферальному родителю и подключить проверку подписки на канал или группу. Проверка подписки позволит вознаграждать пользователя за подписку.
Вам понадобится:
1. Цифровая переменная☞ 🔐Админ | 🧩Расширения | 📂 Переменные
2. Кнопка «Фикс Обмена 1»☞ 🔐Админ | 🧩Расширения | 📂Кнопки
3. Условия для кнопок☞ 🔐Админ | 🧩Расширения | 📂Кнопки
4. (Не обязательно) Бонус Реф. Родителю☞ 🔐Админ | 🧩Расширения | 📂Кнопки
5. (Не обязательно) Функция проверки подписки☞ 🔐Админ | 🧩Расширения | 📂Защита Бота
1. Создаём переменную
Переходим в вашем боте:☞ 🔐Админ | 🗄Переменные | 📙Числовые | ➕ Создать Переменную
Имя переменной "bclaim
" (можете использовать своё).
2. Создаём кнопку бонуса
Нажимаем в вашем боте:🎛Редактор Кнопок | ➕Добавить Кнопку
Имя кнопки "Бонус".
3. Добавляем функцию начисления
Не выходя из Редактора Кнопок (если вышли зайдите снова) нажимаем инлайн кнопку настроек [*].
Нажимаем "Задать Фикс. Обмен"
Переменная для списания: "bclaim
"
Сумма списания: -1 (минус один списания, по факту добавит один в переменную)
Переменная для начисления: "balance
". (можете указать свою)
Сумма начисления: 200 (укажите нужную вам сумму начисления)
Сообщение об Успехе: "Вы получили %balance_v%
на баланс."
Сообщение о Неудаче: не нужно - нажимаем "➖ Задать Пустым"
Об использовании "_v
" в конструкции %balance_v%
читайте в руководстве по Action-у Чисел.
ДОПОЛНИТЕЛЬНО: Если нужен бонус Реферальному Родителю, то его можно добавить в этот момент. Что бы активировать возможность добавлять бонус заранее включите эту функцию, для этого перейдите в вашем боте:☞ 🔐Админ | 🧩Расширения | 📂Кнопки | Бонус Реф. родителю
Бонус указывается в процентах от суммы списания (1) или суммы начисления (2). Убедитесь что на кнопке снизу установлено: (2). Отправьте боту нужное количество процентов от начисления. Сумма будет зачислена на Баланс. если бонус не нужен нажимаем - "✔️ Оставить как Есть".
НЕ выходим из настроек кнопки (если вышли - зайдите снова).
4. Добавляем условие на кнопку
Нажимаем "Назначить Условие".
Условие: {%bclaim% == 0}
Сообщение: "Вы уже забирали этот бонус".
5. Добавляем Функцию проверки подписки
Добавить её можно не выходя из настроек кнопки после создания Условия. если вы вышли из настроек и Редактора Кнопок, то зайдите снова:
🎛 Редактор Кнопок | нажимаем инлайн кнопку настроек [*]
Нажимаем: «Проверка подписки (join)» и переключаем её в положение (▶️ Вкл
). Текущее состояние настройки указано на кнопке.
❖ Создание ограниченного бонуса
Ограниченное количество бонусов на бот
Данный принцип можно использовать если вам нужно раздать ограниченное количество бонусов в вашем боте - тем людям кто первым успел нажать на кнопку.
Вам понадобится:
1. Две переменные (цифровая и глобальная)☞ 🔐Админ | 🧩Расширения | 📂 Переменные
2. Action-ы - 5-6 штук☞ 🔐Админ | 🧩Расширения | 📂Action-ы
3. Условия для кнопок☞ 🔐Админ | 🧩Расширения | 📂Кнопки
4. Макросы и Выражения Кнопок☞ 🔐Админ | 🧩Расширения | 📂Кнопки
5. Бонус в Глобальной Переменной☞ 🔐Админ | 🧩Расширения | 📂Кнопки
6. (Опционально) Функция проверки подписки☞ 🔐Админ | 🧩Расширения | 📂Защита Бота
1. Создаём переменные
Переходим в вашем боте:☞ 🔐Админ | 🗄Переменные | 📙Числовые | ➕ Создать Переменную
Имя переменной "bclaim
".☞ 🔐Админ | 🗄Переменные | 📘Глобальные | ➕ Создать Переменную
Имя переменной "btotal
".
2. Создаём кнопку бонуса
Нажимаем в вашем боте:🎛 Редактор Кнопок | ➕ Добавить Кнопку
Имя кнопки "Бонус".
3. Добавляем функцию начисления
Не выходя из Редактора Кнопок (если вышли зайдите снова) нажимаем инлайн кнопку настроек [*].
Нажимаем "Назначить Action"
● Выбираем "Action Условий" (проверяем что бонусы ещё доступны)
Условие: {%btotal% > 0}
Сообщение о Неудаче: "Количество бонусов исчерпано".
Нажимаем "Кнопка НЕ ПОКАЗЫВАТЬ содержимое"
● Выбираем "Action Чисел" (ставим Флаг о получении бонуса - если его нет)
Переменная для изменения: "bclaim
"
Тип операции: Задать Значение
Значение: 1 (один)
Условие: нет
Сообщение о Неудаче: нет
Сообщение об Успехе: нет
Чтобы сбросить для всех юзеров Флаг получения бонуса и начать новый цикл можно использовать команду:/varclearall bclaim
О том как использовать команды смотри в руководстве по командам.
● Выбираем "Action Чисел" (списываем 1 бонус с общего счётчика)
Переменная для изменения: "btotal
"
Тип операции: Изменить Значение
Значение: -1 (один)
Условие:
Сообщение о Неудаче: нет
Сообщение об Успехе: нет
● Выбираем "Action Чисел" (добавляем бонус на Баланс)
Переменная для изменения: "balance
"
Тип операции: Изменить Значение
Значение: 200 (укажите нужную вам сумму начисления)
Условие: нет
Сообщение о Неудаче: нет
Сообщение об Успехе: "Вы получили %balance_v%
на баланс."
Об использовании "_v
" в конструкции %balance_v%
читайте в руководстве по Action-у Чисел.
ДОПОЛНИТЕЛЬНО: Если нужен бонус Реферальному Родителю, то его можно добавить в этот момент. Если начисление реферальному родителю не требуется - пропустите добавление следующего Action-а.
● Выбираем "Action Реферала" (опционально)
Переменная для изменения: "balance
"
Значение: 200 (укажите нужную вам сумму начисления или ту что использовали для бонуса)
Процент от бонуса: 10 (укажите нужный вам процент от бонуса)
Условие: не нужно - жмём "➖ Задать Пустым"
Сообщение о Неудаче: не нужно - жмём "➖ Задать Пустым"
Данный Action позволяет начислять бонус на любую переменную, это не обязательно должен быть balance
.
НЕ выходим из настроек кнопки (если вышли - зайдите снова).
4. Добавляем условие на кнопку
Нажимаем "Назначить Условие".
Условие: {%bclaim% == 0}
Сообщение: "Вы уже забирали этот бонус".
5. Добавляем Функцию проверки подписки (опционально)
Добавить её можно не выходя из настроек кнопки после создания Условия. если вы вышли из настроек и Редактора Кнопок, то зайдите снова:
🎛 Редактор Кнопок | нажимаем инлайн кнопку настроек [*]
Нажимаем: «Проверка подписки (join)» и переключаем её в положение (▶️ Вкл
). Текущее состояние настройки указано на кнопке.
6. Устанавливаем количество бонусов для раздачи
Для этого можно использовать команду /varset
.
Например:/varset btotal 50
Это позволит раздать 50 бонусов в вашем боте (установите нужное число).
БОНУС ПО ОБЩЕЙ СУММЕ: Если вам нужно раздать бонусы не по КОЛИЧЕСТВУ, а по ОБЩЕЙ СУММЕ БЮДЖЕТА, то в переменной btotal
нужно хранить общую сумму для раздачи, при получении бонуса списывать оттуда заданную вами сумму единичного бонуса, а в Action-не Условии проверять достаточно ли средств в переменной btotal
по сравнению с размером каждого единичного бонуса.
❖ Создание ежедневного ограниченного бонуса
Ежедневное ограниченное количество бонусов на бот
Данный принцип можно использовать если вам нужно раздать ограниченное количество бонусов в вашем боте и заданное вами количество должно обновляться каждый день - бонусы получат те люди кто первым успел нажать на кнопку.
Вам понадобится:
1. Три переменные (2 глобальные и 1 даты)☞ 🔐Админ | 🧩Расширения | 📂 Переменные
2. Action-ы - 6-7 штук☞ 🔐Админ | 🧩Расширения | 📂Action-ы
3. Условия для кнопок☞ 🔐Админ | 🧩Расширения | 📂Кнопки
4. Макросы и Выражения Кнопок☞ 🔐Админ | 🧩Расширения | 📂Кнопки
5. Бонус в Глобальной Переменной☞ 🔐Админ | 🧩Расширения | 📂Кнопки
6. (Опционально) Функция проверки подписки☞ 🔐Админ | 🧩Расширения | 📂Защита Бота
1. Создаём переменные
Переходим в вашем боте:☞ 🔐Админ | 🗄Переменные | 📘Глобальные | ➕ Создать Переменную
Имя переменной "btotal
".☞ 🔐Админ | 🗄Переменные | 📘Глобальные | ➕ Создать Переменную
Имя переменной "bnext
".☞ 🔐Админ | 🗄Переменные | 📕Время | ➕ Создать Переменную
Имя переменной "bclaimnext
".
2. Создаём кнопку бонуса
Нажимаем в вашем боте:🎛 Редактор Кнопок | ➕ Добавить Кнопку
Имя кнопки "Бонус".
3. Добавляем функцию начисления
Не выходя из Редактора Кнопок (если вышли зайдите снова) нажимаем инлайн кнопку настроек [*].
Нажимаем "Назначить Action"
● Выбираем "Action Чисел" (если время пришло - обновляем количество ежедневных бонусов)
Переменная для изменения: "btotal
"
Тип операции: Задать Значение
Значение: 50 (задайте своё значение или случайное - см. ниже)
Условие: {dt_left("%bnext%", "s") < 1}
Сообщение о Неудаче: нет
Сообщение об Успехе: нет
Количество бонусов "на день" можно вынести в отдельную переменную для удобства изменения, а так же задавать случайным образом - выражением типа {randi(50, 80)}
.
● Выбираем "Action Чисел" (если время пришло - задаём начало следующего цикла раздачи бонусов)
Переменная для изменения: "bnext
"
Тип операции: Задать Значение
Значение: {dt_add("%bnext%", 24)}
(добавит 24 часа ко времени начала этого цикла - см. ниже другие варианты)
Условие: {dt_left("%bnext%", "s") < 1}
Сообщение о Неудаче: нет
Сообщение об Успехе: нет
В примере выше, время начала следующего цикла раздачи бонусов отсчитывается от момента первого нажатия кнопки в текущем цикле. Сделано это для того чтобы время начала было более случайным. Если время начала получения бонусов будет всегда одинаковым (например 12 часов ночи) то есть вероятность что все бонусы будут получены в течение (условно) первого часа и всё остальное время дня будет практически бесполезно. Ниже мы приведём примеры для разных вариантов установки времени, а вы сами выбирайте тот который нужен именно вам.
ВАРИАНТЫ УКАЗАНИЯ ВРЕМЕНИ СЛЕДУЮЩЕГО ЦИКЛА{dt_add("%bnext%", 24)}
- время на 24 часа больше чем время в переменной (начало текущего цикла) - СВОЕОБРАЗНЫЙ СПОСОБ - юзеры смогут сразу получать бонусы за все дни которые будут пропущены.{dt_add("%bnext%", randi(0, 3))}
- время на 24-27 часов больше чем время в переменной (начало текущего цикла) - СВОЕОБРАЗНЫЙ СПОСОБ - юзеры смогут сразу получать бонусы за все дни которые будут пропущены.{dt_add(dt_now(), 24)}
- время на 24 часа больше чем время "сейчас" (первое нажатие кнопки бонуса в этом цикле){dt_add(dt_now(), randi(0, 3))}
- время на 24-27 часов больше чем время "сейчас" (первое нажатие кнопки бонуса в этом цикле){dt_nextday(dt_now())}
- время 00:00 следующего дня{dt_add(dt_nextday(dt_now()), 7)}
- время 07:00 следующего дня (плюс 7 часов){dt_add(dt_nextday(dt_now()), randi(5, 9))}
- время от 05:00 до 09:00 следующего дня (плюс случайное количество часов, в заданном диапазоне, следующего дня).
● Выбираем "Action Условий"
Условие: {%btotal% > 0}
Сообщение о Неудаче: "Количество бонусов исчерпано".
Нажимаем "Кнопка НЕ ПОКАЗЫВАТЬ содержимое"
● Выбираем "Action Чисел" (списываем 1 бонус с общего счётчика)
Переменная для изменения: "btotal
"
Тип операции: Изменить Значение
Значение: -1 (один)
Условие: нет (проверено выше Action-ом Условий)
Сообщение о Неудаче: нет
Сообщение об Успехе: нет
● Выбираем "Action Чисел" (обновляем время получения следующего бонуса для юзера)
Переменная для изменения: "bclaimnext
"
Тип операции: Задать Значение
Значение: %bnext%
Условие: нет (нужно условие добавлено на саму кнопку)
Сообщение о Неудаче: нет
Сообщение об Успехе: нет
● Выбираем "Action Чисел" (добавляем бонус на Баланс)
Переменная для изменения: "balance
"
Тип операции: Изменить Значение
Значение: 200 (укажите нужную вам сумму начисления)
Условие: не нужно "➖ Задать Пустым"
Сообщение о Неудаче: не нужно - жмём "➖ Задать Пустым"
Сообщение об Успехе: "Вы получили %balance_v%
на баланс."
Об использовании "_v
" в конструкции %balance_v%
читайте в руководстве по Action-у Чисел.
ДОПОЛНИТЕЛЬНО: Если нужен бонус Реферальному Родителю, то его можно добавить в этот момент. Если начисление реферальному родителю не требуется - пропустите добавление следующего Action-а.
● Выбираем "Action Реферала" (опционально)
Переменная для изменения: "balance
"
Значение: %balance_v%
(укажите макрос суммы начисления, нужную вам сумму или ту что использовали для бонуса)
Процент от бонуса: 10 (укажите нужный вам процент от бонуса)
Условие: {%balance_v% > 0}
Сообщение о Неудаче: нет
Данный Action позволяет начислять бонус на любую переменную, это не обязательно должен быть balance
.
НЕ выходим из настроек кнопки (если вышли - зайдите снова).
4. Добавляем условие на кнопку
Нажимаем "Назначить Условие".
Условие: {dt_left(%bclaimnext%, "s") < 1}
Сообщение: "Вы уже забирали этот бонус".
5. Добавляем Функцию проверки подписки (опционально)
Добавить её можно не выходя из настроек кнопки после создания Условия. если вы вышли из настроек и Редактора Кнопок, то зайдите снова:
🎛 Редактор Кнопок | нажимаем инлайн кнопку настроек [*]
Нажимаем: «Проверка подписки (join)» и переключаем её в положение (▶️ Вкл
). Текущее состояние настройки указано на кнопке.