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".
Для владельцев многоуровневой рефералки - здесь можно делать более интересные вещи, см. ниже.
Все, в общем: вся магия состоялась. Теперь в переменной "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 за третьего и так далее.