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 за третьего и так далее.