Skip to main content

Life-Hack #3: Временный ТОП рефералов

Данный Life-Hack позволит вам создавать временные ТОПы рефералов (топ рефералов за период), а так же сбрасывать значения при необходимости. Количество рефералов можно будет как откорректировать для отдельного юзера, так и очистить все значения для всех юзеров при необходимости.

Life-Hack - предполагает использование имеющегося функционала не очевидными и достаточно хитроумными способами, создавая в своём боте функции не заложенные разработчиками конструктора изначально.

В данном разделе мы публикуем различные варианты и готовые решения того, что может быть создано с использованием возможностей, уже имеющихся в конструкторе @MenuBuilderBot. При создании подобных руководств предполагается, что вы, в той или иной степени, уже знакомы с основными функциями конструктора и базовыми механизмами работы с ним. Если в процессе изучения представленного материала ваших базовых знаний окажется не достаточно, советуем изучить основы прежде чем продолжать.

Общее количество рефералов у пользователя - это объективная цифра. Она не может (да и не должна) быть сброшена или каким-то образом изменена. Она отражает то реальное количество рефералов, которое пригласил отдельный пользователь вашего бота. Однако, существуют случаи (проведение различных конкурсов, соревнований или челленджей с розыгрышем призов), когда есть необходимость учёта количества рефералов за отдельный период. Для таких случаев и создан данный Life-Hack.

❖ Приобретение функционала

Весь функционал приобретается В ВАШЕМ БОТЕ, для этого перейдите в свой бот:
☞ 🔐Админ | 🧩Расширения

ВАЖНО: Приобретение функционала для бота доступно только Создателю (хозяину) бота. Админы покупать функционал - НЕ МОГУТ!

Вам понадобится:

1. Числовая переменная, допустим, ref_top.
☞ 🔐Админ | 🧩Расширения | 📂Переменные

2. Топ по переменной.
☞ 🔐Админ | 🧩Расширения | 📂Переменные

Если у вас уже есть ненужная числовая переменная и/или базовый топ по переменной - можно использовать их.


❖ Создание ТОПа

1. Приобретите "Базовый ТОП по Переменной" как описано выше.

2. Приобретите переменную как описано выше.

3. Перейдите

☞ 🔐Админ | 🗄Переменные | 📙Числовые
3.1 Создайте Переменную и присвойте ей подходящее имя (Например ref_top).
3.2. Переключите настройку "Топ по Переменной" в режим "ВКЛ" (включено).

4. Создаёте служебную кнопку, допустим, “Реф.настройка” для настройки переменной.

5. Устанавливаете ей настройки:

Только админ
Назначить редактор (в редакторе выбрать переменную "ref_top").
Выйдите  из настроек.

6. Заходите в кнопку, появится редактор

В редакторе нажимаете “Реферальный Бонус”
Задаёте там список из одной строки, в которой просто число "1".

61ad29720d230919a3feb.jpg

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

Все, в общем: вся магия состоялась. Теперь в переменной "ref_top" у юзеров будет накапливаться количество рефералов. Учет будет идти с того момента, с которого вы включили эту настройку.

Юзерам можно показывать их достижения через обычный макрос переменной %ref_top%, использовать её в условиях, выражениях, в общем, все как обычно.


❖ Вывод ТОПа

Топ выводится как обычный ТОП по переменной (коим он и является). Особенностью вывода является то, что необходимо добавить:
Префикс: top
Постфикс: 1u, 1v; 2u, 2v; и так далее в зависимости от уровня.

Пример:
Наш ТОП рефералов:
1 ур. %topref_top1u% - %topref_top1v%
2 ур. %topref_top2u% - %topref_top2v%

Чтобы показать время, оставшееся до обновления данных, используйте следующие макросы:
Префикс: top
Постфикс: h - часов
Постфикс: m - для минут

Пример:
Обновление через: %topref_toph% часов %topref_topm% минут

❖ Сброс топа

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


❖ Изменение значения для отдельного юзера

Изменение значения производится так же как и для других переменных - командами:
/varget ref_top user_id
запросить значение переменной

/varset ref_top user_id value
установить значение переменной

/varadd ref_top user_id delta
добавить значение к переменной (чтобы вычесть - используйте отрицательное число).

/vardel ref_top user_id
чистит переменную указанному юзеру.

Если вы использовали другое имя для переменной, а не "ref_top", то в командах используйте его.

user_id - это Telegram ID вашего юзера (можно использовать его UserCode)
value - это значение для установки
delta - значение для изменения


❖ Несколько ТОПов

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


❖ Фокусы для продвинутых

Увеличенное вознаграждение

Число 1, указанное выше, не является единственно возможным. Вы можете играть этой цифрой как хотите. На какое-то время давать повышенное значение, если хотите поощрить приглашающих. Например, “следующие 10 часов за каждого реферала вы будете получить полтора очка” и поставить там 1.5 в качестве реферального вознаграждения.


Многоуровневое вознаграждение

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

Например:
1
0.5
0.1
Будет давать в ТОПе дополнительно 0.5 за реферала второго уровня, 0.1 за третьего и так далее.